zoukankan      html  css  js  c++  java
  • 使用GZIP动态压缩Extjs

    package byd.core;
    
    import java.io.IOException;    
    import java.util.HashMap;    
    import java.util.Iterator;    
    import java.util.Map;    
    import javax.servlet.Filter;    
    import javax.servlet.FilterChain;    
    import javax.servlet.FilterConfig;    
    import javax.servlet.ServletException;    
    import javax.servlet.ServletRequest;    
    import javax.servlet.ServletResponse;    
    import javax.servlet.http.HttpServletRequest;    
    import javax.servlet.http.HttpServletResponse;    
      
    public class GzipJsFilter implements Filter    
    {    
    @SuppressWarnings("unchecked")   
    Map headers = new HashMap();    
      
    public void destroy() { }    
      
    public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain)    
      
    throws IOException, ServletException {    
        if (req instanceof HttpServletRequest)    
          doFilter((HttpServletRequest)req, (HttpServletResponse)res, chain);    
        else    
          chain.doFilter(req, res);    
    }    
      
    @SuppressWarnings("unchecked")   
    public void doFilter(HttpServletRequest request, HttpServletResponse response,    
      
    FilterChain chain)    
        throws IOException, ServletException    
    {    
        request.setCharacterEncoding("UTF-8");    
        for (Iterator it = this.headers.entrySet().iterator(); it.hasNext(); ) {    
          Map.Entry entry = (Map.Entry)it.next();    
          response.addHeader((String)entry.getKey(), (String)entry.getValue());    
        }    
        chain.doFilter(request, response);    
    }    
      
    @SuppressWarnings("unchecked")   
    public void init(FilterConfig config) throws ServletException {    
        String headersStr = config.getInitParameter("headers");    
        String[] headers = headersStr.split(",");    
        for (int i = 0; i < headers.length; ++i) {    
          String[] temp = headers[i].split("=");    
          this.headers.put(temp[0].trim(), temp[1].trim());    
        }    
    }    
    }  
    
    <filter>    
          <filter-name>GzipJsFilter</filter-name>    
          <filter-class>com.byd.core.GzipJsFilter</filter-class>    
          <init-param>    
              <param-name>headers</param-name>    
              <param-value>Content-Encoding=gzip</param-value>    
          </init-param>    
    </filter>    
    <filter-mapping>    
       <filter-name>GzipJsFilter</filter-name>    
       <url-pattern>*.gzjs</url-pattern>    
    </filter-mapping>
    
  • 相关阅读:
    TCP详解——传输控制协议(总述)
    sublime text3使用插件SublimeTextTrans设置透明度
    vue学习1
    js事件绑定/监听
    如何成为顶级程序猿
    HTML5中meta属性
    windows安装SVN服务器并设置开机启动
    oracle安装登录sqlplus / as sysdba然后报错ERROR: ORA-01031 insufficient privileges
    移动端和PC端有什么区别
    div+css通用兼容性代码整理
  • 原文地址:https://www.cnblogs.com/qq1988627/p/6606944.html
Copyright © 2011-2022 走看看