文章来自驴妈妈旅游网——
前台页面静态资源(css,js等)CND缓存更新方案:目前使用访问资源链接增加时间戳的方式实现缓存更新
方式一:采用STRUTS2架构的系统,可以通过在ACTION基类里添加静态常量版本号version,作为一个公共属性提供给所有页面。
参考实现如下:
在ACTION基类BaseAction.java添加如下代码:
private static final String version = new SimpleDateFormat("MMddHH").format(new Date());
public static String getVersion() { return version; }
在页面模版里,将版本号作为请求参数添加到静态资源请求链接上:
1、第一种:http://pic.lvmama.com/min/index.php?f=/styles/v6/header_new.css,/styles/v6/index_new.css需要通过&连接,如:http://pic.lvmama.com/min/index.php?f=/styles/v6/header_new.css,/styles/v6/index_new.css&v=${version?if_exists}
2、第二种:http://pic.lvmama.com/js/common/js.cookie.js需要通过?连接,如:http://pic.lvmama.com/js/common/js.cookie.js?v=${version?if_exists}
方式二:采用SpringMVC架构的系统,可以通过在WebApplicationContext里添加版本号version变量,作为一个公共属性提供给所有页面。
参考实现如下:
在SuperContextLoaderListener.java添加如下代码:
WebApplicationContext context = (WebApplicationContext) event.getServletContext().getAttribute(WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE); context.getServletContext().setAttribute("version", new SimpleDateFormat("MMddHH").format(new Date()));
在页面模版里,将版本号作为请求参数添加到静态资源请求链接上:
1、第一种:http://pic.lvmama.com/min/index.php?f=/styles/v6/header_new.css,/styles/v6/index_new.css需要通过&连接,如:http://pic.lvmama.com/min/index.php?f=/styles/v6/header_new.css,/styles/v6/index_new.css&v=version
2、第二种:http://pic.lvmama.com/js/common/js.cookie.js需要通过?连接,如:http://pic.lvmama.com/js/common/js.cookie.js?v=${version?if_exists}
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于