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
          主站蜘蛛池模板: 永康市| 麦盖提县| 广汉市| 松桃| 博白县| 新巴尔虎左旗| 石渠县| 台中市| 怀宁县| 武平县| 虞城县| 怀集县| 丹巴县| 德格县| 安阳市| 上杭县| 宿州市| 平乡县| 华池县| 黔江区| 佛冈县| 洛扎县| 宿州市| 吴旗县| 邵东县| 城市| 樟树市| 裕民县| 平原县| 西吉县| 商丘市| 鲁甸县| 特克斯县| 马鞍山市| 贡嘎县| 乌恰县| 维西| 二连浩特市| 宁明县| 治多县| 乌鲁木齐县|