java - 确保用户浏览器检索到 css、js 和图像的全新副本

标签 java apache tomcat spring-mvc

我们正在运行一个 Java/Spring MVC 应用程序,其中 Tomcat 6 作为 servlet 容器,Apache 2.2 作为 Web 服务器。

我们最近部署了一个新品牌,彻底改变了网站的外观。

我们将 ?v=1 参数附加到 head 部分的资源,但我们仍然遇到一些旧缓存资源导致问题的问题。

我们是否可以在 tomcat 或 apache 中设置一些东西来确保提取新副本,或者我们是否需要使用修订号来强制客户端获取新版本的资源?

最佳答案

您可以尝试使用元标记,如下所示:

<meta http-equiv="Expires" content="Mon, 26 Jul 1997 05:00:00 GMT" />
<meta http-equiv="Cache-Control" content="no-store, no-cache, must-revalidate">
<meta http-equiv="Pragma" content="no-cache">

但是,我意识到 IE9 似乎忽略了我的一个 Web 项目中的这些元标记。因此,我没有使用元标记,而是在 url 中附加了一些随机数,例如 ?v=1235324324...您可以使用 Math.random()Date.getTime(),基本上是独一无二的。您希望确保 v 的值每次都不同,而不是一直使用值 1

关于java - 确保用户浏览器检索到 css、js 和图像的全新副本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14282162/

相关文章:

tomcat - 使用 Mule ESB 将数据公开为 ODATA API

mysql - 如何将Rails服务器设置为apache?

java - 使用wildfly在mysql中插入印地文文本时出现问题

java - (.Net + SQL Server +Azure ) 与 (Java + Oracle +Google App Engine) 哪个更适合这个项目?

Java 使用字符串参数实例化对象时出现问题

php - EC2 Mod Rewrite 将 AllowOverRide None 更改为 All

asp.net - 在 Linux 上部署 .Net Web 应用程序

spring - 使用 Spring 的 Tomcat 数据源池中的所有连接都处于事件状态

eclipse - 如何在eclipse 中配置maven tomcat 端口?

java - 在 JAXB 中自动添加根元素