我正在努力了解wicket的应用程序是如何工作的,我是Web应用程序设计和Wicket的新手。
当wicket部署到服务器并启动时,会从服务器向每个用户提供会话。那么服务器会话和wicket会话之间有什么区别?因此,访问Web应用程序的每个用户都会共享存储在Web应用程序中的相同数据,直到您使用wicket的会话为止?所以我的意思是说我有一个用6个字符串硬编码的列表,用户A转到应用程序的URL并查看这六个字符串并决定在列表中添加一个字符串,所以现在有7个字符串。用户B转到应用程序URL,他会看到7个字符串或6个字符串吗?
何时使用wicket会话的原因?
谢谢!
答案 0 :(得分:6)
引用Apache网站:
在Wicket中,自动管理所有服务器端状态。 你永远不会 直接使用HttpSession对象或类似的包装器来存储状态。 相反,state与组件相关联。每个服务器端页面 component包含有状态组件的嵌套层次结构,其中每个组件都有 最后,组件的模型是POJO(Plain Old Java Object)。 Wicket在每个用户的会话中维护这些页面的地图。一 此页面映射的目的(以及每个页面上的组件层次结构)是 允许框架隐藏组件和方式的所有细节 模型被访问。你处理简单,熟悉的Java对象和 Wicket处理诸如URL,会话ID和GET / POST请求之类的事情。
总而言之,Wicket对象和Wicket会话将其数据存储在一个专门的数据结构中,该结构使用常规会话来自行序列化。 Wicket使用会话的方式抽象旧方法,从服务器端有状态UI对象以及持久数据中受益。
编辑:将两者混合或编码自己的抽象与发明Wicket已经重新发明的轮子相同。