小海賊的夜晚

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            14 隨筆 :: 0 文章 :: 9 評論 :: 0 Trackbacks

          gzip就是GNU ZIP了,很多瀏覽器都支持這種壓縮格式的content,需要加上response.addHeader("Content-Encoding", "gzip");不過避免某些不支持的瀏覽器出現錯誤,需要檢查request.getHeaders("Accept-Encoding");里面是否包含了gizp.

          壓縮處理的工序是在過濾鏈里面處理的,在自己的應用的web.xml里面描述:

          GzipFilter
          compressionFilters.CompressionFilter


          GzipFilter
          *

          這里CompressionFilter是Filter接口的類,在實現doFilter方法的時候:
          wrappedResponse = new CompressionServletResponseWrapper((HttpServletResponse)response);
          chain.doFilter(request, wrappedResponse);
          實際上是用CompressionServletResponseWrapper來處理服務器端的response,我們都知道jsp顯示的內容是 response里面的out輸出的流產生出來的,那么用CompressionServletResponseWrapper將out的流采用gzip壓縮下就可以完成任務了:CompressionResponseStream stream = new CompressionResponseStream(response);
          在CompressionResponseStream里面將outputstream封裝了一下
          GZIPOutputStream gzipstream = new GZIPOutputStream(output);
          response.addHeader("Content-Encoding", "gzip");
          具體代碼應該在網上也能找到了.

          posted on 2005-08-03 17:25 海賊 閱讀(410) 評論(0)  編輯  收藏 所屬分類: Servlet and JSP
          主站蜘蛛池模板: 雷山县| 南郑县| 诸城市| 万载县| 阳江市| 应用必备| 潼关县| 磐安县| 合山市| 青神县| 循化| 乌审旗| 新沂市| 兴城市| 苏州市| 巴里| 齐齐哈尔市| 紫云| 清镇市| 宜城市| 石城县| 石家庄市| 嘉义市| 许昌市| 临汾市| 揭西县| 大余县| 延安市| 安泽县| 西峡县| 镇原县| 北宁市| 万安县| 庆云县| 色达县| 英吉沙县| 五寨县| 农安县| 绥中县| 满洲里市| 霍林郭勒市|