在 jboss 服务器中为 Web 应用程序进行新部署后,浏览器缓存文件未更新

siv*_*iva 6 java etag jboss cache-control browser-cache

我正在使用 jboss Server 7.1.1 来部署 java web 应用程序。对于 js、css、字体文件,浏览器缓存不会随着新的更改而更新。每次我们都坚持要求客户清除浏览器中的缓存以使新的更改生效。

是否有任何我可以配置的配置,以便在部署新代码时我可以引导所有请求提供更新的文件?

通过谷歌搜索这个主题,我发现我们可以编写自定义方法来设置电子标签值。有什么配置可以帮助我做到这一点吗?

大多数时候我们都会进行热部署(在 jboss 管理控制台中上传 war 文件,无需停机)。所以我怀疑在热部署期间自定义电子标签是否会更新,因为我们在服务器启动时配置了它。

或者有没有办法在 Web 应用程序的 web.xml 文件中处理它?

我需要一个可以使用浏览器缓存的解决方案,直到下次部署 js、css 和字体文件。我不知道如何设置“过期”标题。因为我们没有固定的部署周期。

如果您需要更多信息才能找到解决方案,请告诉我。

dan*_*1st 0

根据这篇文章,您可以通过更改响应标头来禁用缓存。您可以使用以下方法执行此操作response.setHeader("Cache-Control", "no-cache, no-store");

您还可以向链接添加查询字符串(请参阅这篇文章)例如,您可以./design.css?v=1在最初使用时将引用更改为./design.css?v=1下次更新design.css。您可以动态更改数字