亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? compressionfilter.java

?? java servlet著名論壇源代碼
?? JAVA
字號:
/*
 * CompressionFilter.java
 * $Header: /cvsroot/mvnforum/myvietnam/src/net/myvietnam/mvncore/servlet/filter/CompressionFilter.java,v 1.2 2004/06/01 13:25:40 skoehler Exp $
 * $Revision: 1.2 $
 * $Date: 2004/06/01 13:25:40 $
 *
 * ====================================================================
 *
 * The Apache Software License, Version 1.1
 *
 * Copyright (c) 1999 The Apache Software Foundation.  All rights
 * reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 *
 * 1. Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 *
 * 2. Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in
 *    the documentation and/or other materials provided with the
 *    distribution.
 *
 * 3. The end-user documentation included with the redistribution, if
 *    any, must include the following acknowlegement:
 *       "This product includes software developed by the
 *        Apache Software Foundation (http://www.apache.org/)."
 *    Alternately, this acknowlegement may appear in the software itself,
 *    if and wherever such third-party acknowlegements normally appear.
 *
 * 4. The names "The Jakarta Project", "Tomcat", and "Apache Software
 *    Foundation" must not be used to endorse or promote products derived
 *    from this software without prior written permission. For written
 *    permission, please contact apache@apache.org.
 *
 * 5. Products derived from this software may not be called "Apache"
 *    nor may "Apache" appear in their names without prior written
 *    permission of the Apache Group.
 *
 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
 * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
 * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
 * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
 * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 * SUCH DAMAGE.
 * ====================================================================
 *
 * This software consists of voluntary contributions made by many
 * individuals on behalf of the Apache Software Foundation.  For more
 * information on the Apache Software Foundation, please see
 * <http://www.apache.org/>.
 *
 * [Additional notices, if required by prior licensing conditions]
 *
 */

package net.myvietnam.mvncore.servlet.filter;

import java.io.IOException;
import java.util.Enumeration;
import javax.servlet.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;


/**
 * Implementation of <code>javax.servlet.Filter</code> used to compress
 * the ServletResponse if it is bigger than a threshold.
 *
 * @author Amy Roh
 * @author Dmitri Valdin
 * @version $Revision: 1.2 $, $Date: 2004/06/01 13:25:40 $
 */

public class CompressionFilter implements Filter{

    private static Log log = LogFactory.getLog(CompressionFilter.class);

    /**
     * The filter configuration object we are associated with.  If this value
     * is null, this filter instance is not currently configured.
     */
    private FilterConfig config = null;

    /**
     * Minimal reasonable threshold
     */
    private int minThreshold = 128;


    /**
     * The threshold number to compress
     */
    protected int compressionThreshold;

    /**
     * Debug level for this filter
     */
//    private int debug = 0;

    /**
     * Place this filter into service.
     *
     * @param filterConfig The filter configuration object
     */

    public void init(FilterConfig filterConfig) {

        config = filterConfig;
        if (filterConfig != null) {
            /*
            String value = filterConfig.getInitParameter("debug");
            if (value!=null) {
                debug = Integer.parseInt(value);
            } else {
                debug = 0;
            }*/
            String str = filterConfig.getInitParameter("compressionThreshold");
            if (str!=null) {
                compressionThreshold = Integer.parseInt(str);
                if (compressionThreshold != 0 && compressionThreshold < minThreshold) {
                    log.info("compressionThreshold should be either 0 - no compression or >= " + minThreshold);
                    log.info("compressionThreshold set to " + minThreshold);
                    compressionThreshold = minThreshold;
                }
            } else {
                compressionThreshold = 0;
            }

        } else {
            compressionThreshold = 0;
        }

    }

    /**
    * Take this filter out of service.
    */
    public void destroy() {

        this.config = null;

    }

    /**
     * The <code>doFilter</code> method of the Filter is called by the container
     * each time a request/response pair is passed through the chain due
     * to a client request for a resource at the end of the chain.
     * The FilterChain passed into this method allows the Filter to pass on the
     * request and response to the next entity in the chain.<p>
     * This method first examines the request to check whether the client support
     * compression. <br>
     * It simply just pass the request and response if there is no support for
     * compression.<br>
     * If the compression support is available, it creates a
     * CompressionServletResponseWrapper object which compresses the content and
     * modifies the header if the content length is big enough.
     * It then invokes the next entity in the chain using the FilterChain object
     * (<code>chain.doFilter()</code>), <br>
     **/

