<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆 - 6  文章 - 129  trackbacks - 0
    <2025年7月>
    293012345
    6789101112
    13141516171819
    20212223242526
    272829303112
    3456789

    常用鏈接

    留言簿(14)

    隨筆檔案(6)

    文章分類(467)

    文章檔案(423)

    相冊

    收藏夾(18)

    JAVA

    搜索

    •  

    積分與排名

    • 積分 - 829293
    • 排名 - 49

    最新評論

    閱讀排行榜

    評論排行榜

    /*
    * Licensed to the Apache Software Foundation (ASF) under one or more
    * contributor license agreements.  See the NOTICE file distributed with
    * this work for additional information regarding copyright ownership.
    * The ASF licenses this file to You under the Apache License, Version 2.0
    * (the "License"); you may not use this file except in compliance with
    * the License.  You may obtain a copy of the License at
    *
    *     http://www.apache.org/licenses/LICENSE-2.0
    *
    * Unless required by applicable law or agreed to in writing, software
    * distributed under the License is distributed on an "AS IS" BASIS,
    * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    * See the License for the specific language governing permissions and
    * limitations under the License.
    */


    package dgut.ke.filter;


    import java.io.IOException;
    import javax.servlet.Filter;
    import javax.servlet.FilterChain;
    import javax.servlet.FilterConfig;
    import javax.servlet.ServletException;
    import javax.servlet.ServletRequest;
    import javax.servlet.ServletResponse;

     

    /**
     * <p>Example filter that sets the character encoding to be used in parsing the
     * incoming request, either unconditionally or only if the client did not
     * specify a character encoding.  Configuration of this filter is based on
     * the following initialization parameters:</p>
     * <ul>
     * <li><strong>encoding</strong> - The character encoding to be configured
     *     for this request, either conditionally or unconditionally based on
     *     the <code>ignore</code> initialization parameter.  This parameter
     *     is required, so there is no default.</li>
     * <li><strong>ignore</strong> - If set to "true", any character encoding
     *     specified by the client is ignored, and the value returned by the
     *     <code>selectEncoding()</code> method is set.  If set to "false,
     *     <code>selectEncoding()</code> is called <strong>only</strong> if the
     *     client has not already specified an encoding.  By default, this
     *     parameter is set to "true".</li>
     * </ul>
     *
     * <p>Although this filter can be used unchanged, it is also easy to
     * subclass it and make the <code>selectEncoding()</code> method more
     * intelligent about what encoding to choose, based on characteristics of
     * the incoming request (such as the values of the <code>Accept-Language</code>
     * and <code>User-Agent</code> headers, or a value stashed in the current
     * user's session.</p>
     *
     * @author Craig McClanahan
     * @version $Revision: 466607 $ $Date: 2006-10-21 17:09:50 -0600 (Sat, 21 Oct 2006) $
     */

    public class SetCharacterEncodingFilter implements Filter {


        // ----------------------------------------------------- Instance Variables


        /**
         * The default character encoding to set for requests that pass through
         * this filter.
         */
        protected String encoding = null;


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


        /**
         * Should a character encoding specified by the client be ignored?
         */
        protected boolean ignore = true;


        // --------------------------------------------------------- Public Methods


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

            this.encoding = null;
            this.filterConfig = null;

        }


        /**
         * Select and set (if specified) the character encoding to be used to
         * interpret request parameters for this request.
         *
         * @param request The servlet request we are processing
         * @param result The servlet response we are creating
         * @param chain The filter chain we are processing
         *
         * @exception IOException if an input/output error occurs
         * @exception ServletException if a servlet error occurs
         */
        public void doFilter(ServletRequest request, ServletResponse response,
                             FilterChain chain)
     throws IOException, ServletException {

            // Conditionally select and set the character encoding to be used
            if (ignore || (request.getCharacterEncoding() == null)) {
                String encoding = selectEncoding(request);
                if (encoding != null)
                    request.setCharacterEncoding(encoding);
            }
     // Pass control on to the next filter
            chain.doFilter(request, response);

        }


        /**
         * Place this filter into service.
         *
         * @param filterConfig The filter configuration object
         */
        public void init(FilterConfig filterConfig) throws ServletException {

     this.filterConfig = filterConfig;
            this.encoding = filterConfig.getInitParameter("encoding");
            String value = filterConfig.getInitParameter("ignore");
            if (value == null)
                this.ignore = true;
            else if (value.equalsIgnoreCase("true"))
                this.ignore = true;
            else if (value.equalsIgnoreCase("yes"))
                this.ignore = true;
            else
                this.ignore = false;

        }


        // ------------------------------------------------------ Protected Methods


        /**
         * Select an appropriate character encoding to be used, based on the
         * characteristics of the current request and/or filter initialization
         * parameters.  If no character encoding should be set, return
         * <code>null</code>.
         * <p>
         * The default implementation unconditionally returns the value configured
         * by the <strong>encoding</strong> initialization parameter for this
         * filter.
         *
         * @param request The servlet request we are processing
         */
        protected String selectEncoding(ServletRequest request) {

            return (this.encoding);

        }


    }
    還需要在web.xml中配置相關信息
    <!-- Example filter to set character encoding on each request -->
       <filter>
          <filter-name>Set Character Encoding</filter-name>
          <filter-class>dgut.ke.filter.SetCharacterEncodingFilter</filter-class>
          <init-param>
              <param-name>encoding</param-name>
              <param-value>gbk</param-value>
          </init-param>
       </filter>
       <filter-mapping>
            <filter-name>Set Character Encoding</filter-name>
            <url-pattern>/*</url-pattern>
        </filter-mapping>



    posted on 2007-08-18 10:47 Ke 閱讀(820) 評論(0)  編輯  收藏 所屬分類: others
    主站蜘蛛池模板: 含羞草国产亚洲精品岁国产精品 | 久久久久久久久久久免费精品| 青青草原精品国产亚洲av| 国产美女做a免费视频软件| 18观看免费永久视频| 特级做A爰片毛片免费看无码 | 国产黄片不卡免费| 亚洲成a∧人片在线观看无码 | 无码精品一区二区三区免费视频| 精品一区二区三区无码免费直播| 亚洲AV无码精品蜜桃| 亚洲高清美女一区二区三区| 亚洲精品国精品久久99热一| 亚洲国产精品毛片av不卡在线| 日本免费人成视频播放 | 亚洲一区精彩视频| 亚洲福利视频网址| 亚洲国产人成在线观看69网站| 亚洲综合亚洲综合网成人| 国产一级理论免费版| 免费看大黄高清网站视频在线| 国产免费久久精品99re丫y| 99re6免费视频| 久久久久久国产精品免费免费男同| 国产一级高青免费| 中文字幕一区二区三区免费视频| 一级毛片免费全部播放| 日韩少妇内射免费播放| 色天使亚洲综合一区二区| 亚洲gay片在线gv网站| 亚洲天然素人无码专区| 亚洲一卡2卡3卡4卡5卡6卡| 国产成人精品日本亚洲直接| 亚洲一区二区三区91| 国产精品亚洲精品观看不卡| 亚洲一区二区三区在线网站| 亚洲人成人网毛片在线播放| 国产人成亚洲第一网站在线播放| 在线观看亚洲AV日韩A∨| 亚洲国产精品无码久久九九大片| 亚洲精品无码一区二区|