11、Filter

Filter

Filter:过滤器,用来过滤网站的数据;

  • 处理中文乱码
  • 登录验证...

image-20210613105154282

Filter开发步骤:

1.导包

2.编写过滤器

​ 1.导包不要错

image-20210613110426635

2.实现Filter接口,重写对应的方法即可

public class CharacterEncodingFilter implements Filter {
    //初始化:web服务器启动,就初始化了,随时等待过滤对象出现
    public void init(FilterConfig filterConfig) throws ServletException {
        System.out.println("CharacterEncodingFilter初始化");
    }

    //filterChain:链
    /*
    1.过滤中的所有代码,在过滤特定请求的时候都会执行
    2.必须要让过滤器继续同行
        filterChain.doFilter(request,response);
     */
    public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain) throws IOException, ServletException {
        request.setCharacterEncoding("utf-8");
        response.setContentType("text/html;charset=UTF-8");
        response.setCharacterEncoding("utf-8");
        System.out.println("CharacterEncodingFilter执行前");
        filterChain.doFilter(request,response); //让我们的请求继续走,如果不写,程序到这里就被拦截停止
        System.out.println("CharacterEncodingFilter执行后");
    }
    //销毁
    public void destroy() {
        System.out.println("CharacterEncodingFilter销毁");
    }
}

3.在web.xml中配置Filter

	<filter>
        <filter-name>CharacterEncodingFilter</filter-name>
        <filter-class>com.cc.filter.CharacterEncodingFilter</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>CharacterEncodingFilter</filter-name>
        <!-- 只要是 /servlet的任何请求,会经过这个过滤器 -->
        <url-pattern>/servlet/*</url-pattern>
    </filter-mapping>

image-20210613114128918

image-20210613114156170

image-20210613114229141

image-20210613114300871

posted @ 2021-06-23 22:59  多瑞C  阅读(55)  评论(0)    收藏  举报