1. 程式人生 > >SpringBoot 過濾器, 攔截器, 監聽器 對比及使用場景

SpringBoot 過濾器, 攔截器, 監聽器 對比及使用場景

開發十年,就只剩下這套架構體系了! >>>   

 

1. 過濾器 (實現 javax.servlet.Filter 介面)

① 過濾器是在web應用啟動的時候初始化一次, 在web應用停止的時候銷燬.

② 可以對請求的URL進行過濾, 對敏感詞過濾, 

③ 擋在攔截器的外層

④ Filter 是 Servlet 規範的一部分

2. 攔截器 (實現 org.springframework.web.servlet.HandlerInterceptor 介面)

① 不依賴Spring容器, 可以使用 Spring 容器管理的Bean

② 攔截器通過動態代理進行

③ 攔截器應用場景, 效能分析, 許可權檢查, 日誌記錄

3. 監聽器 (實現 javax.servlet.ServletRequestListener, javax.servlet.http.HttpSessionListener, javax.servlet.ServletContextListener 等等介面)

① 主要用來監聽物件的建立與銷燬的發生, 比如 session 的建立銷燬, request 的建立銷燬, ServletContext 建立銷燬