如何在JSP中创建注销页面?

时间:2015-01-11 04:06:00

标签: jsp

我有一个注销页面,上面写着这些代码。

HttpSession session = request.getSession(false);
  if(session != null)
  session.invalidate();
  request.getRequestDispatcher("/index.jsp").forward(request,response);

然而,在单击注销按钮并重定向到index.jsp之后,我仍然可以使用浏览器的后退按钮访问以前访问过的链接。我该如何解决这个问题?在我退出之后,我将永远被重定向到index.jsp(我的登录页面),除非我再次登录?帮助

2 个答案:

答案 0 :(得分:0)

    HttpSession session = request.getSession();
    if(session != null)
    {
        session.setAttribute("loginBean", null);
        session.invalidate();
    }
    response.sendRedirect("index.jsp");

答案 1 :(得分:-1)

点击浏览器按钮,页面将从缓存中提供,您可以在浏览器的“网络”标签中查看(F12 in chrome)。

在服务器端,你应该做以下事情。

1.您可以在公共点检查会话(假设它是filter或任何servlet controller(除了登录请求))。如果会话可用,则允许继续,如果没有,则将用户重定向到登录页面。

2.注销,正如您所做的那样session.invalidate()

3.我也建议在注销时将以下标题添加到HttpServletResponse对象。

    Cache-Control,Pragma,No Cache,Expire

    response.setHeader("Cache-Control", "no-cache, no-store, must-revalidate");
    response.setHeader("Pragma", "no-cache");
    response.setDateHeader("Expires", 0);