1枢里、Filter
1)Servlet過濾器本身并不生成請求和響應對象,它只提供過濾作用做葵。
2)Servlet過濾器能夠在Servlet被調用之前檢查Request對象椒功,修改RequestHeader和Request內容;
3)在坑鱼、servlet被調用之后檢查Response對象膘流,修改Response Header和Response內容。Servlet過濾器負責過濾的web組件可以是Servelt鲁沥、jsp呼股、或html文件。
2画恰、Filter接口
所有Servlet過濾器都要實現(xiàn)javax.servlet.Filter接口彭谁。這個接口含有三個過濾器類必須要實現(xiàn)的方法:
init(filterConfig):servlet過濾器初始化的方法,在這個方法中可以讀取web.xml文件中Servlet過濾器的初始化參數(shù)允扇。
doFilter(ServletRequest,ServletResponse,Filter):這個方法完成實際的過來操作缠局。當客戶請求訪問與過濾器相關聯(lián)的URL時则奥,Servlet容器將先調用過濾器的doFilter方法。FilterChain參數(shù)用于訪問后續(xù)過濾器狭园。一些web組件例如Servlet读处、jsp、html一般是chain的最后一部分唱矛。
destory():Servlet容器在銷毀過濾器實例前調用該方法罚舱,在這個方法中可以釋放Servlet過濾器占用的資源。
需要手動配置web.xml文件
3揖赴、當使用配置<url-pattern>/*</url-pattern>時馆匿,有某些url不用被過濾,可以使用以下代碼排除燥滑。