首页 > 编程语言 > 详细

springboot中使用filter

时间:2020-08-03 19:02:43      阅读:79      评论:0      收藏:0      [点我收藏+]

springboot中使用Filter主要有两种方式:

方式一、使用注解的方式:

首先写一个Filter类继承Filter,然后再这个类上加上@WebFilter(urlPatterns = "/*")注解,路径表示需要过滤的路径。具体实现如下:

@WebFilter(filterName = "MyFilter",urlPatterns = "/*")
public class MyFilter implements Filter {
    public void destroy() {

    }

    public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws ServletException, IOException {

        System.out.println("进入了MyFilter。。。。。。。。。。。");
        chain.doFilter(req, resp);
    }

    public void init(FilterConfig config) throws ServletException {

    }

}

但是这个时候,Springboot并不知道你加了Filter,所以需要在Main方法上加上@ServletComponentScan注解,表示Servlet组件扫描同时他也可以扫描Filter,可以加上参数basePackages来说明需要扫描的包是哪个。具体如下:

@SpringBootApplication//SpringBoot的全局的自动配置注解,所有的业务类都要放在子包下,才能自动配置
@ServletComponentScan(basePackages = {"com.kunkun.springboot.servlet","com.kunkun.springboot.filter"})//servlet扫描和过滤器扫描
public class Application {

    public static void main(String[] args) {


        //固定的代码,启动SpringBoot程序,初始化Spring容器
        SpringApplication.run(Application.class, args);
    }

}

这样就完成了Filter的配置:结果如下:

 技术分享图片

 方式二、使用配置类的方式:

首先实现一个正常的Filter,如下:

public class HeFilter implements Filter {
    public void destroy() {
    }

    public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws ServletException, IOException {

        System.out.println("进入了HeFilter。。。。。");
        chain.doFilter(req, resp);
    }

    public void init(FilterConfig config) throws ServletException {

    }

}

 

然后实现一个配置类,如下:

@Configuration
public class FilterConfig {
    @Bean
    public FilterRegistrationBean registrationBean(){
        FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean(new HeFilter());
        filterRegistrationBean.addUrlPatterns("/*");
        return filterRegistrationBean;
    }
}

 

这边基本和Servlet的配置类一样,输出结果如下:

技术分享图片

 

springboot中使用filter

原文:https://www.cnblogs.com/quintanliu/p/13427843.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!