过滤器Filter的简单了解与模拟

目录

快速入门

什么是Filter

有什么作用

写一个demo快速上手(基于springboot)

思路分析:

代码实现

注意事项

 

Filter使用细节

执行流程图解

拦截路径

过滤器链

简单验证


快速入门

什么是Filter

Filter表示过滤器,是 JavaWeb三大组件(Servlet、Filter、Listener)之一。

有什么作用

可以拦截请求资源,实现业务逻辑,用于一些通用的操作,如日志输出,登录校验等

写一个demo快速上手(基于springboot)

思路分析:

1.定义一个类实现Filter接口,并重写所有方法

2.加上@WebFilter注解,用于指定拦截资源的路径

3.启动类上加上@ServletComponentScan(表示对Servlet组件支持)

代码实现

@WebFilter(urlPatterns = "/*") //配置过滤器要拦截的请求路径( /* 表示拦截浏览器的所有请求 )
public class DemoFilter implements Filter {
    @Override //初始化方法, 只调用一次
    public void init(FilterConfig filterConfig) throws ServletException {
        System.out.println("init 初始化方法执行了");
    }

    @Override //拦截到请求之后调用, 调用多次
    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
        System.out.println("Demo 拦截到了请求...放行前逻辑");
        //放行
        chain.doFilter(request,response);
    }

    @Override //销毁方法, 只调用一次
    public void destroy() {
        System.out.println("destroy 销毁方法执行了");
    }
}

1.对三种方法进行解析:init()方法是初始化方法,在

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值