1.配置文件 web.xml <filter> <filter-name>Set Character Encoding</filter-name> <filter-class>com.it.filter.EncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>GBk</param-value> </init-param> </filter> <filter-mapping> <filter-name>Set Character Encoding</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> 2.过滤器 EncodingFilter。java package com.it.filter; import java.io.IOException; import java.util.Iterator; import java.util.Map; 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 EncodingFilter implements Filter { protected String encoding; protected FilterConfig filterConfig; public EncodingFilter() { encoding = null; filterConfig = null; } public void destroy() { encoding = null; filterConfig = null; } @SuppressWarnings("unchecked") public void doFilter(ServletRequest servletrequest, ServletResponse servletresponse, FilterChain filterchain) throws IOException, ServletException { String s = selectEncoding(servletrequest); if (s != null) { Map parameterMap = servletrequest.getParameterMap(); if (!parameterMap.isEmpty()) { Iterator it = parameterMap.keySet().iterator(); System.out.println(it); System.out.println(parameterMap); String value[] ; while (it.hasNext()) { value = (String[]) parameterMap.get(it.next()); for (int i = 0; i < value.length; i++) { value[i] = new String(value[i].getBytes("ISO-8859-1"),encoding); } } } } filterchain.doFilter(servletrequest, servletresponse); } public void init(FilterConfig filterconfig) throws ServletException { filterConfig = filterconfig; encoding = filterconfig.getInitParameter("encoding"); } protected String selectEncoding(ServletRequest servletrequest) { return encoding; } }