filter和servlet的比較

2021-08-03 17:36:17 字數 754 閱讀 2708

經常會有人問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...