filter过滤器

发布于:2023-12-05 ⋅ 阅读:(104) ⋅ 点赞:(0)

package com.it.filter;


import javax.servlet.*;
import javax.servlet.annotation.WebFilter;

import java.io.IOException;

@WebFilter(urlPatterns="/*")
public class DemoFilter implements Filter {

    @Override  // 初始化的方法  只要调用一次
    public void init(FilterConfig filterConfig) throws ServletException {
        Filter.super.init(filterConfig);
        System.out.println("init 初始化方法执行了!");

    }

    @Override  // 拦截到请求 之后调用  只调用多次
    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
        System.out.println("doFilter: 拦截到了请求");

        // 放行
        filterChain.doFilter(servletRequest,servletResponse);
    }

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

注意两个注解

@webFilter(urlpatterns="/*")     实现类

@servletcomponentScan   Springboot 启动了

1.过滤器执行流程

  •    浏览器请求-->放行前的逻辑-->放行-->资源-->放行后的逻辑

 2.拦截路径

  • /login      
  • /depts/*
  • /*

3.过滤器链

一个web应用中 , 配置了多个过滤器 .就形成了一个过滤器链

   

在过滤器当中 转换Json 格式的依赖

<!--fastJSON-->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>1.2.76</version>
        </dependency>


网站公告

今日签到

点亮在社区的每一天
去签到