我有一个包含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);
}
}
我已经调试了我的项目,我发现在最后一行之后会话不为空。
答案 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的”); }