1

我有一个基于 Java 的 webapp,它使用了大约 20 个 javascript 文件和 CSS。作为一种标准做法,我已经缩小并捆绑到提供大量性能的组中。

现在我希望通过计算每个文件的 MD5 来增加版本控制能力。我可以考虑在每个 HTML 文件中为每个资源添加一个标签 $$VERSION,然后用该特定资源的 MD5 替换 $$VERSION。

Ex: 

<style href="/css/editor.css?v=$$VERSION"></style>
<script src="/js/editor.js?v=$$VERSION"></script>

然后有一个单独的实用程序来完成替换任务(为了性能,它可以缓存资源-> MD5 映射)

其他语言(如 Ruby)开箱即用地提供了此功能。但是没有针对基于 Java 的 Web 应用程序的解决方案。上述方法是否正确?如果不是,请指出其他选择。

4

1 回答 1

0

HTML 通常不像 xml。例如,缺少配额将没有问题。确实很难可靠地更改代码。

您可以通过添加使用默认的 jsp 解释器来处理 css 文件

<servlet-mapping>
  <servlet-name>jsp</servlet-name>
  <url>*.css</url>
</servlet-mapping>
<servlet-mapping>
  <servlet-name>jsp</servlet-name>
  <url>*.js</url>
</servlet-mapping>

web.xml

所以你可以定义/css/editor.css并像这样重写你的版本

<jsp:forward page="/css/editor.css?v=${mybean.getHash('editor.css')}" />
于 2013-01-29T09:50:57.147 回答