代码之家  ›  专栏  ›  技术社区  ›  Saeed Zarinfam

如何将2 gwt module_x.module_x.nocache.js嵌入到html文件中?

  •  0
  • Saeed Zarinfam  · 技术社区  · 17 年前

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

    1 回复  |  直到 17 年前
        1
  •  1
  •   David Tinker    17 年前

    <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);
        }
    ...
    }
    

    <filter>
        <filter-name>cacheHeaderFilter</filter-name>
        <filter-class>com.acme.gwt.server.CacheHeaderFilter</filter-class>
    </filter>