    public void doFilter ( ServletRequest request, ServletResponse response, FilterChain chain )
        throws IOException, ServletException {

        //log.trace("@doFilter");

        if (compressionThreshold == 0) {
            //log.trace("doFilter gets called, but compressionTreshold is set to 0 - no compression");
            chain.doFilter(request, response);
            return;
        }

        boolean supportCompression = false;
        if (request instanceof HttpServletRequest) {
            //log.trace("requestURI = " + ((HttpServletRequest)request).getRequestURI());

            // Are we allowed to compress ?
            String s = request.getParameter("gzip");
            if ("false".equals(s)) {
                //log.trace("got parameter gzip=false --> don't compress, just chain filter");
                chain.doFilter(request, response);
                return;
            }

            Enumeration e =
                ((HttpServletRequest)request).getHeaders("Accept-Encoding");
            while (e.hasMoreElements()) {
                String name = (String)e.nextElement();
                if (name.indexOf("gzip") != -1) {
                    //log.trace("supports compression");
                    supportCompression = true;
                } else {
                    //log.trace("no support for compresion");
                }
            }
        }

        if (!supportCompression) {
            //log.trace("doFilter gets called wo compression");
            chain.doFilter(request, response);
            return;
        } else {
            if (response instanceof HttpServletResponse) {
                CompressionServletResponseWrapper wrappedResponse =
                    new CompressionServletResponseWrapper((HttpServletResponse)response);
                //minhnn
                //wrappedResponse.setDebugLevel(debug);
                wrappedResponse.setCompressionThreshold(compressionThreshold);
                //log.trace("doFilter gets called with compression");
                try {
                    chain.doFilter(request, wrappedResponse);
                } finally {
                    wrappedResponse.finishResponse();
                }
                return;
            }
        }
    }

    /**
     * Set filter config
     * This function is equivalent to init. Required by Weblogic 6.1
     *
     * @param filterConfig The filter configuration object
     */
    public void setFilterConfig(FilterConfig filterConfig) {
        init(filterConfig);
    }

