在客户端刷新GWT应用程序

时间:2011-01-27 16:25:03

标签: caching gwt browser-cache

我使用GWT编写了应用程序。它适用于客户端。但是,当我在我的应用程序中更改某些内容,重新编译然后部署到服务器和客户端访问我的应用程序时,他的浏览器没有获取应用程序的新版本,而是使用以前的缓存版本。这会触发RPC错误和其他问题。

如何在访问我的页面时强制客户端的浏览器获取应用程序的新版本,如果它与服务器上的版本匹配,则使用缓存版本。

2 个答案:

答案 0 :(得分:13)

确保您的"*.nocache.*"文件和起始页(通常是“index.html”)都使用正确的HTTP缓存标头。有关此(有点困难)主题的讨论,请参阅Ideal HTTP cache control headers for different types of resources。基本上,你可能想要设置

Cache-Control: no-cache

这些文件。 (顺便说一下,当文件发生变化时,这会强制重新下载 。)

如何进行此配置,取决于您的Web服务器(对于Apache Httpd,您可以使用this guide)。

或者 - 如果您使用JavaEE服务器(Tomcat,Jetty,...)来提供这些文件 - 您可以使用Servlet过滤器。也许您想使用How to set Expires HTTP header on a single JS file in Apache Tomcat?

中的示例

答案 1 :(得分:3)

本主题可以帮助您清除缓存:how to clear cache in gwt?