Javascript版本

Javascript版本,java,javascript,versioning,Java,Javascript,Versioning,我有一个基于Java的webapp,它使用约20个javascript文件和CSS。作为一种标准做法,我已经缩小了规模,并将其捆绑到提供了大量性能的组中 现在,我希望通过计算每个文件的MD5,在此基础上添加版本控制功能。我可以考虑在每个资源的每个HTML文件中添加一个标记$$VERSION,然后用该特定资源的MD5替换$$VERSION Ex: <style href="/css/editor.css?v=$$VERSION"></style> <script

我有一个基于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>
Ex:
然后有一个单独的实用程序来执行替换任务(为了提高性能,它可以缓存资源->MD5映射)


其他语言(如Ruby)提供了这种开箱即用的功能。但对于基于Java的web应用程序,还没有解决方案。上述方法正确吗?如果没有,请告诉我其他的选择。

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

您可以通过添加

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

jsp
*.css
jsp
*.js
web.xml

因此,您可以定义/css/editor.css并重写为您的版本,如下所示

<jsp:forward page="/css/editor.css?v=${mybean.getHash('editor.css')}" />


可能不相关,但您在脚本源代码后缺少一个引号。基于Java或基于Javascript,或两者都有?我需要一个基于Java的解决方案。@PeterRader我正在使用Tomcat 7。JSP中是否有相关的库?不,如果您愿意,我可以为此编写一个单类jar?