我有一个带有会话的特定应用程序的JSP登录页面。当我退出时,我想将其重定向到我的登录页面并结束我的会话。因此,当使用该应用程序的人按下后退按钮时,我的早期交易都没有被看到。我不想通过后退按钮禁用。 我是JSP的新手。有人可以帮我这个吗?
答案 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");
} %>
但这似乎没有帮助!