java 代码
public class CharacterEncodingFilter implements Filter { private String edcoding=null; private FilterConfig filterConfig=null; private boolean ignore=true; public void destroy() { edcoding=null; filterConfig=null; } public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain) throws IOException, ServletException { if(ignore==true||request.getCharacterEncoding()==null){ String encoding=setCharacterEncoding(request); if(encoding!=null){ request.setCharacterEncoding(encoding); } } filterChain.doFilter(request, response); } public void init(FilterConfig filterConfig) throws ServletException { this.filterConfig=filterConfig; this.edcoding=filterConfig.getInitParameter("encoding"); String value=filterConfig.getInitParameter("ignore"); if(value==null){ this.ignore=true; }else if(value.equalsIgnoreCase("true")){ this.ignore=true; }else{ this.ignore=false; } } public String setCharacterEncoding(ServletRequest request){ return this.edcoding; } }
web.xml中加以下代码
xml 代码
<filter> <filter-name>CharacterEncodingFilter</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> </filter> <filter-mapping> <filter-name>CharacterEncodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>