当前位置: 代码迷 >> java >> 如何缓存DWR接口Java脚本文件
  详细解决方案

如何缓存DWR接口Java脚本文件

热度:96   发布时间:2023-08-04 09:32:02.0

我注意到,当我们使用DWR时,浏览器对Java脚本文件的请求很多。 似乎DWR脚本没有被浏览器缓存。

重复下载的响应标头如下所示:

Connection:Keep-Alive
Content-Encoding:gzip
Content-Length:1268
Content-Type:text/javascript;charset=utf-8
Date:Tue, 28 Jul 2015 11:27:17 GMT
Keep-Alive:timeout=10, max=498
Server:Apache
Vary:Accept-Encoding

请注意,在响应标头中,没有Last-Modified标头。 这就是浏览器在每次页面加载时都会重新加载脚本的原因。此脚本是DWR接口脚本。 当您使用DWR(通过dwr- .xml中的create标记公开Java方法时,DWR将创建接口javascript。 该文件实现了调用远程Java方法(使用DWREngine._execute)的javascript方法。 除非更改了dwr- .xml中公开的方法并且重新启动了应用程序, 否则接口脚本不会更改 因此,脚本应该是可缓存的。

如何在响应中添加Last-Modified?

我很惊讶这不是DWR内置的。 您总是可以在Web应用程序中配置自定义 。 可以公平地假设脚本在ServletContext的生命周期内不会改变。 也许您可以在webapp启动时存储时间戳,并让过滤器为/dwr/*设置Last-Modified标头

  相关解决方案