web,xml中關於filter的使用

2021-09-07 15:37:01 字數 1153 閱讀 6911

從j2ee1.3開始,servlet2.3規範中加入了對過濾器的支援。過濾器能夠對目標資源的請求和響應進行擷取。過濾器的工作方式分為四種,下面讓我們分別來看看這四種過濾器的工作方式:

1、request過濾器

沒有擷取**到目標資源二的請求,

但是我們已經在web.xml檔案中配置了該過濾器對目標資源二的過濾,為什麼又沒有起到過濾作用呢?

答案就在於,目標資源一是客戶端直接訪問,而目標資源二是被**過來的,這時過濾器就不能過濾目標資源二。如果你直接訪問目標資源二,你會發現該過濾器起到了作用?

我們上面的web.xml檔案配置與以下方式等價:

myfilter

myfilter

xx.myfilter

目標資源一

request

我們將web.xml檔案的配置修改如下:

myfilter

myfilter

xx.myfilter

目標資源一

request

3、include過濾器

理解了forward過濾器之後,include過濾器就不難理解了。以下方式:

目標資源二

"%>指令包含,這時此過濾器不工作。後面給大家介紹指令包含和動作包含

的區別。

4、error過濾器

當我們訪問乙個web目標資源時,如果伺服器沒有找到該目標資源,那麼伺服器就會給出乙個404錯誤**。如果我們給404錯誤**定義乙個頁面,那麼當404錯誤發生時就會呼叫該頁面,請看以下web.xml檔案的配置:

url-pattern

>

error

404/error.jsp

當我們訪問乙個不存在的檔案時,就會訪問error.jsp,但是配置了過濾器對錯誤頁面進行過濾,所以過濾器先接受到請求,然後再**給error.jsp。

如果我們訪問乙個已經存在的頁面,會不會呼叫error.jsp呢?如果這個頁面中有response.senderror(404,"出錯了!");那麼該錯誤頁面仍然會被呼叫,過濾器也會工作。

web xml中關於log4j的設定及範例說明

在web.xml有幾個條目和log4j有關,它們是 1.petclinic.root 2.log4jconfiglocation web infclasseslog4j.properties 3.該條目在petclinic中被注釋掉了 class org.springframework.web.ut...

web xml中關於log4j的設定及範例說明

在web.xml有幾個條目和log4j有關,它們是 1.petclinic.root 2.log4jconfiglocation web infclasseslog4j.properties 3.該條目在petclinic中被注釋掉了 class org.springframework.web.ut...

關於Filter的配置

配置 onefilter onefilter my.filter.com.onefilter 注意 dispatcher的值 a.request 當使用者直接訪問頁面時,web容器會呼叫過濾器,如果目標資源是通過requestdispatcher的include 或者forward 方法訪問,那麼該...