【问题标题】:How to cache DWR interface java script files如何缓存 DWR 接口 java 脚本文件
【发布时间】:2015-10-18 22:25:27
【问题描述】:

我注意到,当我们使用 DWR 时,浏览器对 java-script 文件有很多请求。似乎浏览器没有缓存 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 公开 java 方法时(通过 dwr-.xml 中的创建标记),DWR 创建一个接口 javascript。该文件实现了调用远程 java 方法的 javascript 方法(使用 DWREngine._execute)。除非更改 dwr-.xml 中公开的方法并重新启动应用程序,否则接口脚本不会更改。因此脚本应该是可缓存的。

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

【问题讨论】:

    标签: javascript java caching dwr


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-20
      • 1970-01-01
      • 2021-10-08
      • 1970-01-01
      • 1970-01-01
      • 2011-05-21
      相关资源
      最近更新 更多