Springboot下注册Filter

Springboot可以使用如下方式进行Filter、Listener、Servlet的配置和注入.

1. Spring方式
// 通过 
    @Bean
    public FilterRegistrationBean<MyFilter> filterFilterRegistrationBean() {
        FilterRegistrationBean<MyFilter> registerFilter = new FilterRegistrationBean<>();
        registerFilter.setFilter(new MyFilter());
        registerFilter.setUrlPatterns(Arrays.asList("/"));
        return registerFilter;
    }
   // ServletRegistrationBean<T>;
   // ServletListenerRegistrationBean<T>;
   // FilterRegistrationBean 
    //  这里直接以filter为例.


// MyFilter.java

/*
 * 定义filter
 * */
public class MyFilter implements Filter {
    @Override
    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
        HttpServletRequest httpServletRequest = (HttpServletRequest) servletRequest;
        System.out.println("myfilter .....before...");
        filterChain.doFilter(servletRequest, servletResponse);
        System.out.println("myfilter ... after ");
    }
}
2. Springboot 方式
// 通过 @WebFilter 、 @WebListner 、 @WebServlet 方式来标注
//@Component
@WebFilter(urlPatterns = "/")
public class MyFilter2 implements Filter {

    @Override
    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
        System.out.println("myfilter2 ....");
        filterChain.doFilter(servletRequest,servletResponse);
    }
}


// 通过在配置类中 @ServletComponentScan 即可。
// 如果直接在实现类中标注了@Component注解,那么只要可以扫描到即可。就不再需要@ServletComponentScan标注
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值