Javascript 如何缓存DWR接口java脚本文件
我注意到,当我们使用DWR时,有许多来自浏览器的java脚本文件请求。浏览器似乎没有缓存DWR脚本 重复下载的响应头如下所示:Javascript 如何缓存DWR接口java脚本文件,javascript,java,caching,dwr,Javascript,Java,Caching,Dwr,我注意到,当我们使用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
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
请注意,在响应标头中,没有上次修改的标头。这就是浏览器在每次加载页面时重新加载脚本的原因。此脚本是DWR接口脚本。当您使用DWR(通过DWR-.xml中的create标记)公开java方法时,DWR会创建一个javascript接口。此文件实现调用远程java方法的javascript方法(使用DWREngine.\u execute)。除非更改dwr-.xml中公开的方法并重新启动应用程序,否则接口脚本不会更改。因此,脚本应该是可缓存的
如何在响应中添加Last Modified?我很惊讶这没有内置到DWR中。您始终可以在web应用程序中配置自定义。假设脚本在ServletContext的生存期内不会更改,这是很公平的。也许您可以在webapp启动时存储一个时间戳,并让过滤器为
/dwr/*