Servlet3.0下@WebFilter注解配置Filter:

Filter(过滤器)主要对请求到达前进行处理,也可以在请求结束后进行处理,类似于链式。一个请求可以被多个过滤器拦截到,会依次进入各个Filter中,放行后直至进入Servlet,Servlet处理请求结束后,回到各个Filter继续执行后面的代码,先执行的Filter后执行完。

常用到的地方:

  • 用户权限过滤
  • 记录日志
  • 字符编码处理

    @WebFilter常用属性

    image.png
    image.png

    例子:

    ```java package com.zcc;

import javax.servlet.*; import javax.servlet.annotation.WebFilter; import java.io.IOException;

/**

  • @author 23839 / @WebFilter(filterName = “HtmlFilter”,urlPatterns = “/“,servletNames = “elHtml”) public class HtmlFilter implements Filter { @Override public void init(FilterConfig filterConfig) throws ServletException {

    1. System.out.println("我被初始化了!!!");

    }

    @Override public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {

     System.out.println("我在开始过滤呢!!!");
    

    }

    @Override public void destroy() {

     System.out.println("我被销毁了!");
    

    } }

```