2014-10-16 18 views

回答

1

您必須顯式設置響應頭,並讓瀏覽器知道不要緩存這些頁面。

設置響應頭下面的這不應該後退按鈕:

response.setHeader("Cache-Control","no-cache,no-store,must-revalidate"); 
response.setHeader("Pragma","no-cache"); 
response.setDateHeader("Expires", 0); 

甚至更​​好的辦法的點擊顯示所有JSP頁面將設置noCacheFilter通過設置防止jsp頁面的緩存篩選* .jsp文件象下面這樣:

@Override 
public void doFilter(HttpServletRequest request, HttpServletResponse response, FilterChain chain) throws IOException, ServletException { 
    response.setHeader("Cache-Control", "no-cache, no-store, must-revalidate"); 
    response.setHeader("Pragma", "no-cache"); 
    response.setDateHeader("Expiresponse", 0); 
    chain.doFilter(request, response); 
} 

,並添加該過濾器映射*.jsp文件裏

<filter> 
    <filter-name>noCacheFilter</filter-name> 
    <filter-class>com.abcd.NoCacheFilter</filter-class> //Filter class path 
</filter> 
<filter-mapping> 
    <filter-name>noCacheFilter</filter-name> 
    <url-pattern>*.jsp</url-pattern> 
</filter-mapping> 
+0

然後當我點擊後退按鈕時會發生什麼?並且你在說我必須包含這個不想緩存的每個jsp。但是當我們登錄時,我們想瀏覽很多其他頁面,並且我已經在很多頁面上註銷。我只想在登出時我不想讓前一頁的訪問insted想要顯示messege「再次登錄」 – Raghu 2014-10-16 10:40:43

+0

通過添加上面的響應標題,您將不會面臨後退按鈕頁面加載和重定向到問題再次登錄頁面,你必須在你的登錄過濾器或任何你用來驗證用戶身份的東西中進行管理。 – 2014-10-16 10:45:26

+0

謝謝你。 。它似乎爲我工作,請告訴我如何爲所有jsp映射過濾器。 – Raghu 2014-10-16 11:04:39

相關問題