2009-09-17 22:09
package com.custom.data.charvalidate;
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;
/**
* 这是一个字符串过滤的类,完成字符向UTF-8编码的转换. 需要在web.xml里加入如下代码 <filter> <filter-name>Set
* Character Encoding</filter-name>
* <filter-class>com.newsjsp.charvalidate.SetCharacterEncodingFilter</filter-class>
* </filter> <filter-mapping> <filter-name>Set Character Encoding</filter-name>
* <url-pattern>/*</url-pattern> </filter-mapping>
*
* @author wangzi6hao
*
*/
public class SetCharacterEncodingFilter implements Filter {
/*
* (non-Javadoc)
*
* @see javax.servlet.Filter#destroy()
*/
public void destroy() {
// TODO Auto-generated method stub
}
/*
* (non-Javadoc)
*
* @see javax.servlet.Filter#doFilter(javax.servlet.ServletRequest,
* javax.servlet.ServletResponse, javax.servlet.FilterChain)
*/
protected FilterConfig filterConfig = null;
public String characterEncoding = null;
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
request.setCharacterEncoding(characterEncoding);
response.setCharacterEncoding(characterEncoding);
// 传递控制到下一个过滤器
chain.doFilter(request, response);
}
/*
* (non-Javadoc)
*
* @see javax.servlet.Filter#init(javax.servlet.FilterConfig)
*/
public void init(FilterConfig filterConfig) throws ServletException {
this.filterConfig = filterConfig;
characterEncoding = filterConfig.getInitParameter("characterEncoding");
}
}
web.xml
<filter> <filter-name>SetCharacterEncodingFilter</filter-name> <filter-class> com.custom.data.charvalidate.SetCharacterEncodingFilter </filter-class> <init-param> <param-name>characterEncoding</param-name> <param-value>UTF-8</param-value> </init-param> </filter> <filter-mapping> <filter-name>SetCharacterEncodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>