Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/346.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何缓存DWR接口java脚本文件_Javascript_Java_Caching_Dwr - Fatal编程技术网

Javascript 如何缓存DWR接口java脚本文件

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

我注意到,当我们使用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
请注意,在响应标头中,没有上次修改的标头。这就是浏览器在每次加载页面时重新加载脚本的原因。此脚本是DWR接口脚本。当您使用DWR(通过DWR-.xml中的create标记)公开java方法时,DWR会创建一个javascript接口。此文件实现调用远程java方法的javascript方法(使用DWREngine.\u execute)。除非更改dwr-.xml中公开的方法并重新启动应用程序,否则接口脚本不会更改。因此,脚本应该是可缓存的


如何在响应中添加Last Modified?

我很惊讶这没有内置到DWR中。您始终可以在web应用程序中配置自定义。假设脚本在ServletContext的生存期内不会更改,这是很公平的。也许您可以在webapp启动时存储一个时间戳,并让过滤器为
/dwr/*