為什麼要用Filter(過濾器)?

2021-09-02 23:17:15 字數 503 閱讀 5415

為什麼要用filter(過濾器)?

馬 克-to-win:當n個html,jsp和servlet執行前或執行後都需要做同一件事,執行同一段**時,為了避免反覆拷貝黏貼,造成n個版本的代 碼,從而使**維護異常困難,我們可以使用filter(過濾器)技術。馬 克-to-win: 比如,如果使用者要訪問某些html,jsp或servlet,我們首先需要判斷這個使用者是否曾經登入過,如果沒有的話,就把他打回到登入頁面。登入之後再 讓他訪問想要訪問的頁面。這段判斷的**,如果要出現在要保護的每個jsp或servlet之前,這顯然涉及到n多次拷貝黏貼。馬 克-to-win:哪天需求改變一點的話,所有涉及到的jsp或servlet,都需要改動,一旦有乙個忘記改動,就會出現錯誤。**維護工作,顯然異常 繁重,而且重複工作巨大,毫無樂趣和成就感,眼睛看到花而且極易出錯。馬 克-to-win:想象這段判斷**,如果只放在乙個地方,就能解決問題,那一定是乙個絕佳方案。你別說,還真有這樣的方案,那就是filter(過濾 器)。

更多請看下節:

什麼是過濾器模式 Filter

世界上並沒有完美的程式,但是我們並不因此而沮喪,因為寫程式就是乙個不斷追求完美的過程。意圖以不同的標準過濾一組物件,通過邏輯運算解耦組合。類圖 例項 static class person public person setname string name public string getgend...

Filter過濾器介紹

定義乙個類讓其實現filter介面 在dofilter 方法中加入相應的攔截 加入了相應的攔截 之後需要使用chain.dofilter req,resp 讓請求繼續走 在web.xml中進行配置 testfilterfilter name org.itat.filter.myfilterfilte...

過濾器 Filter 模式

過濾器模式也是一種結構型模式,它允許我們使用不同的規則過濾某一組物件。首先建立乙個實體類person,分別擁有年齡 性別 位址三個屬性,用於相親,嘿嘿。public class person public void setage int age public string get public vo...