gpt4 book ai didi

gwt - 停止 GWT 应用程序中的浏览器脚本缓存

转载 作者:行者123 更新时间:2023-12-02 11:30:36 26 4
gpt4 key购买 nike

我在客户的计算机上部署了一个 GWT 应用程序。作为一个正在进行的在开发的同时,我们必须发布新的改进版本不时申请。每次我们发布新版本时经常会遇到客户端浏览器缓存了的问题旧脚本脚本有一段时间它的行为与它的数据一样奇怪正在尝试与它不太兼容。是什么克服这个问题的最好方法。目前我必须告诉用户清除浏览器的缓存以获取新版本,但这会很好他们不必这样做。

最佳答案

可能的解决方案取决于您托管应用程序的方式。如果您直接从 servlet 容器托管,那么您可以使用 servlet 过滤器,如下所述:

http://seewah.blogspot.com/2009/02/gwt-tips-2-nocachejs-getting-cached-in.html

以下是来自 tadedon 库的适当过滤器:

http://code.google.com/p/tadedon/source/browse/tadedon-servlet/src/main/java/com/xemantic/tadedon/servlet/CacheDisablingFilter.java

http://code.google.com/p/tadedon/source/browse/tadedon-servlet/src/main/java/com/xemantic/tadedon/servlet/CacheForcingFilter.java

这里是 guice ServletModule,它使它们能够用于整个 guice Web 应用程序:

http://code.google.com/p/tadedon/source/browse/tadedon-gwt/src/main/java/com/xemantic/tadedon/gwt/http/GwtHttpCachingModule.java

如果你在 tomcat 前面使用一些反向代理,那就更简单了。如果是 apache(例如 mod_proxy、mod_jk),并假设所有应用程序资源(html、图形、java 脚本、css 等)都放在 apache 上,只需在 apache 配置中设置以下选项:

<Files *.nocache.*>
ExpiresDefault "access"
</Files>

<Files *.cache.*>
ExpiresDefault "now plus 1 year"
</Files>

这里有描述:

http://code.google.com/webtoolkit/doc/latest/DevGuideCompilingAndDebugging.html

在“完美缓存”部分。这种部署场景假设只有 rpc 请求应该通过反向代理到达 tomcat。如果由于某些原因所有应用程序上下文都代理到 tomcat,您仍然可以使用 apache 的 LocationMatch 指令而不是 Files 指令。

关于gwt - 停止 GWT 应用程序中的浏览器脚本缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3407649/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com