開發(fā)人員在項(xiàng)目開發(fā)階段,一般都會(huì)禁用瀏覽器緩存,這樣做的原因是為了每次訪問都能夠獲得實(shí)時(shí)數(shù)據(jù)。當(dāng)一個(gè)項(xiàng)目上線后,就不會(huì)再繼續(xù)禁用瀏覽器緩存。今天我們要學(xué)習(xí)的內(nèi)容就是如何禁用瀏覽器緩存。我們在學(xué)習(xí)使用
meta元素禁用緩存時(shí),已經(jīng)見過三個(gè)響應(yīng)頭,如下所示:
- Expires;
- Cache-Control;
- Pragma;
以上三個(gè)響應(yīng)頭一起使用就可以達(dá)到禁用瀏覽器緩存的目的。下面通過一個(gè)案例來學(xué)習(xí)如何使用它們禁用瀏覽器緩存。
1.禁用瀏覽器緩存案例練習(xí)
按照如下步驟完成禁用瀏覽器緩存案例練習(xí):
(1)創(chuàng)建一個(gè)web應(yīng)用,Example04,在該應(yīng)用下新建一個(gè)Servlet類,CacheServlet,主要代碼如例1-1所示:
例1-1 CacheServlet.java
public class CacheServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.getWriter().print("hello everyone");
}
}
例1-1中,使用response對象向?yàn)g覽器端響應(yīng)“hello everyone“。
(2)CacheServlet在web.xml文件中其訪問路徑的配置為:“/CacheServlet“。
(3)將Example04應(yīng)用發(fā)布到Tomcat服務(wù)器,然后啟動(dòng)Tomcat服務(wù)器,在瀏覽器地址欄上輸入:http://localhost:8080/Example04/CacheServlet,并使用HttpWatch工具進(jìn)行抓包,瀏覽器顯示結(jié)果如圖1-1所示:
圖1-1 瀏覽器顯示結(jié)果
(4)再次訪問:http://localhost:8080/Example04/CacheSerlvet,瀏覽器顯示結(jié)果如圖1-2所示:
圖1-2 瀏覽器顯示結(jié)果
(5)對CacheServlet類中的doGet()方法中的代碼進(jìn)行修改,如例1-1所示:
例1-2 修改后的CacheServlet.java
public class CacheServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//使用Cache-Control,pragma,expires三個(gè)響應(yīng)頭禁用瀏覽器緩存
response.setHeader("Cache-Control", "no-cache");
response.setHeader("pragma", "no-cache");
response.setDateHeader("expires", -1);
response.getWriter().print("GoodBye");
}
}
(6)重新啟動(dòng)Tomcat服務(wù)器,關(guān)閉瀏覽器重新打開,然后再次訪問CacheServlet,瀏覽器顯示效果如圖1-3所示:
圖1-3 瀏覽器顯示結(jié)果
(7)在瀏覽器端再次訪問CacheServlet,瀏覽器顯示效果如圖1-4所示:
圖1-4 瀏覽器顯示結(jié)果
由圖1-4可知,當(dāng)?shù)诙卧L問CacheServlet,服務(wù)器再次響應(yīng)給瀏覽器,說明瀏覽器并沒有緩存數(shù)據(jù),可以將圖1-4與圖1-2進(jìn)行比較可發(fā)現(xiàn),圖1-2是瀏覽器沒有禁用緩存的效果,圖1-4是瀏覽器禁用緩存的效果。
本文版權(quán)歸傳智播客Java培訓(xùn)學(xué)院所有,歡迎轉(zhuǎn)載,轉(zhuǎn)載請注明作者出處。謝謝!
作者:傳智播客Java培訓(xùn)學(xué)院
首發(fā):http://xamj520.com/javaee