Spring MVC 教程,快速入門,深入分析——Spring中的攔截器

九、Spring中的攔截器:
Spring爲我們提供了:
org.springframework.web.servlet.HandlerInterceptor接口,

org.springframework.web.servlet.handler.HandlerInterceptorAdapter適配器,
實現這個接口或繼承此類,可以非常方便的實現自己的攔截器。
 
有以下三個方法:
 
Action之前執行:
 public boolean preHandle(HttpServletRequest request,
   HttpServletResponse response, Object handler);
 
生成視圖之前執行
 public void postHandle(HttpServletRequest request,
   HttpServletResponse response, Object handler,
   ModelAndView modelAndView);
 
最後執行,可用於釋放資源
 public void afterCompletion(HttpServletRequest request,
   HttpServletResponse response, Object handler, Exception ex)
 
 
分別實現預處理、後處理(調用了Service並返回ModelAndView,但未進行頁面渲染)、返回處理(已經渲染了頁面) 
在preHandle中,可以進行編碼、安全控制等處理; 
在postHandle中,有機會修改ModelAndView; 
在afterCompletion中,可以根據ex是否爲null判斷是否發生了異常,進行日誌記錄。 
參數中的Object handler是下一個攔截器。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章