Java過濾器是處於客戶端與伺服器資源檔案之間的一道過濾網,在存取資源檔案之前,透過一系列的過濾器可以對請求進行修改、判斷等,把不符合規則的請求在中途攔截或修改;也可以對回應進行過濾,攔截或修改回應。
Java中過濾器也是常用的部分,用來限制某些東西,以下來讓我們來了解一下。
過濾器是處於客戶端與伺服器資源檔案之間的一道過濾網,在存取資源檔案之前,透過一系列的過濾器對請求進行修改、判斷等,把不符合規則的請求在中途攔截或修改。也可以對回應進行過濾,攔截或修改回應。
如圖,瀏覽器發出的請求先遞交給第一個filter進行過濾,符合規則則放行,遞交給filter鏈中的下一個過濾器進行過濾。過濾器在鏈中的順序與它在web.xml中配置的順序有關,配置在前的則位於鏈的前端。當請求通過了鏈中所有過濾器後就可以存取資源文件了,如果不能通過,則可能在中間某個過濾器中被處理掉。
在doFilter()方法中,chain.doFilter()前面的一般是對request執行的過濾操作,chain.doFilter後面的程式碼一般是對response執行的操作。過濾鏈代碼的執行順序如下:
過濾器一般用於登入權限驗證、資源存取權限控制、敏感詞彙過濾、字元編碼轉換等等操作,方便程式碼重複使用,不必每個servlet還要進行對應的操作。
以上是java過濾器有什麼作用的詳細內容。更多資訊請關注PHP中文網其他相關文章!