[英]How to prevent session attributes from persisting on the server?
我是Java Web开发的新手。 我已经创建了一个部署在Tomcat 7
上的servlet/jsp
Web应用程序。 身份验证后,用户将浏览具有自己形式的几个页面。 输入被存储为会话属性,并在注销前显示在确认中。
对于注销,我使用了session.invalidate() and sendRedirect("Logout.jsp")
。
如果再次运行该应用程序,它将返回我的新输入,但也会复制所有旧的会话输入。
我禁用了会话持久性,并将上下文上下文设置为cachingAllowed="false"
。
似乎所有会话属性都存储在服务器内存中。 是服务器配置引起的此问题吗?
确保您使用request.getSession(boolean b)方法,而不是request.getSession()
登录用户应该可以访问的所有页面都应该调用request.getSession(false)
如果对该方法的调用未返回任何会话,则应将用户重定向到登录名。
确保您的信息存储在会话中,如下所示:
HttpSession session = request.getSession();
session.setAttribute("info", info);
当您想要删除它时,您应该这样做:
HttpSession session = request.getSession();
session.removeAttribute("info");
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.