posts - 431,  comments - 344,  trackbacks - 0

          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;

          import javax.servlet.UnavailableException;

          public class SetCharacterEncodingFilter 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 void destroy()

                 {

                        this.encoding=null;

                        this.filterConfig=null;

                 }

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

                 {

                        if(ignore||(request.getCharacterEncoding()==null))

                        {

                               String encoding=selectEncoding(request);

                               if(encoding!=null)

                                      request.setCharacterEncoding(encoding);

                        }

                        chain.doFilter(request,response);

                 }

                 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;

                 }

                 private String selectEncoding(ServletRequest request) {

                        return (this.encoding);

                 }

          }

          web.xml 文件里添加

          <filter>

                <filter-name>Set Character Encoding</filter-name>

                <filter-class>com.netmarch.struts.filters.SetCharacterEncodingFilter</filter-class>

                <init-param>

                   <param-name>encoding</param-name>

                   <param-value>UTF-8</param-value>

                </init-param>

            </filter>

            <filter-mapping>

                <filter-name>Set Character Encoding</filter-name>

                <url-pattern>/*</url-pattern>

            </filter-mapping>
          posted on 2006-09-04 16:32 周銳 閱讀(154) 評論(0)  編輯  收藏 所屬分類: JavaJsp
          主站蜘蛛池模板: 旬邑县| 武定县| 镇平县| 孙吴县| 夏河县| 资阳市| 黎城县| 丰都县| 绥滨县| 阿合奇县| 炉霍县| 安平县| 普陀区| 汉川市| 广水市| 靖西县| 昌吉市| 平阴县| 南通市| 交城县| 建平县| 北票市| 萨迦县| 天峨县| 婺源县| 清河县| 越西县| 扎赉特旗| 肥城市| 略阳县| 台安县| 白河县| 九台市| 惠东县| 巴塘县| 游戏| 哈尔滨市| 鹿邑县| 新田县| 类乌齐县| 西乌|