應用 filter 機制給靜態資本 url 加上時光戳,來避免js和css文件的緩存成績。本站提示廣大學習愛好者:(應用 filter 機制給靜態資本 url 加上時光戳,來避免js和css文件的緩存成績)文章只能為提供參考,不一定能成為您想要的結果。以下是應用 filter 機制給靜態資本 url 加上時光戳,來避免js和css文件的緩存成績正文
直接上代碼:
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文件的緩存成績的相干內容,願望可以或許贊助到年夜家。