JavaWeb中一个过滤各种中文乱码的过滤器EncodingFilter

一个过滤各种中文乱码的过滤器EncodingFilter

@WebFilter("/*")
public class EncodingFilter implements Filter {

	@Override
	public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
			throws IOException, ServletException {
		
		// 解决 post 请求中文乱码
		request.setCharacterEncoding("utf-8"); 

		// 解决 get 请求中文乱码
		// 通过 tomcat 的 conf 目录 server.xml 中 Connector 标签加入 URIEncoding="UTF-8"
		// <Connector URIEncoding="utf-8" connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>
		
		// 解决 响应 中文乱码
		response.setCharacterEncoding("utf-8"); 
		
		// 解决浏览器解析乱码
		response.setContentType("text/html;charset=utf-8"); 
		
		// 解决 MySQL 数据库在 JDBC 中传递数据乱码
		// url = "jdbc:mysql://localhost:3306/数据库名?useUnicode=true&characterEncoding=utf8&useSSL=false"
		
		/* 放行 */
		chain.doFilter(request, response);
	}
}

你可能感兴趣的:(Tomcat)