Filter与Servlet的区别和联系
?
?
| ? | Filter | Servlet |
| 接口 | 實現Filter接口 | 實現Servlet接口 |
| 使用步驟 | 1、創建類,繼承接口 2、實現方法 init() doFilter() destroy() ? 3、配置WEB-INF/web.xml | 1、創建類,繼承接口 2、實現方法 init() service() destroy() getServletConfig() getServletInfo() 3、配置WEB-INF/web.xml |
| 初始化時間 | Servlet容器啟動之后即初始化 | Servlet類被調用之后初始化、先于Filter調用。 初始化可以在容器啟動后被調用但需要配置。 |
| 調用順序 | 1. 按照web.xml中的映射配置順序按照配置條件從后向前調用 2. 層次調用doFilter()方法中FilterChain.doFilter()之前的內容 3. 調用Servlet中的service()方法 4. service方法執行完畢后,層次調用doFilter()中FilterChain.doFilter()之后的方法,順序與之前的相反 ? | 按照web.xml中的映射配置順序按照配置條件從后向前調用第一個滿足條件的Servlet,調用之前事先執行滿足條件的Filter,不存在層次調用Servlet問題 |
| 銷毀 | 服務器停止后銷毀,晚于Servlet銷毀之后 | 服務器停止后銷毀 |
| 作用 | 1. 在HttpServletRequest到達Servlet之前,攔截客戶的HttpServletRequest。 2. 根據需要檢查HttpServletRequest,也可以修改HttpServletRequest頭和數據。 3. 在HttpServletResponse到達客戶端之前,攔截HttpServletResponse。 4. 根據需要檢查HttpServletResponse,也可以修改HttpServletResponse頭和數據。 | 主要是處理客戶端的請求并將其結果發送到客戶端。 |
?
轉載于:https://www.cnblogs.com/zs234/archive/2013/04/21/3233359.html
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的Filter与Servlet的区别和联系的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: LeetCode刷题第二天——3Long
- 下一篇: 回溯---分割字符串使得每个部分都是回文