springboot中的filter用法

一.前言

首先比较下过滤器filter和拦截器intercept的差别,两个有点像,但实际有所差别,过滤器和拦截器在对请求进行拦截时,一个是发生的时机不一样,filter是在servlet容器外,interceptor在servlet容器内,且可以对请求的3个关键步骤进行拦截处理。另外filter在过滤是只能对request和response进行操作,而interceptor可以对request、response、handler、modelAndView、exception进行操作。

二.基本用法

1.Application添加注解
@EnableAutoConfiguration
@ServletComponentScan
@ComponentScan("com.example.sso_client")
2.新增Fileter测试
@WebFilter(filterName = "filter", urlPatterns = "/*")
public class MyFilter implements Filter {

    @Override
    public void init(FilterConfig config) throws ServletException {
        System.out.println("过滤器初始化");
    }


    @Override
    public void doFilter(ServletRequest request, ServletResponse response,
                         FilterChain chain) throws IOException, ServletException {
        System.out.println("执行过滤操作");
        chain.doFilter(request, response);
    }

    @Override
    public void destroy() {
        System.out.println("过滤器销毁");
    }
}

猜你喜欢

转载自blog.csdn.net/u010520146/article/details/85257053
今日推荐