使用 Spring 的资源映射可能更简单<mvc:resources>
,它将虚拟路径映射到 CSS 和 Javascript 文件的真实位置。虚拟路径可以包含应用程序的版本。这意味着当您部署新版本的应用程序时,发送到浏览器的 CSS 和 Javascript 的路径与以前不同,这会使浏览器误以为它们是新资源 - 因此它会重新加载它们。
例如在 /resources 中映射 CSS 和 Javascript 文件:
<mvc:resources location="/resources" mapping="/resources-1.2.0/**"/>
这表示任何带有 URL 模式 /resources-1.2.0 后跟任何内容(例如 /resources-1.2.0/css/styles.css)的请求,在web 根目录中名为resources的文件夹中查找文件.
当您在部署之间更新应用程序版本时,CSS 和 Javascript 资源的虚拟路径将发生变化,因此浏览器将被迫重新加载文件 - 即使真实文件位于相同的旧位置。
您也可以使应用程序版本动态化——因此您无需修改配置文件。
这里有对整个方法的更深入的描述。