Springboot配置过滤器实现过程解析

写一个继承类

Springboot配置过滤器实现过程解析_第1张图片

启动器扫一下

Springboot配置过滤器实现过程解析_第2张图片

此时访问一下页面就可以观察到过滤器的信息

代码

package com.example.demo.Filter;

import lombok.extern.slf4j.Slf4j;

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

@Slf4j
@WebFilter(filterName = "myFilter1", urlPatterns = "/*")
public class MyFilter1 implements Filter {
  @Override
  public void init(FilterConfig filterConfig) throws ServletException {
    log.info(filterConfig.getFilterName() + " init,过滤器初始化成功!");

  }

  @Override
  public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) {
    log.info("myFilter1 begin");
    try {
      log.info("业务方法执行");
      chain.doFilter(request, response);
    } catch (Exception e) {
      log.error("error!", e);
    }
    log.info("myFilter1 end");
  }

  @Override
  public void destroy() {
  }
}

启动器

package com.example.demo;

import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.web.servlet.ServletComponentScan;


@SpringBootApplication(scanBasePackages = {"com.example"})
@MapperScan("com.example.demo.mapper")
@ServletComponentScan(basePackages = "com.example.demo.Filter")
public class Demo10Application {

  public static void main(String[] args) {
    SpringApplication.run(Demo10Application.class, args);
  }

}

结果

Springboot配置过滤器实现过程解析_第3张图片

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

你可能感兴趣的:(Springboot配置过滤器实现过程解析)