注:我用的是MyEclipse10,MyEclipse的版本不同,过滤器方法的参数有可能不同

--------------------------------------------------------------------------------------------------------------------

jsp字符编码过滤器 代码如下:

package filter;

import java.io.IOException;
import javax.servlet.*;

public class CharacterEncodingFilter implements Filter {
	String encodingString="UTF-8";
	@Override
	public void destroy() {
		encodingString="";
	}

	@Override
	public void doFilter(ServletRequest arg0, ServletResponse arg1,FilterChain arg2)
									throws IOException, ServletException {
		if(encodingString!=null){
			//注意MyEclipse的版本不同,方法doFilter的参数有可能不同,
			//设置字符编码,认准其类型为ServletRequest即可
			// 我用的是MyEclipse10
			arg0.setCharacterEncoding(encodingString); 
		}
		arg2.doFilter(arg0, arg1);
	}

	@Override
	public void init(FilterConfig arg0) throws ServletException {
		//注意MyEclipse的版本不同,方法init的参数有可能不同
		//这里的参数为arg0
		// 我用的是MyEclipse10
		//从配置文件中取编码
		this.encodingString=arg0.getInitParameter("encoding").trim();
		if(encodingString==null){
			 encodingString="UTF-8";
		}
	}
}

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

在web.xml文件配置该过滤器如下;

<filter>
<filter-name>CharacterEncodingFilter</filter-name>
<filter-class>filter.CharacterEncodingFilter</filter-class>
<init-param>
  <param-name>encoding</param-name>
<param-value>UTF-8</param-value>
  </init-param>
</filter>
<filter-mapping>
<filter-name>CharacterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>  

----------------------------------------------------------------------------------------------------------------------------------------------------

您的十分满意是我追求的宗旨。

您的一点建议是我后续的动力。







本文转载:CSDN博客