麻烦大大们帮我解释下着个过滤器代码,FilterConfig 是什么? 还有encoding怎么获得的?重点是 init()方法
public class EncodingFilter implements Filter {    private FilterConfig filterConfig = null;
    private String encoding = null;     public void destroy() {
         filterConfig = null;
         encoding = null;
     }     public void doFilter(ServletRequest request, ServletResponse response,
             FilterChain filterChain) throws IOException, ServletException {
        if (request.getCharacterEncoding() == null) {
            if (encoding != null) {
                 request.setCharacterEncoding(encoding);
             }
             filterChain.doFilter(request, response);
         }
     }
     
     public void init(FilterConfig filterConfig) throws ServletException {
        this.filterConfig = filterConfig;
        this.encoding = filterConfig.getInitParameter("encoding");
     }
}

解决方案 »

  1.   

    在web.xml里面配置
    给你看看 Spring的例子
    <!-- Character Encoding filter -->
    <filter>
    <filter-name>encodingFilter</filter-name>
    <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
    <init-param>
    <param-name>encoding</param-name>
    <param-value>UTF-8</param-value>

    </init-param>
    <init-param>
    <param-name>forceEncoding</param-name>
    <param-value>true</param-value>
    </init-param>
    </filter>param-name 的值就是你代码里面的get set属性
    param-value 就是你要设置的值
      

  2.   

    看了下 web.xml 果然跟你讲的一样 谢谢了
      

  3.   

    确实不熟,老师讲的时候都是直接在 doFilter()方法里面直接设置编码,所以这个不懂  呵呵