我在struts2中创建了一个应用程序。
在此我面临会话管理中的一个挑战。
我需要什么:
如果用户第一次在IE浏览器中打开登录页面,那么我想显示用户将输入用户名和密码的login.jsp
页面。成功提供登录凭据后,我就是
使用session.setAttribute("data","Hello");
这里我使用的是tomcat持久性JDBC基础存储。我能够将会话ID及其数据存储在数据库中。
场景: 由于某些网络问题或服务器问题,我们强行重启服务器。这时可能是客户端可以关闭浏览器在他们这边思考我已经是这样了 登录,所以我离开了一个页面,从那开始我的会话将开始,因为会话在使用tomcat持久性管理器的数据库中持久存在。
问题: 如果我重新启动服务器但不关闭浏览器,我将获得与数据相同的会话。如果我在服务器重启后关闭浏览器,我将无法继续使用现有的浏览器 会话。我的数据库仍然有以前的会话数据,当我试图在控制台上显示时,我获得了以前的会话ID,但无法跳过登录页面进程。
请帮助我!
感谢。
答案 0 :(得分:3)
要解决您的问题,您必须使用持久性Cookie。持久性cookie即使在用户关闭浏览器后也会存储。以下链接应该有用:Using cookies with Struts 2 and Struts