如何将2 gwt module_x.module_x.nocache.js嵌入到html文件中?
问题描述:
我写了2个GWT模块并编译它。我想找到***。nocache.js文件到一个html文件中。如何将2 gwt module_x.module_x.nocache.js嵌入到html文件中?
答
你需要在你的HTML文件中.nocache.js文件作为脚本:
<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>
注意,这两个GWT模块不互相地干扰。通常情况下,gwt模块假定它是页面上唯一的gwt模块,所以类似历史iframe的东西可能会消失。 – Chii 2009-09-09 10:53:51