我使用GWT编写了应用程序。它适用于客户端。但是,当我在我的应用程序中更改某些内容,重新编译然后部署到服务器和客户端访问我的应用程序时,他的浏览器没有获取应用程序的新版本,而是使用以前的缓存版本。这会触发RPC错误和其他问题。
如何在访问我的页面时强制客户端的浏览器获取应用程序的新版本,如果它与服务器上的版本匹配,则使用缓存版本。
答案 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?