你的位置:首页 > 软件开发 > Java > 数据的压缩1 (52)

数据的压缩1 (52)

发布时间:2015-05-01 12:00:36
第四步:修改包装类Myresponse2,让输出数据放到一个内存缓存区中package cn.hongxin.filter;public class GzipFilter2 implements Filter { public void init(FilterConfig fi ...

第四步:修改包装类Myresponse2,让输出数据放到一个内存缓存区中

package cn.hongxin.filter;public class GzipFilter2 implements Filter {  public void init(FilterConfig filterConfig) throws ServletException {  }  public void doFilter(ServletRequest request, ServletResponse response,      FilterChain chain) throws IOException, ServletException {    HttpServletResponse resp= (HttpServletResponse) response;    //声明包装类对象    MyResponse2 myresp = new MyResponse2(resp);    //放行,调用oneServlet.doGet    chain.doFilter(request, myresp);         //第二步:从myresp2中读取原生的数据    byte[] src = myresp.getSrc();         //第三步:开始压缩    ByteArrayOutputStream destBytes = new ByteArrayOutputStream();    GZIPOutputStream zip = new GZIPOutputStream(destBytes);    zip.write(src);    zip.close();        //第三步:输出-使用原生的response    resp.setContentType("text/html;charset=UTF-8");    //获压缩以后数据    byte[] dest = destBytes.toByteArray();    System.err.println("压缩之前:"+src.length);    System.err.println("压缩以后:"+dest.length);    //设置头    resp.setContentLength(dest.length);    resp.setHeader("Content-Encoding","gzip");    //输出    OutputStream out = resp.getOutputStream();    out.write(dest);  }  public void destroy() {  }}

原标题:数据的压缩1 (52)

关键词:

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

可能感兴趣文章

我的浏览记录