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

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

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

    一滴水

    java 2006年1月新開始:)
    隨筆 - 10, 文章 - 2, 評論 - 6, 引用 - 0
    數(shù)據(jù)加載中……

    Struts 中文亂碼問題 Filter解決

    這個(gè)也不知道來自網(wǎng)上那里,自己用過了,最近整理資料記錄下來

    原理很簡單就是使用Filter處理設(shè)置的請求的 CharacterEncoding

    具體實(shí)現(xiàn)Filter

    package yidishui.util;
    import javax.servlet.Filter;
    import javax.servlet.FilterChain;
    import javax.servlet.FilterConfig;
    import javax.servlet.ServletException;
    import javax.servlet.ServletRequest;
    import javax.servlet.ServletResponse;
    import java.io.IOException;
    public class EncodingFilter implements Filter {
    /**
    * 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 response The servlet response we are creating
    * @param chain The filter chain we are processing
    * @throws IOException if an input/output error occurs
    * @throws 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
    * @return return encoding
    */
    protected String selectEncoding(ServletRequest request) {
    return (this.encoding);
    }
    }// EOC
     

    2.具體web.xml配置

    <filter>
    <filter-name>EncodingFilter</filter-name>
    <filter-class>yidishui.util.EncodingFilter</filter-class>
    <init-param>
    <param-name>encoding</param-name>
    <param-value>UTF-8</param-value>
    </init-param>
    <init-param>
    <param-name>ignore</param-name>
    <param-value>yes</param-value>
    </init-param>
    </filter>
    <filter-mapping>
    <filter-name>EncodingFilter</filter-name>
    <url-pattern>/*</url-pattern>
    </filter-mapping>

    posted on 2006-09-08 18:41 一滴水 閱讀(1073) 評論(1)  編輯  收藏

    評論

    # re: Struts 中文亂碼問題 Filter解決[未登錄]  回復(fù)  更多評論   

    呵呵
    2015-03-02 09:16 | 測試

    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 亚洲尹人香蕉网在线视颅| 中文字幕无码精品亚洲资源网| 日本久久久久亚洲中字幕| 久久国产乱子精品免费女| 国产亚洲综合成人91精品| 九九精品成人免费国产片| 久久青青草原亚洲AV无码麻豆| 未满十八18禁止免费无码网站 | 中文字幕乱码一区二区免费| 中文字幕在线亚洲精品 | 久久精品免费一区二区喷潮 | 午夜a级成人免费毛片| 亚洲国产AV一区二区三区四区| 日本成人在线免费观看 | 青青操在线免费观看| 好看的电影网站亚洲一区| 91麻豆国产免费观看| 亚洲精品第一国产综合野| 国产无遮挡吃胸膜奶免费看| 亚洲精品黄色视频在线观看免费资源| 伊人久久大香线蕉亚洲五月天 | 日本在线看片免费| 亚洲综合色一区二区三区小说| 曰曰鲁夜夜免费播放视频| 亚洲精品无码久久| 久久精品国产亚洲AV不卡| 16女性下面无遮挡免费| 亚洲AV无码国产剧情| 国产成人无码综合亚洲日韩| 麻豆高清免费国产一区| 国产精品亚洲专区在线播放| 亚洲欧洲自拍拍偷午夜色无码| 免费的一级片网站| 一级毛片免费不卡直观看| 99久久精品国产亚洲| 国产大片51精品免费观看| 可以免费观看的毛片| 亚洲成av人片在www鸭子| 亚洲精品无码永久中文字幕| aa级一级天堂片免费观看| 久久国产精品免费一区|