一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|JavaScript|易語言|

服務器之家 - 編程語言 - JAVA教程 - JavaWeb禁止瀏覽器緩存當前Web頁面的方法

JavaWeb禁止瀏覽器緩存當前Web頁面的方法

2021-02-22 10:49geekori JAVA教程

所謂瀏覽器緩存,是指當第一次訪問網頁時,瀏覽器會將這些網頁緩存到本地,當下一次再訪問這些被緩存的網頁時,瀏覽器就會直接從本地讀取這些網頁的內容,而無需再從網絡上獲取

所謂瀏覽器緩存,是指當第一次訪問網頁時,瀏覽器會將這些網頁緩存到本地,當下一次再訪問這些被緩存的網頁時,瀏覽器就會直接從本地讀取這些網頁的內容,而無需再從網絡上獲取。

        雖然瀏覽器提供的緩存功能可以有效地提高網頁的裝載速度,但對于某些需要實時更新的網頁,這種緩存機制就會影響網頁的正常顯示。幸好在HTTP響應消息頭中提供了三個字段可以關閉客戶端瀏覽器的緩存功能。下面三條語句分別使用這三個字段來關閉瀏覽器的緩存:

?
1
2
3
response.setDateHeader("Expires", 0);
response.setHeader("Cache-Control", "no-cache");
response.setHeader("Pragma", "no-cache");

        雖然上面三個HTTP響應消息頭字段都可以關閉瀏覽器緩存。但并不是所有的瀏覽器都支持這三個響應消息頭字段,因此,最好同時使用上面這三個響應消息頭字段來關閉瀏覽器的緩存。

例子 : 禁止瀏覽器緩存當前Web頁面

1.  實例說明

本程序演示了在未關閉瀏覽器緩存和關閉瀏覽器緩存兩種情況下,通過form提交請求消息時的表現。

2.  編寫Cache類

在Cache類中同時使用上述的三個響應消息頭字段關閉了瀏覽器緩存,并向客戶端輸出一段HTML代碼,以測試關閉緩存和未關閉緩存的效果。Cache類的實現代碼如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
public class Cache extends HttpServlet
{
  public void service(HttpServletRequest request, HttpServletResponse response)
      throws ServletException, IOException
  {
    response.setContentType("text/html;charset=UTF-8");
    String cache = request.getParameter("cache");
    if (cache != null)
    {
      if (cache.equals("false"))
      {
        // 關閉瀏覽器緩存
        response.setDateHeader("Expires", 0);
        response.setHeader("Cache-Control", "no-cache");
        response.setHeader("Pragma", "no-cache");
      }
    }
    // 定義HTML代碼
    String html = "<form id = 'form', action='test' method='post'>"
        + "姓名:<input type='text' name = 'name'/>"
        + "<input type='submit' value='提交' />" + "</form>";
    PrintWriter out = response.getWriter();
    out.println(html);     // 向客戶端輸出HTML代碼
  }
}

從上面的代碼可以看出,當cache請求參數值為false時關閉瀏覽器的緩存。

3.  配置Cache類

Cache類的配置代碼如下:

?
1
2
3
4
5
6
7
8
<servlet>
  <servlet-name>Cache</servlet-name>
  <servlet-class>chapter5.Cache</servlet-class>
</servlet>
<servlet-mapping>
  <servlet-name>Cache</servlet-name>
  <url-pattern>/Cache</url-pattern>
</servlet-mapping>

4.  測試未關閉瀏覽器緩存的情況

在瀏覽器地址欄中輸入如下的URL:

http://localhost:8080/demo/Cache?cache=true

        在【姓名】文本框中輸入任意字符串,點擊【提交】按鈕,這時瀏覽器會顯示一個異常(這個異常是由于所提交的test不存在而產生的,我們不用去管它),然后點擊瀏覽器的返回按鈕回到剛才輸入數據的頁面。我們可以看到,剛才輸入的字符串仍然存在。這說明在返回時,瀏覽器并未從服務端重新獲得這個頁面,而是從本地的緩存里重新加載了當前的頁面。    

5.  測試關閉瀏覽器緩存的情況

在瀏覽器地址欄中輸入如下的URL來關閉瀏覽器緩存:

http://localhost:8080/demo/Cache?cache=false

        按著上一步的方式提交并返回,發現剛才輸入的數據沒有了。這說明在關閉瀏覽器緩存后,每次返回時,瀏覽器總會從服務端重新獲得當前頁面。因此,當前頁面總是保持著初始值。

6.  程序總結

        在關閉瀏覽器緩存時,為了盡可能保證在大多數瀏覽器中都有效,我建議同時使用上述三個HTTP響應消息頭字段來關閉瀏覽器緩存。

總結

以上所述是小編給大家介紹的JavaWeb禁止瀏覽器緩存當前Web頁面的方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對服務器之家網站的支持!

原文鏈接:https://geekori.com/courseDetails.php?cid=1&fid=105

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 高清国语自产拍免费视频国产 | 96av视频在线观看 | 色综合亚洲精品激情狠狠 | 国产成人小视频在线观看 | 国产成人精品高清不卡在线 | 紧身牛仔裤美女被啪啪久久网 | 果冻传媒和91制片厂网站软件 | 久久er99热精品一区二区 | 亚洲色图欧美偷拍 | 亚州免费一级毛片 | 男男视频18免费网站 | 国产精品3p视频 | 91天堂影院| 国产精彩视频 | 亚洲欧美日韩综合在线播放 | 艾秋麻豆果冻传媒老狼仙踪林 | 91精品国产综合久久精品 | 欧美日韩国产一区二区三区不卡 | 果冻传媒mv在线观看入口免费 | 青青草国产青春综合久久 | 奇米色7777| 午夜亚洲福利 | 性欧美黑人巨大喷潮xxoo | 亚洲成人精品久久 | 国产成人综合精品 | 视频高清在线观看 | 亚洲AV久久无码精品蜜桃 | 天使萌痴汉在线中文字幕 | 日本九九热 | 调教女警花穿环上班 | 亚洲国产精品自在在线观看 | 欧美国产日产精品免费视频 | 美女扒开腿让男生捅 | 免费理伦片高清在线 | 偷拍综合网 | 免费看隐私男生网站 | 校花小雪灌满了男人们的浓浆 | 二次元美女挤奶漫画 | 免费国产影视观看网站入口 | 高清视频免费 | 久久三级视频 |