本文最后更新于 2024-11-02,文章内容可能已经过时。

javaWeb项目会遇到前台传入到后台的数据乱码,以及后台数据传到前台乱码,这样需要用到过滤器filter,先要在项目中建立filter类进行编码处理,然后在xml中进行配置。

filter创建

  • 路径:

image-wlng.png

public class EncodingFilter implements Filter {


	public void destroy() {
		
	}

	public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
		//将前台传向后台的编码格式改为utf-8
		request.setCharacterEncoding("utf-8");
		//将后台传向前台的编码改为utf-8
		response.setContentType("text/html;charset=utf-8");
		// 放行
		chain.doFilter(request, response);
	}


	public void init(FilterConfig fConfig) throws ServletException {

	}

}

  • xml配置
<filter>
    <display-name>EncodingFilter</display-name>
    <filter-name>EncodingFilter</filter-name>
    <filter-class>tankFilter.EncodingFilter</filter-class>
  </filter>
  <filter-mapping>
    <filter-name>EncodingFilter</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>