package com.yourpackage; 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; import javax.servlet.UnavailableException; /** *//** * Example filter that sets the character encoding to be used in parsing the * incoming request * 字符集过滤器,解决Java中文问题,非常有效 */ publicclass SetCharacterEncodingFilter implements Filter ...{ /** *//** * Take this filter out of service. */ publicvoid destroy() ...{ } /** *//** * Select and set (if specified) the character encoding to be used to * interpret request parameters for this request. */ publicvoid doFilter(ServletRequest request, ServletResponse response, FilterChain chain)throws IOException, ServletException ...{ request.setCharacterEncoding("GB2312"); // 传递控制到下一个过滤器 chain.doFilter(request, response); } publicvoid init(FilterConfig filterConfig) throws ServletException ...{ } }
2.web.xml里面的配置:
<filter> <filter-name>Set Character Encoding</filter-name> <filter-class>netstore.framework.util.SetCharacterEncodingFilter</filter-class> </filter> <filter-mapping> <filter-name>Set Character Encoding</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>