Http会话管理/备用会话管理(Java)

时间:2010-08-24 10:20:21

标签: java spring servlets session-management tomcat7

我会尽可能地尝试解释我正在做的事情,以获得最佳可能的建议/解决方案。这都是在java中完成的。

我的客户端有一个基于SWING的桌面应用程序,将使用WebStart加载。我被分配为用户帐户信息创建会话管理器。

我的朋友建议宁愿使用Http Session Management,所以我决定尝试一下。我编写了一个servlet(让我们称之为SessionServlet),它根据用户配置文件创建,删除和重新分配会话。在tomcat 7中,不存储会话。我怀疑当servlet初始化时,会话被清空。我只在会话中获得org.apache.catalina.ASYNC_SUPPORTED

我的问题是:

  • 如何允许Tomcat 7进行会话管理?
  • 如何在Spring 3中进行会话管理?我在Spring上运行了大多数服务,我认为在Spring上进行会话管理是明智的。
  • 在java中使用会话管理还有什么其他方法,会话管理有设计模式吗? (只是好奇)。

万分感谢!

2 个答案:

答案 0 :(得分:2)

我可能误解了您尝试对会话执行的操作,但会话(就servlet而言)仅在用户访问网站时存在。因此,用户获得第一页并设置会话,并且可供用户访问的每个页面使用。当用户离开站点时,会话消失。这是您正在寻找的行为,还是您正在寻找在访问该网站之间会持续存在的行为?

答案 1 :(得分:2)

我已经想到了这一点,所以我会分享我的意见。

在进行Http会话管理(特别是使用Servlet)时,必须确保客户端会话管理也存在。

当创建会话时,servlet返回一个由servlet容器创建的Session JSESSIONID值的cookie。确保客户端能够存储会话,并在每次需要从服务器访问会话数据时使用它。

我没有存储我身边的cookie,所以似乎从未创建会话。

希望这有助于其他人。