在JSP中结束会话

时间:2014-12-11 13:22:24

标签: jsp

我有一个带有会话的特定应用程序的JSP登录页面。当我退出时,我想将其重定向到我的登录页面并结束我的会话。因此,当使用该应用程序的人按下后退按钮时,我的早期交易都没有被看到。我不想通过后退按钮禁用。 我是JSP的新手。有人可以帮我这个吗?

2 个答案:

答案 0 :(得分:0)

我假设您已经在验证受保护网页中是否存在某个会话变量。因此,基本上要将用户注销,只需要使会话无效并执行服务器端重定向:

session.invalidate();
response.sendRedirect("loginform_url");
return;

但您还需要在受保护的页面上设置缓存控制标头,以防止浏览器缓存受保护的页面。否则,用户可以再次访问这些页面,并查看缓存版本,尽管已注销。

response.setHeader("Cache-Control", "must-revalidate, post-check=0, pre-check=0");
response.setHeader("Pragma","no-cache");
response.setDateHeader("Expires", 0);

答案 1 :(得分:0)

这是我的演示注销页面的外观:

<h2> You have logged out. </h2>
<h2>To login again</h2> <a href="Login.jsp"><b>Login</b></a>
<%if(session!=null) { 
session.invalidate();   
session.removeAttribute("user");
} %>

但这似乎没有帮助!