我有一个基于Java的webapp,它使用~20个javascript文件和CSS。作为一种标准做法,我已经缩小并捆绑成了提供很多性能的小组。
现在我希望通过计算每个文件的MD5来增加版本控制能力。我可以考虑在每个资源的每个HTML文件中添加一个TAG $$ VERSION,然后将$$ VERSION替换为该特定资源的MD5。
Ex:
<style href="/css/editor.css?v=$$VERSION"></style>
<script src="/js/editor.js?v=$$VERSION"></script>
然后有一个单独的实用程序来执行替换任务(对于性能,它可以缓存资源 - &gt; MD5映射)
其他语言(如Ruby)提供开箱即用的此功能。但是没有基于Java的Web应用程序的解决方案。上述方法是否正确?如果没有,请指出其他替代方案。
答案 0 :(得分:0)
HTML通常不像xml一样。例如,缺少配额将没有问题。很难可靠地更改代码。
您可以通过添加
来使用默认的jsp-interpreter处理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')}" />