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

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

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務器之家 - 編程語言 - JAVA教程 - JAVAEE Filter 過濾器設置是否緩存實例詳解

JAVAEE Filter 過濾器設置是否緩存實例詳解

2020-05-01 13:26YX_blog JAVA教程

網頁中,每次的客戶端訪問服務器,有部分不用重復請求的,這樣可以減輕服務器的工作量。那么如何設置客戶端是否都緩存呢?接下來通過本文給大家介紹JAVAEE Filter 過濾器設置是否緩存的實例,感興趣的朋友一起學習吧

在網頁中,每次的客戶端訪問服務器,有部分不用重復請求,如有些圖片,視頻等就沒有必要每次都請求,這樣會讓服務器增大工作量。為了防止這樣,我們采用過濾器來設置客戶端是都緩存

頁面的緩存與不緩存設置及html頁面中meta的作用

HTTP1.1中啟用Cache-Control 來控制頁面的緩存與否,這里介紹幾個常用的參數:

no-cache,瀏覽器和緩存服務器都不應該緩存頁面信息;

public,瀏覽器和緩存服務器都可以緩存頁面信息;

no-store,請求和響應的信息都不應該被存儲在對方的磁盤系統中;

must-revalidate,對于客戶機的每次請求,代理服務器必須想服務器驗證緩存是否過時;

Last-Modified只頁面的最后生成時間,GMT格式;

Expires過時期限值,GMT格式,指瀏覽器或緩存服務器在該時間點后必須從真正的服務器中獲取新的頁面信息;

上面兩個值在JSP中設置值為字符型的GMT格式,無法生效,設置long類型才生效;

下面是設置不緩存的filter代碼:

?
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
26
27
28
29
30
31
32
33
34
35
36
<span style="font-size:24px;">package cn.hncu.filter;
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class CacheFilter implements Filter {
@Override
public void destroy() {
}</span>
<span style="font-size:24px;">
@Override
public void doFilter(ServletRequest request , ServletResponse response,
FilterChain chain) throws IOException, ServletException {
// 過濾器有很多作用,這個用來設置客戶端是否設置緩存的問題,我們這里采用response通知客戶端設置不緩存
chain.doFilter(request, response);
HttpServletResponse res=(HttpServletResponse) response;
res.setHeader("expries", "-1");
res.setHeader("pragma", "no-cache");
res.setHeader("cache-control", "no-cache");
/*上面的已經可以設置不緩存,但是還可以設置全面一點:
//不允許瀏覽器端或緩存服務器緩存當前頁面信息。
/* response.setHeader( "Pragma", "no-cache" );
response.setDateHeader("Expires", "-1");
response.addHeader( "Cache-Control", "no-cache" );//瀏覽器和緩存服務器都不應該緩存頁面信息
response.addHeader( "Cache-Control", "no-store" );//請求和響應的信息都不應該被存儲在對方的磁盤 response.addHeader( "Cache-Control", "must-revalidate" );*///于客戶機的每次請求,代理服務器必須想服務器驗證緩存是否過時;
}
@Override
public void init(FilterConfig arg0) throws ServletException {
}
}</span><span style="font-size:18px;">
</span>

下面是設置緩存的過濾器文件

?
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
26
27
28
29
30
31
32
33
34
35
36
37
package cn.hncu.filter;
import java.io.IOException;
import java.util.Date;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletResponse;
public class CacheFilter2 implements Filter {
@Override
public void destroy() {
}
@Override
public void doFilter(ServletRequest request , ServletResponse response,
FilterChain chain) throws IOException, ServletException {
// 過濾器有很多作用,這個用來設置客戶端是否設置緩存的問題,我們這里采用response通知客戶端設置緩存
//這里設置緩存1天,以實現讓圖片、視頻類的資源(在過濾器當中配置相應的攔截路徑)要求客戶瀏覽器緩存1天)
//攔截路徑在web.xml中配置
chain.doFilter(request, response);//先進行請求,返回也會從過這里,返回進行攔截
HttpServletResponse res=(HttpServletResponse) response;
Date d =new Date();
Long time=d.getTime()+60*60*24;
// res.setHeader("expries", ""+time);//這樣就設置緩存一天
res.setDateHeader("expries", time);//和上面一句一樣
/*
* Date date = new Date();
response.setDateHeader("Last-Modified",date.getTime()); //Last-Modified:頁面的最后生成時間
response.setDateHeader("Expires",date.getTime()+60*60*24); //Expires:過時期限值
response.setHeader("Cache-Control", "public"); //Cache-Control來控制頁面的緩存與否,public:瀏覽器和緩存服務器都可以緩存頁面信息;
response.setHeader("Pragma", "Pragma"); //Pragma:設置頁面是否緩存,為Pragma則緩存,no-cache則不緩存
*/
}
@Override
public void init(FilterConfig arg0) throws ServletException {
}

需要注意:上面的filter文件生效需要在web.xml中配置,根據配置的路徑來進行過濾。

以上所述是小編給大家介紹的JAVAEE Filter 過濾器設置是否緩存實例詳解的相關知識,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對服務器之家網站的支持!

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 成人免费视频一区 | 亚洲一区二区精品视频 | 美女被免费视频 | 91久久国产| 成人免费草草视频 | 国产欧美日韩亚洲精品区2345 | 国产精品欧美亚洲韩国日本 | 亚洲精品在看在线观看 | 奇米影视久久 | 欧美一级片免费在线观看 | 国产成人性毛片aaww | 国内精品中文字幕 | 国产精品天天影视久久综合网 | 午夜精品久视频在线观看 | 无颜之月全集免费观看 | 免费高清观看 | 午夜视频一区二区三区 | 五月天婷婷精品免费视频 | 免费看全黄特黄毛片 | 亚洲色图欧美偷拍 | 精品视频在线播放 | 欧美亚洲另类综合 | 天堂在线中文字幕 | 青青草国产精品久久久久 | 精品播放| 欧美亚洲另类综合 | kayden kross喷水 | 黑人干我 | 欧美性受xxxx88喷潮 | 九九大香尹人视频免费 | 国产麻豆剧果冻传媒影视4934 | 亚洲国产第一区二区三区 | 深夜激情网| 校园全肉高h湿一女多男 | 国产成人在线播放视频 | 日本加勒比在线精品视频 | 亚洲国产精品久久久久 | 亚洲高清无码在线 视频 | 污到你怀疑人生 | 国产大片视频免费观看 | 秋霞啪啪网 |