Filter过滤器入门
Filter过滤器入门
一、总述

二、补充点
1、注意引入的Filter包为jakarta下的(这是新版本)
2、Filter中的init初始化方法和destroy消耗方法是默认实现的,可以不必实现了。
3、init初始化方法和destroy消耗方法只执行一次,doFilter执行多次,且doFilter要注意配置放行方法才可以使得请求成功。
三、源码
package com.Test.filter;import jakarta.servlet.*;
import jakarta.servlet.annotation.WebFilter;import java.io.IOException;
//配置Filter拦截所以请求
@WebFilter(urlPatterns = "/*")
public class DemonFilter implements Filter {@Overridepublic void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {System.out.println("doFilter方法执行了");
// 执行放行操作filterChain.doFilter(servletRequest,servletResponse);}@Override
// 初始化方法只调用一次,已经是默认实现了,可以不写public void init(FilterConfig filterConfig) throws ServletException {Filter.super.init(filterConfig);System.out.println("init初始化方法执行了");}@Override
// 消耗方法只调用一次,已经是默认实现了,可以不写public void destroy() {Filter.super.destroy();System.out.println("destroy消耗方法执行了");}
}