A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 周发建 中级黑马   /  2016-4-1 09:48  /  314 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

(一)通过代理实现全站压缩
//通过代理来实现全站压缩过滤器
class GzipFilter2 implements Filter {
        public void doFilter(ServletRequest req, ServletResponse resp,
                        FilterChain chain) throws IOException, ServletException {
               
                final HttpServletRequest request = (HttpServletRequest) req;
                final HttpServletResponse response = (HttpServletResponse) resp;
               
                ResponseProxy proxy = new ResponseProxy(response);
                chain.doFilter(request, proxy.createProxy());   //ResponseProxy.get...
               
                byte[] out = proxy.getBuffer();  //得到目标资源的输出
               
                System.out.println(new String(out,"UTF-8"));
        }
       
        class ResponseProxy{
                private ByteArrayOutputStream bout = new ByteArrayOutputStream();
                private PrintWriter pw = null;
               
                public byte[] getBuffer(){
                        if(pw!=null){
                                pw.close();
                        }
                        return bout.toByteArray();
                }
}

1 个回复

倒序浏览
过滤器 + 代理  还是java基础..这JAVA还能好好玩吗
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马