在浏览器关闭后维护相同的会话并在struts2中重新打开

时间:2013-09-13 10:35:36

标签: java struts2

我在struts2中创建了一个应用程序。

在此我面临会话管理中的一个挑战。

我需要什么:

如果用户第一次在IE浏览器中打开登录页面,那么我想显示用户将输入用户名和密码的login.jsp页面。成功提供登录凭据后,我就是 使用session.setAttribute("data","Hello");

在会话范围中存储一个属性,例如数据

这里我使用的是tomcat持久性JDBC基础存储。我能够将会话ID及其数据存储在数据库中。

场景: 由于某些网络问题或服务器问题,我们强行重启服务器。这时可能是客户端可以关闭浏览器在他们这边思考我已经是这样了 登录,所以我离开了一个页面,从那开始我的会话将开始,因为会话在使用tomcat持久性管理器的数据库中持久存在。

问题: 如果我重新启动服务器但不关闭浏览器,我将获得与数据相同的会话。如果我在服务器重启后关闭浏览器,我将无法继续使用现有的浏览器 会话。我的数据库仍然有以前的会话数据,当我试图在控制台上显示时,我获得了以前的会话ID,但无法跳过登录页面进程。

请帮助我!

感谢。

1 个答案:

答案 0 :(得分:3)

要解决您的问题,您必须使用持久性Cookie。持久性cookie即使在用户关闭浏览器后也会存储。以下链接应该有用:Using cookies with Struts 2 and Struts