注:我用的是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>
----------------------------------------------------------------------------------------------------------------------------------------------------
您的十分满意是我追求的宗旨。
您的一点建议是我后续的动力。