[英]How many sessions can be managed by an Java Application in Struts 2?
我正在使用事务管理应用程序,并且正在使用Struts2。 我在内部使用了一个会话来设置和获取诸如
ActionContext.getContext().getSession().put("string", string);
在应用程序中使用这样的会话是否有任何限制或缺点?
没有限制 Struts 2中的会话被实现为Map
以简化对Servlet会话属性的访问。
我写了这个答案:
如果您想访问Servlet会话属性,则
SessionMap
是专门为此目的而设计的。 因此,用户能够在会话中保留对象的同步集合,并直接使用它代替HttpSession
。
我只知道一个缺点,如果您从操作上下文获取会话,则它可能会返回null
。 解决的办法就是这个答案。
有两种方法可获取操作的会话映射:
- 实现
SessionAware
。 默认情况下,在操作调用中填充会话映射。 这是一种更好的方法。- 从操作上下文获取会话映射。 这样,您应该确保请求由Struts2过滤器处理。
如docs页面中所述, 首选第一种方法,它允许您在测试中使用会话。
它是您系统内部/物理内存的大小。 该会话是在war文件中创建一个单例类.war文件存储在您的服务器中。 服务器位于Windows的C:文件夹中。 因此,会话取决于您的物理内存。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.