javascript
java 中prehandle_Spring MVC中拦截器HandlerInterceptorAdapter中的preHandle方法
攔截器:顧名思義,就是對請求進(jìn)行攔截,做一些預(yù)處理、后處理或返回處理的操作
Spring MVC中使用攔截器的方法,繼承HandlerInterceptorAdapter類,并根據(jù)需求實(shí)現(xiàn)其中的preHandle方法(預(yù)處理)、postHandle方法(返回處理),afterCompletion方法(后處理)。
public?boolean?preHandle(HttpServletRequest?request,?HttpServletResponse?response,?Object?handler)
throws?Exception?{
return?true;
}
public?void?postHandle(
HttpServletRequest?request,?HttpServletResponse?response,?Object?handler,?ModelAndView?modelAndView)
throws?Exception?{
}
public?void?afterCompletion(
HttpServletRequest?request,?HttpServletResponse?response,?Object?handler,?Exception?ex)
throws?Exception?{
}
現(xiàn)在著重說preHandler方法:
當(dāng)請求來的時(shí)候,先經(jīng)過applyPreHandle,內(nèi)部會按順序獲取所有的攔截器,并依次攔截
當(dāng)進(jìn)入攔截器鏈中的某個攔截器,并執(zhí)行preHandle方法后
1.當(dāng)preHandle方法返回false時(shí),從當(dāng)前攔截器往回執(zhí)行所有攔截器的afterCompletion方法,再退出攔截器鏈。也就是說,請求不繼續(xù)往下傳了,直接沿著來的鏈往回跑。
2.當(dāng)preHandle方法全為true時(shí),執(zhí)行下一個攔截器,直到所有攔截器執(zhí)行完。再運(yùn)行被攔截的Controller。然后進(jìn)入攔截器鏈,運(yùn)行所有攔截器的postHandle方法,完后從最后一個攔截器往回執(zhí)行所有攔截器的afterCompletion方法.
總結(jié)
以上是生活随笔為你收集整理的java 中prehandle_Spring MVC中拦截器HandlerInterceptorAdapter中的preHandle方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2010年软件业十大新闻事件
- 下一篇: Spring+SpringMVC+Myb