一、首先呢先建一个普通类 ,并且实现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; /** * 过滤器类 * @author * */ public class EncodeFilter implements Filter { private String encode=null; @Override public void destroy() { encode=null; } @Override public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { if(null==request.getCharacterEncoding()){ request.setCharacterEncoding(encode); } chain.doFilter(request, response); } @Override public void init(FilterConfig filterConfig) throws ServletException { String encode=filterConfig.getInitParameter("encode"); if(this.encode==null){ this.encode=encode;//查找配置文件中预设的字符编码 } } }
二、要在当前项目的web.xml文件下配置
如下标签、
其中/*表示过滤所有
<filter> <filter-name>EncodeFilter</filter-name> <filter-class>org.news.filter.EncodeFilter</filter-class> <init-param> <param-name>encode</param-name> <param-value>UTF-8</param-value> </init-param> </filter> <filter-mapping> <filter-name>EncodeFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>