天天看點

HandlerInterceptor三個方法的簡單介紹

1.preHandle

調用時間:Controller方法處理之前

執行順序:鍊式Intercepter情況下,Intercepter按照聲明的順序一個接一個執行

若傳回false,則中斷執行,注意:不會進入afterCompletion

重寫此方法加入判斷語句,可以降低伺服器的壓力

2.postHandle

調用前提:preHandle傳回true

調用時間:Controller方法處理完之後,DispatcherServlet進行視圖的渲染之前,也就是說在這個方法中你可以對ModelAndView進行操作

執行順序:鍊式Intercepter情況下,Intercepter按照聲明的順序倒着執行。

備注:postHandle雖然post打頭,但post、get方法都能處理

3.afterCompletion

調用前提:preHandle傳回true

調用時間:DispatcherServlet進行視圖的渲染之後

多用于清理資源