IT兄弟連 JavaWeb教程 過濾器2

  • 2019 年 10 月 5 日
  • 筆記

版權聲明:本文為部落客原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接和本聲明。

本文鏈接:https://blog.csdn.net/ITXDL123/article/details/90712498

3 多個過濾器的執行順序

如果一個Web應用中使用一個過濾器不能解決實際中的業務需要,那麼可以部署多個過濾器對業務請求進行多次處理,這樣做就組成了一個過濾器鏈。Web伺服器在處理過濾器鏈時,將按過濾器的先後順序對請求進行處理。如圖2所示。

圖2 多個過濾器的執行順序

如果在Web窗口中部署了過濾器鏈,也就是部署了多個過濾器,請求會一次按過濾器順序進行處理,在第一個過濾器處理一個請求後,會傳遞給第二個過濾器進行處理,以此類推,一直傳遞到最後一個過濾器為止,再將請求交給目標資源進行處理。目標資源在處理了經過過濾的請求後,其回應資訊再從最後一個過濾器一次傳遞到第一個過濾器,最後傳送到客戶端,這就是過濾器在過濾器鏈中的應用流程。

4 過濾器的優點

如果在多個Web組件中編寫完成同樣操作的程式程式碼,顯然會導致重複編碼,從而降低開發效率和軟體的可維護性。使用過濾器,可以在各個Web逐漸中將相同的操作放到同一個過濾器中來完成,這樣就能減少重複編碼。

過濾器的另一個優點就是可以在不改變源程式碼的同時增加程式的功能。