首页 > 代码库 > Struts用Filter过滤器解决中文乱码

Struts用Filter过滤器解决中文乱码


(1)首先看一下项目的结构:(就是com.lc.filter下的MyFilter.java)



(2)其中MyFilter.java的代码如下:

package com.lc.filter;

//ctrl+shift+o   导入各种包 即可
/**
 * 过滤器的使用方法  
 * 在创建类的时候 要用到接口Filter
 * 要自己在web.xml文件中配置过滤器
 * @author xuliugen
 *
 */
public class MyFilter extends HttpServlet implements Filter {

	private String encoding=null;

	public void doFilter(ServletRequest arg0, ServletResponse arg1,
			FilterChain arg2) throws IOException, ServletException {

		//一下两段代码如果可以理解就好 不可以理解的话 到时候用的时候直接拿来用就好了
		arg0.setCharacterEncoding(encoding); 
		arg2.doFilter(arg0, arg1);
	}

	public void init(FilterConfig arg0) throws ServletException {
		// TODO Auto-generated method stub
		encoding = arg0.getInitParameter("encoding"); //获得配置文件中的encoding
	}

}

(3)在web.xml文件中的一段配置如下:

<!-- 解决中文乱码的问题 -->
  <filter>
    <filter-name>MyFilter</filter-name>
    <filter-class>com.lc.filter.MyFilter</filter-class>
    <init-param>
    	<param-name>encoding</param-name>
    	<param-value>utf-8</param-value>
    </init-param>
  </filter>
  <filter-mapping>
    <filter-name>MyFilter</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>


然后就可以了!

Struts用Filter过滤器解决中文乱码