国产日产欧产精品网站|2022仙踪林官网老狼信息|天天澡天天揉揉Av在线|国产精品成人久久久久久久

JavaWeb課程系列

第14章Filter

1.提出問題

1、我們在訪問后臺很多頁面時都需要登錄,只有登錄的用戶才能查看這些頁面,我們需要在每次請求的時候都檢查用戶是否登陸,這樣做很麻煩,有沒有一種方法可以在我們請求之前就幫我們做這些事情。有!

 

2、我們web應用經常會接收中文字符,由于可能導致中文亂碼,我們每次都需要在方法的開始使用request.setCharacterEncoding(“utf-8”);能不能在我們要獲取參數值直接就可以自己設置好編碼呀。能!

 

這種問題的解決方法我們想到了一種辦法。那就是在每次請求之前我們先將它攔截起來,當我們設置好一切東西的時候,再將請求放行。類似與我們地鐵站的檢票系統。每個人進站的時候必須刷卡,扣完錢后才可以進站坐車。

 

web中也有這個機制,我們叫做過濾器。

就是我們接下來學習的filter

2.Filter簡介

2.1什么是filter

???????? 1)Filter(過濾器) 的基本功能是對 Servlet 容器調用 Servlet (JSP)的過程進行攔截,??? 從而在 Servlet 處理請求前和Servlet響應請求后實現一些特殊的功能。

???????? 2)在 Servlet API 中定義了三個接口類來開供開發人員編寫 Filter 程序:Filter, ????? FilterChain, FilterConfig

???????? 3)Filter 程序是一個實現了 Filter 接口的 Java 類,與 Servlet 程序相似,它由 Servlet ?????? 容器進行調用和執行

???????? 4)Filter 程序需要在 web.xml 文件中進行注冊和設置它所能攔截的資源:Filter 程序??? 可以攔截 Jsp, Servlet, 靜態圖片文件和靜態 html 文件

2.2 filter的運行原理是什么

 

這個Servlet過濾器就是我們的filter

 

1)當在 web.xml 中注冊了一個 Filter 來對某個 Servlet 程序進行攔截處理時,這個 Filter 就成了 Tomcat與該 Servlet 程序的通信線路上的一道關卡,該 Filter 可以對 Servlet 容器發送給 Servlet 程序的請求和 Servlet 程序回送給 Servlet 容器的響應進行攔截,可以決定是否將請求繼續傳遞給 Servlet 程序,以及對請求和相應信息是否進行修改

2)在一個 web 應用程序中可以注冊多個 Filter 程序,每個 Filter 程序都可以對一個或一組 Servlet 程序進行攔截。

3)若有多個 Filter 程序對某個 Servlet 程序的訪問過程進行攔截,當針對該 Servlet 的訪問請求到達時,web 容器將把這多個 Filter 程序組合成一個 Filter 鏈(過濾器鏈)。Filter 鏈中各個 Filter 的攔截順序與它們在應用程序的 web.xml 中映射的順序一致

 

 

 

长武县| 调兵山市| 曲靖市| 五华县| 吉木萨尔县| 龙门县| 师宗县| 安顺市| 万盛区| 即墨市| 瑞昌市| 赣榆县| 农安县| 谢通门县| 龙川县| 沁水县| 长岛县| 平凉市| 新源县| 无锡市| 德江县| 金华市| 禹城市| 方正县| 福安市| 成都市| 江口县| 麟游县| 富宁县| 永昌县| 平泉县| 宜黄县| 靖宇县| 读书| 淮南市| 鄂尔多斯市| 平远县| 安吉县| 榆社县| 大渡口区| 泌阳县|