簡體   English   中英

清理瀏覽器緩存

[英]Clean up Browser Cache

我正在編寫Java App。 並得到一個錯誤,因為瀏覽器未連接到服務器以獲取新值,只需從緩存進行渲染...

<% if(request.getAttribute("msg")!=null)
    out.println("alert("+request.getAttribute("msg")+")");
%>

它工作正常,但是當我單擊鏈接,然后從瀏覽器中單擊“后退”按鈕時,它不調用服務器...我嘗試了類似的操作: response.setHeader("Pragma", "No-Cache"); 在Java上使用<meta http-equiv="expires" content="no-cache">在html上,但是沒有任何效果使其有效……有人有建議嗎?

確保將瀏覽器設置為每次訪問網站時都請求新頁面。 您可能還希望添加一個額外的參數來像時間戳一樣請求,以便它始終看起來像是對服務器的新請求。

您確實需要通過設置適當的響應頭來指示Web瀏覽器不要緩存響應。 正確的響應頭集合是:

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

您希望在Filter類中執行此操作,該類映射到感興趣的url-pattern ,例如*.jsp而不是在所有JSP頁面上復制粘貼。

也可以看看:

PS:不要忘了在測試之前清除瀏覽器緩存,舊頁面可能仍在其中;)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM