1. 程式人生 > >springboot中的filter用法

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("過濾器銷燬"); } }