教育行業(yè)A股IPO第一股(股票代碼 003032)

全國咨詢/投訴熱線:400-618-4000

Java培訓之禁用瀏覽器緩存

更新時間:2016年07月27日15時33分 來源:傳智播客Java培訓學院 瀏覽次數(shù):

開發(fā)人員在項目開發(fā)階段,一般都會禁用瀏覽器緩存,這樣做的原因是為了每次訪問都能夠獲得實時數(shù)據(jù)。當一個項目上線后,就不會再繼續(xù)禁用瀏覽器緩存。今天我們要學習的內容就是如何禁用瀏覽器緩存。我們在學習使用meta元素禁用緩存時,已經見過三個響應頭,如下所示:
  • Expires;
  • Cache-Control;
  • Pragma;
以上三個響應頭一起使用就可以達到禁用瀏覽器緩存的目的。下面通過一個案例來學習如何使用它們禁用瀏覽器緩存。

1.禁用瀏覽器緩存案例練習

按照如下步驟完成禁用瀏覽器緩存案例練習:
(1)創(chuàng)建一個web應用,Example04,在該應用下新建一個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對象向瀏覽器端響應“hello everyone“。
(2)CacheServlet在web.xml文件中其訪問路徑的配置為:“/CacheServlet“。
(3)將Example04應用發(fā)布到Tomcat服務器,然后啟動Tomcat服務器,在瀏覽器地址欄上輸入:http://localhost:8080/Example04/CacheServlet,并使用HttpWatch工具進行抓包,瀏覽器顯示結果如圖1-1所示:
圖1-1 瀏覽器顯示結果
(4)再次訪問:http://localhost:8080/Example04/CacheSerlvet,瀏覽器顯示結果如圖1-2所示:
圖1-2 瀏覽器顯示結果
(5)對CacheServlet類中的doGet()方法中的代碼進行修改,如例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三個響應頭禁用瀏覽器緩存
            response.setHeader("Cache-Control", "no-cache");
            response.setHeader("pragma", "no-cache");
            response.setDateHeader("expires", -1);
             response.getWriter().print("GoodBye");
    }
}
(6)重新啟動Tomcat服務器,關閉瀏覽器重新打開,然后再次訪問CacheServlet,瀏覽器顯示效果如圖1-3所示:
圖1-3 瀏覽器顯示結果
(7)在瀏覽器端再次訪問CacheServlet,瀏覽器顯示效果如圖1-4所示:
圖1-4 瀏覽器顯示結果
由圖1-4可知,當?shù)诙卧L問CacheServlet,服務器再次響應給瀏覽器,說明瀏覽器并沒有緩存數(shù)據(jù),可以將圖1-4與圖1-2進行比較可發(fā)現(xiàn),圖1-2是瀏覽器沒有禁用緩存的效果,圖1-4是瀏覽器禁用緩存的效果。

本文版權歸傳智播客Java培訓學院所有,歡迎轉載,轉載請注明作者出處。謝謝!
作者:傳智播客Java培訓學院
首發(fā):http://metathetuscanyresort.com/javaee
0 分享到:
和我們在線交談!