1. 程式人生 > >springboot初探攔截器過濾器及監聽器

springboot初探攔截器過濾器及監聽器

先上一張常見的圖。

過濾器會在請求進入servlet之前預處理請求,可以修改HttpServletRequest的請求頭和請求資料,需要實現java的Filter介面。攔截器則是在請求被Servlet接收後,通過java反射呼叫方式實現的,自定義攔截器需要實現Interceptor介面,或者繼承抽象類AbstractInterceptor。監聽器則是會監聽域物件的建立和銷燬事件。

原本的基於部署描述符(Web.xml)的方式配置相信都會,這裡記錄下springBoot的使用配置:

過濾器:在啟動類中加入註解@ServletComponentScan,在自定義過濾器上加入@WebFilter註解

攔截器:主攔截器新增@Configuration註解,該類需要實現WebMvcConfigurer介面。子攔截器實現HandlerIntercepter介面。子攔截器的註冊在主攔截器的addInterceptors方法中。

監聽器:新增@WebListener註解