EncodingFilter.java中的代码
//过滤器---处理中文乱码
public class EncodingFilter implements Filter {
private String encoding = "utf-8";
// 初始化
public void init(FilterConfig filterConfig) throws ServletException {
if(filterConfig.getInitParameter("encoding")!=null){
encoding = filterConfig.getInitParameter("encoding");
}
}
// 响应和请求都设置为utf-8
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
HttpServletRequest request = (HttpServletRequest)servletRequest;
HttpServletResponse response = (HttpServletResponse)servletResponse;
request.setCharacterEncoding(encoding);
response.setCharacterEncoding(encoding);
filterChain.doFilter(request,response);
}
public void destroy() {
}
}
在web.xml中配置过滤器:
<!--配置过滤器-->
<filter>
<filter-name>encoding</filter-name>
<filter-class>com.dodoke.o2o.global.EncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>utf-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>