我写了2个GWT模块并编译它。我想将***。nocache.js文件定位到html文件中。
答案 0 :(得分:1)
您需要将.nocache.js文件作为脚本包含在HTML文件中:
<script language="javascript" src="com.acme.gwt.Module.nocache.js"></script>
<script language="javascript" src="com.acme.gwt.Module2.nocache.js"></script>
您还需要配置Web服务器以向.nocache请求添加标头。用于防止客户端浏览器缓存的文件。如果缓存这些文件,客户端将无法轻松查看应用程序的新版本。 Web服务器可移植的方法是使用servlet过滤器:
public class CacheHeaderFilter implements Filter {
public void doFilter(ServletRequest req, ServletResponse res,
FilterChain filterChain) throws IOException, ServletException {
String uri = ((HttpServletRequest)req).getRequestURI();
if (uri.contains(".cache.")) {
((HttpServletResponse)res).setDateHeader("Expires",
System.currentTimeMillis() + 31536000000L);
} else if (uri.contains(".nocache.")) {
((HttpServletResponse)res).setHeader("Cache-Control", "no-cache");
}
filterChain.doFilter(req, res);
}
...
}
在web.xml中引用它:
<filter>
<filter-name>cacheHeaderFilter</filter-name>
<filter-class>com.acme.gwt.server.CacheHeaderFilter</filter-class>
</filter>