package test.encoding;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 SetCharacterEncoding implements Filter ...{ protected String encoding=null; protected FilterConfig filterconfig=null; protected boolean ignore=true; public void destroy() ...{ // TODO Auto-generated method stub } public void doFilter(ServletRequest request, ServletResponse response, FilterChain arg2) throws IOException, ServletException ...{ if(ignore||(request.getCharacterEncoding()==null))...{ String encoding=this.selectEncoding(request); if(encoding!=null)...{ request.setCharacterEncoding(encoding); } } arg2.doFilter(request, response); } public void init(FilterConfig filterconfig) throws ServletException ...{ this.filterconfig=filterconfig; String encoding=filterconfig.getInitParameter("encoding"); String value=filterconfig.getInitParameter("ignore"); if(value==null) ...{ ignore=true; } else if(value.equalsIgnoreCase("true"))...{ ignore=true; } else if(value.equalsIgnoreCase("yes"))...{ ignore=true; } else...{ ignore=false; } } public String selectEncoding(ServletRequest request)...{ return (this.encoding); }} <filter> <filter-name>setCharacterEncoding</filter-name> <filter-class>test.encoding.SetCharacterEncoding</filter-class> <init-param> <param-name>encoding</param-name> <param-value>gb2312</param-value> </init-param></filter><filter-mapping> <filter-name>setCharacterEncoding</filter-name> <url-pattern>/*</url-pattern></filter-mapping>