实现Filter接口
package com.example.demo.config;
import org.springframework.stereotype.Component;
import javax.servlet.*;
import javax.servlet.annotation.WebFilter;
import java.io.IOException;
/**
* @Author: zhangjun
* @Date: 2021/5/26 22:35
*/
@Component
@WebFilter(urlPatterns = "/*")
public class TestFilter implements Filter {
@Override
public void init(FilterConfig filterConfig) throws ServletException {
System.out.println("init:filter");
}
@Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
System.out.println("do:filter");
filterChain.doFilter(servletRequest, servletResponse);
}
@Override
public void destroy() {
System.out.println("destroy:filters");
}
}
重写Filter接口的三个方法。
init方法会在spring容器初始化的时候执行;
doFilter方法会在匹配到的请求时执行;
destroy方法在spring容器销毁时(例如服务shutdown)执行。