繁体   English   中英

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

[英]How to cache DWR interface java script files

我注意到,当我们使用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应用程序中配置自定义Servlet过滤器 可以公平地假设脚本在ServletContext的生命周期内不会改变。 也许您可以在webapp启动时存储时间戳,并让过滤器为/dwr/*设置Last-Modified标头

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM