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

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

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
主站蜘蛛池模板: 欧美添下面视频免费观看 | 美女被草哭 | 国产精品青青青高清在线 | 四虎影库网址 | 国产片在线看 | 色欲麻豆国产福利精品 | 国产福利不卡视频 | 久久免费特黄毛片 | 亚洲欧美日韩国产一区图片 | 91香蕉国产在线观看人员 | 被肉日常np高h | 小鸟酱在线播放 | 免费高清资源黄网站在线观看 | 国产精品亚洲片在线观看麻豆 | 四缺一的小说 | 性夜夜春夜夜爽AA片A | 亚洲国产精品日韩高清秒播 | 513热点网深夜影院影院诶 | 高h辣h双处全是肉军婚 | 欧美不卡一区二区三区免 | 青青草原国产 | 日韩操比视频 | 免费在线中文字幕 | 九九精品免视频国产成人 | 精品国产品国语在线不卡丶 | 无码人妻视频又大又粗欧美 | 四虎院影永久在线观看 | tk白嫩玉足脚心vk | 91外围| 波多野结衣不卡 | 日韩成人一区ftp在线播放 | 日本三级免费看 | 娇喘高潮教室h | 精品无人区乱码1区2区3区在线 | 成人免费观看网欧美片 | 日韩丝袜在线观看 | youzljzljzljzlj96| 男人日女人的逼视频 | 欧美一区二区三区免费看 | 国产尤物视频 | 黄动漫车车好快的车车双女主 |