中文过滤器程序: package org.sunxin.ch20; 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; public class SetCharacterEncodingFilter implements Filter{ protected String encoding=null; protected FilterConfig filterConfig=null; protected boolean ignore=true; public void destroy() { } 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); } } response.setContentType("text/html;charset="+encoding); chain.doFilter(request, response); } protected String selectEncoding(ServletRequest request) { return this.encoding; } 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.equals("true")){ this.ignore=true; } else if(value.equals("yes")){ this.ignore=true; } else { this.ignore=false; } } } 注:本程序来源于《WEB开发详解》。