注:该过滤器只对post提交方式有效。


java代码:


package filter;

import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;

public class CharacterEncodingFilter implements Filter{
private String charEncoding;

public void init(FilterConfig filterConfig) throws ServletException {
charEncoding = filterConfig.getInitParameter("encoding");
if(charEncoding==null||charEncoding.isEmpty())
{
charEncoding = "UTF-8";
}
System.out.println("字符编码过滤器初始化完毕 Encoding=" +charEncoding);
}

public void doFilter(ServletRequest request, ServletResponse response,
FilterChain filterChain) throws IOException, ServletException {

System.out.println("有请求到来,开始执行字符编码过滤器....");

HttpServletRequest httpRequest = (HttpServletRequest) request;
httpRequest.setCharacterEncoding(charEncoding);
filterChain.doFilter(request, response);
}

@Override
public void destroy() {

}
}


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

web.xml文件配置:

<filter>
<filter-name>EncodingFilter</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>EncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

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



​​

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

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