2013-10-13 24 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