【问题标题】:Understanding wicket web application session了解检票口 Web 应用程序会话
【发布时间】:2013-09-26 02:35:42
【问题描述】:

我正在尝试了解 wicket 应用程序的工作原理,我对 Web 应用程序设计和 Wicket 比较陌生。

当 wicket 部署到服务器并启动时,服务器会为每个用户提供一个会话。那么服务器会话和检票口的会话有什么区别呢?那么每个访问 Web 应用程序的用户是否所有用户都共享存储在 Web 应用程序中的相同数据,直到您使用 wicket 的会话?所以我的意思是假设我有一个用 6 个字符串硬编码的列表,用户 A 转到应用程序的 URL 并查看这六个字符串并决定将一个字符串添加到列表中,所以现在有 7 个字符串。用户 B 转到应用程序 URL,他会看到 7 个字符串还是 6 个字符串?

什么时候有理由使用检票口的会话?

谢谢!

【问题讨论】:

    标签: session wicket


    【解决方案1】:

    来自 Apache 网站的引述:

    在 Wicket 中,所有服务器端状态都是自动管理的。 你永远不会 直接使用 HttpSession 对象或类似的包装器来存储状态。 相反,状态与组件相关联。每个服务器端页面 组件包含有状态组件的嵌套层次结构,其中每个 组件的模型最终是一个 POJO(Plain Old Java Object)。 Wicket 在每个用户的会话中维护这些页面的地图。一 此页面映射(以及每个页面上的组件层次结构)的目的是 允许框架隐藏您的组件和 模型被访问。您处理简单、熟悉的 Java 对象和 Wicket 处理诸如 URL、会话 ID 和 GET/POST 请求之类的事情。

    总而言之,Wicket 对象和 Wicket 会话将它们的数据存储在一个专门的数据结构中,该数据结构使用常规会话来序列化自己。 Wicket 使用会话的方式抽象了旧方法,以便从服务器端有状态的 UI 对象以及持久数据中受益。

    编辑:将两者混合或编写您自己的抽象代码将等同于发明 Wicket 已经重新发明的轮子。

    【讨论】:

    • 感谢您更了解它!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-23
    • 1970-01-01
    • 1970-01-01
    • 2013-05-31
    相关资源
    最近更新 更多