如何将2个module.module.nocache.js嵌入到html文件中?

时间:2009-09-09 08:18:22

标签: java gwt

我写了2个GWT模块并编译它。我想将***。nocache.js文件定位到html文件中。

1 个答案:

答案 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>