激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

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

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

香港云服务器
服務器之家 - 編程語言 - JAVA教程 - 利用 filter 機制給靜態資源 url 加上時間戳,來防止js和css文件的緩存問題

利用 filter 機制給靜態資源 url 加上時間戳,來防止js和css文件的緩存問題

2020-05-07 12:03digdeep JAVA教程

這篇文章主要介紹了利用 filter 機制給靜態資源 url 加上時間戳,來防止js和css文件的緩存問題的相關資料,需要的朋友可以參考下

直接上代碼:

?
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
public class WeiXinFilter implements Filter{
private static Logger logger = LoggerFactory.getLogger(WeiXinFilter.class);
public void init(FilterConfig fConfig) throws ServletException {}
public void destroy() {}
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
HttpServletRequest req = (HttpServletRequest)request;
HttpServletResponse resp = (HttpServletResponse)response;
String requestURL = req.getRequestURL().toString();
String queryStr = req.getQueryString();
// add timestamp to static resource, to avoid cache
if(requestURL != null && (requestURL.endsWith(".js") || requestURL.endsWith(".css"))){ // static resource
String newURL = null;
if(StringUtils.isNotBlank(queryStr) && queryStr.trim().indexOf(ParameterConfig.STATIC_TAIL) == -1){
newURL = requestURL + "?" + queryStr + "&" + ParameterConfig.STATIC_TAIL + new Date().getTime();
resp.sendRedirect(newURL);
// req.getRequestDispatcher(newURL).forward(request, response);
return;
}
if(StringUtils.isBlank(queryStr)){
newURL = requestURL + "?" + ParameterConfig.STATIC_TAIL + new Date().getTime();
resp.sendRedirect(newURL);
// req.getRequestDispatcher(newURL).forward(request, response);
return;
}
try{
chain.doFilter(request, response);
}catch(Exception e){
logger.error(e.toString());
}
return;
}
public class ParameterConfig
{
/** 靜態資源 為防止緩存,加上時間戳標志 */
public static final String STATIC_TAIL = "__oawx_t=";

配置下過濾器就行了,效果如下:

利用 filter 機制給靜態資源 url 加上時間戳,來防止js和css文件的緩存問題

在開發階段還是比較有用的。

以上所述是小編給大家介紹的利用 filter 機制給靜態資源 url 加上時間戳,來防止js和css文件的緩存問題的相關內容,希望能夠幫助到大家。

延伸 · 閱讀

精彩推薦
  • JAVA教程java對ArrayList排序代碼示例

    java對ArrayList排序代碼示例

    本文通過代碼示例給大家介紹java對arraylist排序,代碼簡潔易懂,感興趣的朋友一起學習吧 ...

    sunmenggmail4982020-01-20
  • JAVA教程Java 進制轉換的方法

    Java 進制轉換的方法

    這篇文章介紹了Java 進制轉換的方法,有需要的朋友可以參考一下 ...

    java之家4092019-10-14
  • JAVA教程幾種JAVA細粒度鎖的實現方式

    幾種JAVA細粒度鎖的實現方式

    這篇文章主要為大家詳細介紹了幾種JAVA細粒度鎖的實現方式,感興趣的小伙伴們可以參考一下 ...

    GameKing3522020-04-30
  • JAVA教程Java基礎教程之Hello World到面向對象

    Java基礎教程之Hello World到面向對象

    這篇文章主要介紹了Java基礎教程之Hello World,Java入門教程,講解了Java中的必備語法、編譯與運行知識、數據類型等,需要的朋友可以參考下 ...

    junjie2322019-11-27
  • JAVA教程Java集合類中文介紹

    Java集合類中文介紹

    本文首先對Java集合類框架做了簡單說明,之后對主要類和為API做了介紹:Collection、List、Set、AbstractCollection、AbstractList、AbstractSet、Iterator、ListIterator。 ...

    java教程網5202019-10-18
  • JAVA教程Java簡單實現SpringMVC+MyBatis分頁插件

    Java簡單實現SpringMVC+MyBatis分頁插件

    自己最近搭建的一個SpringMVC+Mybatis的框架 屬于無實體類的框架 并實現了Myabtis的自動分頁和總數查詢 只要傳入分頁參數便能自動查詢總數和分頁 總數封裝在...

    hebedich1902020-01-03
  • JAVA教程java實現動態代理示例分享

    java實現動態代理示例分享

    動態代理作為代理模式的一種擴展形式,廣泛應用于框架(尤其是基于AOP的框架)的設計與開發,本文將通過實例來講解Java動態代理的實現過程。 ...

    java教程網3832019-11-15
  • JAVA教程深入探討Java多線程中的volatile變量

    深入探討Java多線程中的volatile變量

    這篇文章主要為大家詳細并深入的探討Java多線程中的volatile變量,volatile用來確保將變量的更新操作通知到其他線程,保證了新值能立即同步到主內存,以及每...

    lijiao3412020-04-07
463
主站蜘蛛池模板: 欧美一区二区黄色片 | 国产在线观看精品 | 爱福利视频网 | 免费国产在线观看 | 亚洲影视在线 | 色就色 综合偷拍区91网 | 99成人精品视频 | 色综合精品| 狠狠操你 | 国产影视 | 天天色宗合 | 日本在线一区二区 | 国产亚洲精品久久久久久网站 | 亚洲日本韩国在线观看 | 午夜久久久精品一区二区三区 | 日韩视频一二区 | 欧美日韩在线播放 | 49vvv| 热re91久久精品国产99热 | 一级片国语 | 操碰97| 精品欧美一区二区精品久久久 | av在线1 | 久久99网| 国产精品一区二区日韩 | 成人免费自拍视频 | 成人午夜免费在线观看 | 学霸趴下被打肿光屁股小说 | 免费在线观看成年人视频 | 国产成人午夜高潮毛片 | 久久国产在线观看 | 日韩av片网站 | 欧美一区二区网站 | 伊人在线视频 | a免费毛片 | 亚洲嫩草av | 日韩黄色一级视频 | 91社影院在线观看 | 成人三级电影网站 | 黄色毛片一级视频 | 91成人一区|