【发布时间】:2016-07-12 18:44:41
【问题描述】:
当我注销用户时,我通过调用 session.invalidate() 来使他的会话无效并将自己重定向回登录页面。
我的应用程序中除了登录页面之外的每个页面都是一个 JSP 页面。我在每个 JSP 页面中检查的是请求的会话是否存在以及请求的会话 ID 是否有效。
注销用户并调用 session.invalidate() 后,如果我尝试直接打开我的主页的 url,它仍然返回 request.isRequestedSessionIdValid() 为 true。此外,调用 session.invalidate() 不会使会话为空。
以下是我的代码:
注销.java
session.inValidate();
在我的 home.jsp 中。我正在明确检查请求的会话是否有效。 以下是代码:
HttpSession session=request.getSession();
boolean a=request.isRequestedSessionValid()
if(session==null || a==false){
...
...
}
问题是 session 不返回 null 并且 a 仍然是 true,即使在注销用户之后(使 session 无效)。
感谢任何帮助!
【问题讨论】:
-
欢迎来到 SO。如果没有相应的代码,我们将无法为您提供帮助。另外,请看:stackoverflow.com/help/how-to-ask
标签: session servlets invalidation