    /**
     * Return filter config
     * Required by Weblogic 6.1
     */
    public FilterConfig getFilterConfig() {
        return config;
    }

}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩欧美二区三区| 成人午夜短视频| 91精品国产综合久久福利软件 | 99国产欧美另类久久久精品 | 日韩一区二区三区四区| 首页综合国产亚洲丝袜| 91麻豆精品国产91久久久更新时间| 视频在线观看91| 欧美一级黄色录像| 国产高清无密码一区二区三区| 久久精品一二三| 成人久久18免费网站麻豆| 国产精品国产三级国产普通话三级| 成人国产精品免费观看动漫 | 亚洲男女毛片无遮挡| 在线观看欧美精品| 久久精品国产亚洲5555| 日本一区二区三区在线不卡| 91网站最新地址| 免费人成在线不卡| 中文字幕欧美三区| 欧美三级一区二区| 激情综合五月天| 中文字幕一区不卡| 4438成人网| 成人做爰69片免费看网站| 亚洲国产精品欧美一二99| 日韩一区二区中文字幕| 成人免费视频免费观看| 亚洲欧美日本在线| 蜜桃av一区二区三区电影| 911精品国产一区二区在线| 国产在线一区观看| 国产精品免费丝袜| 欧美丰满少妇xxxxx高潮对白| 国产做a爰片久久毛片| 国产高清精品久久久久| 一区二区三区在线不卡| 久久综合久久久久88| 欧美主播一区二区三区| 国产精品自拍网站| 五月天亚洲精品| 亚洲欧洲av一区二区三区久久| 日韩一区二区精品在线观看| aaa国产一区| 国产91清纯白嫩初高中在线观看| 日韩黄色免费网站| 亚洲三级在线观看| 国产日韩一级二级三级| 日韩午夜中文字幕| 欧美日韩免费一区二区三区视频| 成人h动漫精品一区二区| 美女视频网站黄色亚洲| 亚洲r级在线视频| 亚洲蜜臀av乱码久久精品| 亚洲国产精品成人综合| 欧美大片一区二区| 欧美精选午夜久久久乱码6080| 91在线观看免费视频| 成人禁用看黄a在线| 国产一区视频导航| 人妖欧美一区二区| 日本美女一区二区| 亚洲超碰97人人做人人爱| 中文字幕制服丝袜一区二区三区| 久久久久久久久99精品| 日韩一级免费一区| 91麻豆精品国产自产在线观看一区| 色94色欧美sute亚洲线路一ni| 成人一区二区三区视频在线观看| 国产在线精品视频| 韩国欧美国产1区| 麻豆国产精品官网| 久久99在线观看| 美腿丝袜在线亚洲一区| 欧美裸体一区二区三区| 色综合久久中文字幕综合网| 99九九99九九九视频精品| 99久久精品国产网站| a在线播放不卡| 91论坛在线播放| 欧美天堂一区二区三区| 欧美三级蜜桃2在线观看| 欧美精品在线视频| 制服.丝袜.亚洲.另类.中文| 日韩写真欧美这视频| 欧美大胆一级视频| 久久久久国产精品麻豆| 国产日韩欧美精品一区| 国产精品久久久久久久久图文区| 国产精品狼人久久影院观看方式| 国产精品电影一区二区三区| 亚洲精品v日韩精品| 亚洲午夜激情av| 免费观看在线色综合| 国产一区二区美女| 91视频一区二区| 欧美色老头old∨ideo| 日韩一区二区三区免费看| 日韩欧美激情一区| 亚洲国产精品精华液ab| 亚洲久草在线视频| 日本亚洲免费观看| 成人综合在线观看| 欧美日韩国产免费一区二区| 日韩欧美一区电影| 国产精品水嫩水嫩| 亚洲午夜久久久久| 国产自产v一区二区三区c| 色综合天天视频在线观看 | 日日摸夜夜添夜夜添亚洲女人| 天堂在线一区二区| 国产精品一区二区在线观看不卡| 成人中文字幕在线| 一区二区在线观看视频| 男人的j进女人的j一区| 国产91富婆露脸刺激对白 | 欧美久久久久久蜜桃| 久久九九久久九九| 亚洲国产综合91精品麻豆| 狠狠色2019综合网| 欧美日韩一级大片网址| 久久久不卡网国产精品二区| 一二三四社区欧美黄| 久久99久久久欧美国产| 色视频一区二区| 国产日韩欧美精品在线| 美女视频一区在线观看| 91成人网在线| 亚洲国产经典视频| 久久不见久久见免费视频7 | 国产精品女主播av| 天堂影院一区二区| 色综合天天性综合| 久久久综合视频| 日韩av不卡一区二区| 色综合天天在线| 中文字幕五月欧美| 国产一区二区在线视频| 欧美日韩国产在线观看| 亚洲私人黄色宅男| 国产大陆a不卡| 精品国产网站在线观看| 亚洲电影视频在线| 在线中文字幕一区二区| 最新不卡av在线| 粉嫩高潮美女一区二区三区| 欧美v亚洲v综合ⅴ国产v| 日韩电影免费在线| 欧美美女直播网站| 图片区小说区国产精品视频| 91福利在线看| 亚洲午夜免费电影| 欧美亚洲国产一区二区三区| 亚洲视频中文字幕| 99精品欧美一区| 国产a精品视频| 久久精品亚洲麻豆av一区二区| 青青草国产精品97视觉盛宴| 制服视频三区第一页精品| 亚洲成人久久影院| 欧美视频中文一区二区三区在线观看| 综合久久国产九一剧情麻豆| 91亚洲午夜精品久久久久久| 中文字幕一区二区三区不卡在线 | 色综合色综合色综合| 中文字幕中文字幕一区二区| kk眼镜猥琐国模调教系列一区二区| 欧美激情一区二区三区蜜桃视频| 国产精品影音先锋| 久久久www成人免费无遮挡大片 | 免费久久精品视频| 欧美一区二区三区免费在线看| 日本美女一区二区| 久久中文字幕电影| 国产成人免费视频网站| 中文字幕在线一区二区三区| 91猫先生在线| 日韩高清不卡一区二区三区| 日韩欧美一二三区| 国产91丝袜在线播放九色| 亚洲天堂免费在线观看视频| 欧美色图在线观看| 免费高清在线视频一区·| 日韩免费看网站| 成人av动漫在线| 亚洲一区国产视频| 欧美岛国在线观看| 99久久精品国产导航| 亚洲综合男人的天堂| 欧美大片一区二区| www.成人在线| 午夜精品久久久久久久蜜桃app| 5月丁香婷婷综合| 粉嫩av一区二区三区| 亚洲gay无套男同| 国产色产综合产在线视频| 色视频一区二区| 狠狠狠色丁香婷婷综合久久五月| 亚洲欧洲一区二区在线播放|