為什么要用Filter(過濾器)

為什么要用Filter(過濾器)?
馬克- to-win:馬克 java社區(qū):防盜版實(shí)名手機(jī)尾號(hào): 73203。
馬克-to-win:當(dāng)n個(gè)html,jsp和servlet執(zhí)行前或執(zhí)行后都需要做同一件事,執(zhí)行同一段代碼時(shí),為了避免反復(fù)拷貝黏貼,造成n個(gè)版本的代碼,從而使代碼維護(hù)異常困難,我們可以使用filter(過濾器)技術(shù)。馬克-to-win:比如,如果用戶要訪問某些html,jsp或servlet,我們首先需要判斷這個(gè)用戶是否曾經(jīng)登錄過,如果沒有的話,就把他打回到登錄頁面。登錄之后再讓他訪問想要訪問的頁面。這段判斷的代碼,如果要出現(xiàn)在要保護(hù)的每個(gè)jsp或servlet之前,這顯然涉及到n多次拷貝黏貼。馬克-to-win:哪天需求改變一點(diǎn)的話,所有涉及到的jsp或Servlet,都需要改動(dòng),一旦有一個(gè)忘記改動(dòng),就會(huì)出現(xiàn)錯(cuò)誤。代碼維護(hù)工作,顯然異常繁重,而且重復(fù)工作巨大,毫無樂趣和成就感,眼睛看到花而且極易出錯(cuò)。馬克-to-win:想象這段判斷代碼,如果只放在一個(gè)地方,就能解決問題,那一定是一個(gè)絕佳方案。你別說,還真有這樣的方案,那就是filter(過濾器)。