我想要一个解决jsp乱码的过滤器
据说有一劳永逸的那种
给我提供一个吧
最好有怎们用
我是新手!
谢谢各位

解决方案 »

  1.   

    这是过滤器的类
    import javax.servlet.*;
    import javax.servlet.http.HttpServlet;
    import java.io.IOException;
    public class MyFilter extends HttpServlet implements Filter {
        private FilterConfig filterConfig;    public void init(FilterConfig filterConfig) throws ServletException {
            this.filterConfig = filterConfig;
        }    public void doFilter(ServletRequest request, ServletResponse response,
                             FilterChain filterChain) {        try {
                request.setCharacterEncoding("GBK");
                filterChain.doFilter(request, response);        } catch (ServletException sx) {
                filterConfig.getServletContext().log(sx.getMessage());
            } catch (IOException iox) {
                filterConfig.getServletContext().log(iox.getMessage());
            }
        }    public void destroy() {
        }
    }
    web.xml里加上这几句<filter>
        <filter-name>filter</filter-name>
        <filter-class>你的过滤类路径</filter-class>
        <init-param>
          <param-name>encoding</param-name>
          <param-value>GB2312</param-value>
        </init-param>
      </filter>
      <filter-mapping>
        <filter-name>filter</filter-name>
        <url-pattern>/*</url-pattern>
      </filter-mapping>
      

  2.   

    这是过滤器的类
    import javax.servlet.*;
    import javax.servlet.http.HttpServlet;
    import java.io.IOException;/**
    *
    * Date: 2005-9-19
    * Time: 17:33:36
    * @author Duzk
    */
    public class MyFilter extends HttpServlet implements Filter {
    private FilterConfig filterConfig;
    //Handle the passed-in FilterConfig
    public void init(FilterConfig filterConfig) throws ServletException {
    this.filterConfig = filterConfig;
    }//Process the request/response pair
    public void doFilter(ServletRequest request, ServletResponse response,
    FilterChain filterChain) {try {
    request.setCharacterEncoding("GBK");
    filterChain.doFilter(request, response);} catch (ServletException sx) {
    filterConfig.getServletContext().log(sx.getMessage());
    } catch (IOException iox) {
    filterConfig.getServletContext().log(iox.getMessage());
    }
    }//Clean up resources
    public void destroy() {
    }
    }然后在web.xml里加上这段
    <filter>
    <filter-name>MyFilter</filter-name>
    <filter-class>类路径.MyFilter</filter-class>
    </filter>
    <filter-mapping>
    <filter-name>MyFilter</filter-name>
    <url-pattern>/*</url-pattern>
    </filter-mapping>
      

  3.   

    用我的一个实例吧。。虽然不咋地。嘿嘿
    web.xml<filter>
       <filter-name>charsetFilter</filter-name>
       <filter-class>com.magic.store.CharSetFilter</filter-class>
      </filterCharSetFilter.java
    package com.magic.store;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.http.HttpServletRequest;public class CharSetFilter implements Filter{ public void init(FilterConfig arg0) throws ServletException {
    // TODO Auto-generated method stub

    } public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
    // TODO Auto-generated method stub

    HttpServletRequest request= (HttpServletRequest)servletRequest;


    String tmp=request.getRequestURI();
    if(tmp.indexOf(".jsp")!=-1||tmp.indexOf(".do")!=-1)
    {
    request.setCharacterEncoding("GBK");
    }
    filterChain.doFilter(servletRequest,servletResponse);
    } public void destroy() {
    // TODO Auto-generated method stub

    }}
      

  4.   

    <filter-mapping>
       <filter-name>charsetFilter</filter-name>
       <url-pattern>/*</url-pattern>
      </filter-mapping>
      

  5.   

    1楼的哥们```是不是copy我代码啊``昏```
      你看过我回的帖子吧?如果不是,那对不起``
       如果是,被抢生意啊```昏``要求原创啊``这年头,分不好赚啊!
      

  6.   

    注意。这种方法不能屏蔽GET方法提交数据中的乱码问题