1. 程式人生 > >Filter禁用瀏覽器快取

Filter禁用瀏覽器快取

什麼是瀏覽器快取?
瀏覽器在使用者磁碟上對最近請求過的文件進行儲存,當訪問者再次請求這個頁面時,瀏覽器就可以從本地磁碟顯示文件,這就是瀏覽器快取。
為什麼使用瀏覽器快取?
對於瀏覽器快取,相信大家都不會陌生,因為我們經常使用它,但是我們為什麼使用瀏覽器快取呢?作為使用者,使用快取可以使我們更快的開啟一個已經訪問過的頁面。作為web站點的管理者,瀏覽器快取可以在一定程度上減少伺服器開銷,同時避免相同內容的重複傳輸帶來的頻寬浪費。
瀏覽器快取是如何產生的?
瀏覽器請求某個URL,服務端會根據請求返回相應內容,此時瀏覽器會把這些內容儲存起來,這樣就產生了瀏覽器快取。瀏覽器快取的產生同時依賴於瀏覽器和web伺服器,它們之間必然存在溝通,這種溝通機制我們稱之為“快取協商”。
Filter禁用快取:

21 @Override
22 public void doFilter(ServletRequest request, ServletResponse response,
23 FilterChain chain) throws IOException, ServletException {
24 // 在response的頭部設定Cache-Control、Pragma和Expires即可取消快取
25 HttpServletResponse resp = (HttpServletResponse)response;
26 resp.setHeader("Cache-Control", "no-cache");
27 resp.setHeader("Pragma", "no-cache");
28 resp.setDateHeader("Expires", -1);
29 chain.doFilter(request, resp);
30 }
31


1 <filter>
2 <filter-name>filterDemo3</filter-name>
3 <filter-class>com.oracle.filter.FilterDemo3</filter-class>
4 </filter>
5
6 <filter-mapping>
7 <filter-name>filterDemo3</filter-name>
8 <url-pattern>/*</url-pattern>
9 </filter-mapping>

轉載地址