小海賊的夜晚

            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 海賊 閱讀(406) 評論(0)  編輯  收藏 所屬分類: Servlet and JSP
          主站蜘蛛池模板: 上思县| 呈贡县| 贵南县| 韶关市| 海丰县| 哈巴河县| 玉溪市| 丽水市| 潜江市| 上杭县| 安塞县| 沙雅县| 长乐市| 梁山县| 乌拉特后旗| 电白县| 博白县| 远安县| 长乐市| 临城县| 灵台县| 宜春市| 沁水县| 惠州市| 宝山区| 井研县| 滨海县| 南江县| 金山区| 阆中市| 车险| 当阳市| 青河县| 丰城市| 五指山市| 加查县| 观塘区| 游戏| 城市| 舟曲县| 牟定县|