我是 Java 网络开发的新手。我创建了一个部署在 Tomcat 7
上的 servlet/jsp
Web 应用程序。身份验证后,用户会浏览几个具有自己表单的页面。输入存储为 session 属性,并在注销前显示在确认信息中。
对于注销,我使用了 session.invalidate() 和 sendRedirect("Logout.jsp")
。
如果我再次运行该应用程序,它将返回我的新输入,但它也会复制所有旧 session 输入。
我已禁用 session 持久性并将上下文设置为 cachingAllowed="false"
。
似乎所有的 session 属性都存储在服务器内存中。这个问题是由服务器配置引起的吗?
最佳答案
确保你使用的是 request.getSession(boolean b) 方法而不是 request.getSession()
登录用户应该可以访问的所有页面都应该调用 request.getSession(false)
如果调用此方法未返回任何 session ,则应将用户重定向到登录。
关于java - 如何防止 session 属性在服务器上持久化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31739094/