How to use Filter in SpringBoot

The first way

1. Define a class to implement the Filter interface
@WebFilter(urlPatterns = "/myfilter01")
public class MyFilter01 implements Filter {

    @Override
    public void init(FilterConfig filterConfig) throws ServletException {

    }

    @Override
    public void doFilter(ServletRequest request, ServletResponse response, FilterChain     chain) throws IOException, ServletException {
        System.out.println("过滤器1进来了");
        chain.doFilter(request,response);
    }

    @Override
    public void destroy() {

    }
}
2. Add annotations to the startup class to scan the package where MyFilter01 is located
@SpringBootApplication
@ServletComponentScan(basePackages = "com.heqiang.filter")//扫描注解
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class);
    }
}

The second way

1. Define a class MyFilter02 to implement the Filter interface
public class MyFilter02 implements Filter {
    @Override
    public void doFilter(ServletRequest request, ServletResponse response,FilterChain chain) throws IOException, ServletException {
        System.out.println("过滤器2进来了");
        chain.doFilter(request,response);
    }

    @Override
    public void init(FilterConfig filterConfig) throws ServletException {

    }
    @Override
    public void destroy() {

    }
}
2. Define the config class
@Configuration
public class FilterConfig {
    @Bean
    public FilterRegistrationBean myFilterRegistrationBean() {
        FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean(new     MyFilter02());
        filterRegistrationBean.addUrlPatterns("/user/*");//注意只能单个*生效
        return filterRegistrationBean;
    }
}
3. Start scanning without adding filter package
@SpringBootApplication
//@ServletComponentScan(basePackages = "com.heqiang.filter")//扫描注解
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class);
    }
}

Guess you like

Origin blog.csdn.net/mrhs_dhls/article/details/107706427