1. 程式人生 > >為什麼說過濾器Filter基於函式回撥

為什麼說過濾器Filter基於函式回撥

 FilterChain是回撥介面,doFilter(request,response)是回撥方法,ApplicationFilterChain是實現類,裡面能得到實現了Filter介面的實現類xxxFilter,在doFilter(request,response)中執行中了某個Filter實現類的doFilter(request, response, this)(this指的當前ApplicationFilterChain類)方法,在這個方法執行某些處理後需要回調ApplicationFilterChain.doFilter(request,response),這個回撥會執行filter鏈中的下一個迴圈到結束 。這也解釋了為什麼在Filter中沒有呼叫chain.doFilter()方法,客戶請求不會到達所訪問的Web元件。