Servelet元件之一的filter過濾器

2022-08-19 09:30:13 字數 1295 閱讀 9327

什麼是filter

filter,過濾器,顧名思義,即是對資料等的過濾,預處理過程。為什麼要引入過濾器呢?在平常訪問**的時候,有時候發一些敏感的資訊,發出後顯示時 就會將敏感資訊用*等字元替代,這就是用過濾器對資訊進行了處理。這只是乙個簡單的例子,當然,過濾器那麼強大,它的功能也不可能侷限於此,它不僅能預處 理資料,只要是傳送過來的請求它都是可以預處理的,同時,它還可以對伺服器返回的響應進行預處理,這樣,大大減輕了伺服器的壓力。例如,實現url級別的 許可權訪問控制、過濾敏感詞彙、壓縮響應資訊等一些高階功能。

filter優點

過濾器是可插拔的,我們不需要某個過濾器時,直接刪掉不會影響程式的執行。

乙個過濾器不依賴於另乙個資源

維護少,容易維護

使用filter

過濾作用,對從客戶端向伺服器端傳送的請求進行過濾,也可以對伺服器端返回的響應進行處理。它使使用者可以改變乙個request和修改乙個 response.。filter 不是乙個servlet,它不能產生乙個response,但是它能夠在乙個request到達servlet之前預處理request,也可以在 response離開servlet時處理response。換句話說,filter其實是客戶端與servlet中間的乙個傳遞者,並且它可以對要傳遞 的東西進行修改。

//

使用者沒有登入

if (session.getattribute("

sessionuser

") == null

) else

if (uri.contains("

/api/get

") || uri.contains("

/api/post

"))

//不合法的請求 使用者沒有登入 卻訪問了乙個需要登入以後才可以訪問的系統資源 這時候重定向到登入頁面 讓使用者登入

else

}//使用者已經登入了 繼續下面的請求

else

myfilter com.gzx.filter.myfilter myfilter ...

filter請求和響應

filter是可以轉換請求或響應的標頭和內容 (或兩者) 的物件。filter與 web 元件的區別在於, filter本身通常不會建立響應。相反, filter提供了可 "附加" 到任何型別的 web 資源的功能。因此, filter不應依賴於它充當其filter的 web 資源。這樣, 它可以由多種型別的 web 資源組成。

filter可以執行的主要任務如下所示。

filter的應用包括身份驗證、日誌記錄、影象轉換、資料壓縮、加密、令牌流、xml 轉換等。

元件製作之一(概念)

作為元件製作的開始,應該了解一些概念,我以為這些概念是非常重要的,將可以作為以後實踐的理論基礎。一 元件的簡要層次結構。一般情況下,vcl的元件可以從tcomponent為開始。其最明顯的特徵就是它的屬性可以在設計時通過物件察看器來操縱,另外,他還能擁有其他元件。從tcomponent下,分出非可視...

四大元件之一BroadCastRecevier

broadcastrecevier廣播接收者 經典案列發蘑菇,簡訊竊聽,ip撥號 基本概念 在android 中,broadcast 是一種廣泛運用的在應用程式之間傳輸資訊的機制。而broadcastreceiver 是對傳送出來的broadcast 進行過濾接受並響應的一類元件,是android ...

Ngui 學習系列之一 簡單元件的操作

一 button unity edit sprite作為父物件和背景 collider button script label 作為子物件和顯示文字 private uibutton button void start private void buttonclick 二 popup list 下拉...