利用 filter 机制给静态资源 url 加上时间戳,来防止js和css文件的缓存问题
时间:2020-11-22 22:11:23|栏目:JAVA代码|点击: 次
直接上代码:
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文件的缓存问题的相关内容,希望能够帮助到大家。
栏 目:JAVA代码
下一篇:详解java实现简单扫码登录功能(模仿微信网页版扫码)
本文标题:利用 filter 机制给静态资源 url 加上时间戳,来防止js和css文件的缓存问题
本文地址:http://www.codeinn.net/misctech/24996.html
阅读排行
- 1Java Swing组件BoxLayout布局用法示例
- 2java中-jar 与nohup的对比
- 3Java邮件发送程序(可以同时发给多个地址、可以带附件)
- 4Caused by: java.lang.ClassNotFoundException: org.objectweb.asm.Type异常
- 5Java中自定义异常详解及实例代码
- 6深入理解Java中的克隆
- 7java读取excel文件的两种方法
- 8解析SpringSecurity+JWT认证流程实现
- 9spring boot里增加表单验证hibernate-validator并在freemarker模板里显示错误信息(推荐)
- 10深入解析java虚拟机