request.getSession(false).invalidate在注销后无法正常工作

时间:2013-06-20 11:31:45

标签: java jsp tomcat servlets

我有一个包含tomcat,java,jsp,servlets的webproject。 如果我在我的webproject前端注销,我想销毁所有会话。但是下面的代码没有用。我希望所有会话都被销毁,如果我退出,我必须在下一步用我的用户和passwort进行身份验证。谢谢您的帮助。

if(lstrAction!=null && lstrAction.equals(ApplicationConstants.LOGOUT)){

            HttpSession session = request.getSession(false);
            if(session != null){
                session.invalidate();
                session = request.getSession(false);
            }

        }

我已经调试了我的项目,我发现在最后一行之后会话不为空。

2 个答案:

答案 0 :(得分:0)

session.invalidate();
session = request.getSession(false);

在会话无效后,您将重新分配会话。在这一点上它不会为空。您需要执行空检查以查找会话是否为空。

答案 1 :(得分:-1)

试试这段代码。它肯定适合你。

Cookie c [] = request.getCookies(); if(c == null){response.sendRedirect(“index.jsp”); } else {session.removeAttribute(c [0] .getValue()); response.sendRedirect是( “index.jsp的”); }