注销后不要回到jsp中的上一页

时间:2013-10-13 16:50:03

标签: javascript jsp

为防止用户在退出后返回,我在home.jsp

中使用了以下代码
<% 
if (session.getAttribute("authe") != null && session.getAttribute("authe").equals(true)) {

}
else {  
    response.sendRedirect("login.jsp");
}
%>

我在logout.jsp中使会话无效。

它工作正常但是当我在注销后按下后退按钮时它仍然转到主页但是在重新加载该主页后它会移动到登录页面。 我认为这是由于浏览器的默认操作。

如何使其有效运作?

2 个答案:

答案 0 :(得分:6)

home.jsp将标头设为no-cache

<%
   response.addHeader("Cache-Control", "no-cache,no-store,private,must-revalidate,max-stale=0,post-check=0,pre-check=0"); 
   response.addHeader("Pragma", "no-cache"); 
   response.addDateHeader ("Expires", 0);
 %>

答案 1 :(得分:2)

您可以使用:

<%
try {
    response.setHeader("Cache-Control","no-cache");
    response.setHeader("Cache-Control","no-store");
    response.setHeader("Pragma","no-cache");
    response.setDateHeader ("Expires", 0);
    if (session.getAttribute("userid")==null) {
        response.sendRediredirect("login.jsp");
    }
    else {}
}
catch(Exception ex) {
    out.println(ex);
}
%>