java - 使浏览器获取修改后的 JS 和 CSS 文件

标签 java javascript css jsp ant

我想让修改后的js和css文件在访问页面时在客户端下载。我有这些方法

  1. 在每个页面的 URL 中手动添加修改后的时间戳。
  2. 我正在考虑在所有 jsp 页面中编写一个 scriptlet 代码,它将读取所有 js 和 css 文件修改时间戳并将其附加到页面中的 url。
  3. 在使用 ANT 构建 war 文件时添加修改后的时间戳。

我有以下问题。

  1. 任何人都可以让我知道哪种方法是上述方法的更好解决方案?我也对任何其他解决方案持开放态度。
  2. 我通过了 this回答 SO 并使用它我可以获得修改日期但是如何更改 jsp 文件?
  3. 有没有类似this的东西在 Java 中?

最佳答案

在这种情况下,会根据您的具体要求形成更好或最佳的解决方案。我可能会得出一些简单的问题,例如;您的静态资源是在同一台服务器上还是包含在同一台服务器上的应用程序中等等。可能还有其他更好的方法..

我没有 ant 经验,所以我现在不能谈论它,但你已经可以使用 java 方式了。我只想分享想法。过滤器(查看 .css 或 .js 请求,获取资源并查看资源上次修改日期或校验和作为响应版本返回)或自定义 jsp 标签将提供您的要求。写一个自定义jsp标签<resource:static path="app.js"/>就像那个例子。所以它可能会查看特定文件的最后修改日期,假设在同一文档根目录下,它可以产生 <script type="text/javascript" src="app.js?version=8637">喜欢这个结果,所以这个结果会破坏缓存。

关于java - 使浏览器获取修改后的 JS 和 CSS 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30523154/

相关文章:

html - Bootstrap ul breaking float 并将其显示在左侧导航下方

java - 未找到 Spring @Autowired bean,未找到 [...] 类型的合格 bean

javascript - 实现不显眼的 Javascript

javascript - 为什么我的 ajax 请求总是抛出错误?

javascript - 简单 Accordion 在先前打开的 div 关闭后滚动到顶部

html - 在 CSS 中设置 `<html>` 元素的样式?

java - ClassNotFoundException HttpRequestInterceptor

java - Spring Data Rest PATCH 禁止更新特定字段

java - Sonar 想要关闭流

Javascript 不包括 jQuery 插件?