經常會有人問filter和servlet的區別是什麼,在這裡簡單闡述下個人對這兩者的認知
概念:filter:過濾器,如果新增了過濾器,那麼在訪問servlet之前先進入過濾器,簡單說就是在接到請求前處理一些事情
下面從生命週期,工作內容來進行比較:
首先servlet和filter都需要在web.xml中進行配置方能生效
接下來看下雙方的生命週期
1.servlet:
初始化init();
呼叫service();
銷毀destroy();
2.filter:
初始化init();
呼叫dofilter();
銷毀destroy();
可以看出他們的生命週期大致相同,下面看下他們的工作內容都是什麼
1.servlet:
1) 客戶端傳送請求至伺服器端;
2) 伺服器將請求資訊傳送至 servlet;
3) servlet 生成響應內容並將其傳給伺服器。響應內容動態生成,通常取決於客戶端的請求;
4) 伺服器將響應返回給客戶端。
2.filter:
使用目標資源之前,讓一段**執行,然後判斷是否讓使用者訪問請求的web資源
最後總結下servlet和filter的區別:filter不能相應客戶的請求,filter就像是定義了before()和after()兩個方法,分別在處理請求前進行**執行,以及處理請求後進行**執行,而before和after兩個方法本身不具備相應客戶請求的功能
Servlet和filter的JAVAEE的配置
一 servlet容器對url的匹配過程 當乙個請求傳送到servlet容器的時候,容器先會將請求的url減去當前應用上下文的路徑作為servlet的對映url,比如我訪問的是http localhost test aaa.html 我的應用上下文是test,容器會將http localhost t...
Filter與Servlet的區別和聯絡
filter servlet介面 實現filter介面 實現servlet介面 使用步驟 1 建立類,繼承介面 2 實現方法 init dofilter destroy 3 配置web inf web.xml 1 建立類,繼承介面 2 實現方法 init service destroy getser...
Filter與Servlet的區別和聯絡
filter servlet介面 實現filter介面 實現servlet介面 使用步驟 1 建立類,繼承介面 2 實現方法 init dofilter destroy 3 配置web inf web.xml 1 建立類,繼承介面 2 實現方法 init service destroy getser...