2

我会尽力解释我在做什么,以获得最好的建议/解决方案。这都是在java中完成的。

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

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

我的问题是/是:

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

太感谢了!

4

2 回答 2

2

我已经弄清楚了,所以我会分享我的意见。

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

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

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

希望这对其他人有帮助。

于 2010-08-28T22:26:49.083 回答
2

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

于 2010-08-24T10:30:14.603 回答