過濾器就是對訪問和請求響應進行攔截
題目要求:沒登錄時,點擊鏈接不能訪問到登陸後頁面,過濾器會攔截,並且轉到登錄頁面.
首頁:
登錄頁面:
過程:登錄時會創建一個session,然後點擊訪問鏈接時,過濾器會對session判斷
具體實現:
代碼解釋一:創建session對象是在HttpServletRequest類中通過request.getSession()創建,但是過濾器方法參數是ServletRequest,所以進行強轉
代碼解釋二:當過濾器過濾後,進行下一步操作,必須加上chain.doFilter(req, res);注意傳的參數是強轉後的參數,否則沒意義
代碼解釋三:過濾器的web.xml配置,
哪裏需要過濾,就配置url-pattern到哪裏,這裏是/control路徑下的所有路徑 /*代表所有