2013-10-13 39 views
3

为了防止用户去注销后回来后,我用下面的代码home.jsp注销不回去前一页在JSP

<% 
if (session.getAttribute("authe") != null && session.getAttribute("authe").equals(true)) { 

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

,我在logout.jsp无效的会话。

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

如何使其有效工作?

+0

你已经排除了缓存? – Brandon

回答

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); 
%> 
+0

是的,它的工作知道谢谢 – manchu

+0

这不适合我,但@Deepak辛格答案的作品。 – Harsha

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); 
} 
%> 
+0

这适合我!谢谢! – Harsha