Filter (重点)
例如:Filter:过滤器 ,用来过滤网站的数据;
处理中文乱码
好处:不需要反复的写设置编码代码
Filter开发步骤:
导包:导包不要导错
**实现Filter接口,重写对应的方法即可
在com.jxxd.ghf下创建一个包名为Filter,创建类CharacterEncodingFilter**在这里插入代码片
public class CharacterEncodingFilter implements Filter {
//初始化
@Override
public void init(FilterConfig filterConfig) throws ServletException {
System.out.println("CharacterEncodingFilter初始化");
}
/**
* 过滤中的所有代码,再过滤特定请求的时候都会执行
* 必须要让过滤器同行: chain.doFilter(request,response);
* @param request
* @param response
* @param chain:链
*/
@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("UTF-8");
response.setContentType("Text/html;charset=UTF-8");
System.out.println("执行前。。。。");
chain.doFilter(request,response);
System.out.println("执行后。。。。");
}
//销毁
@Override
public void destroy() {
System.out.println("CharacterEncodingFilter销毁");
}
}
在web.xml中配置 Filter
<filter>
<filter-name>CharacterEncodingFilter</filter-name>
<filter-class>com.jxxd.ghf.filter.CharacterEncodingFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>CharacterEncodingFilter</filter-name>
<!--只要是/servlet的请求都会经过这个过滤器-->
<url-pattern>/Servlet/*</url-pattern>
</filter-mapping>