SpringMVC攔截器執行原理及配置詳解
阿新 • • 發佈:2020-08-21
過濾器與攔截器的區別:
過濾器在 url-pattern 中配置了/*之後,可以對所有要訪問的資源攔截。
攔截器它是隻會攔截訪問的controller中的方法,如果訪問的是 jsp,html,css,image 或者 js 是不會進行攔 截的
攔截器的處理方案:
1:編寫攔截器類
自定義攔截器
public class MyInterceptor implements HandlerInterceptor { /** * 預處理方法:controller方法執行前 *return true 放行,執行下一個攔截器,如果沒有,就執行controller中的方法 *return: false 不放行 * @param request * @param response * @param handler * @return * @throws Exception */ @Override public boolean preHandle(HttpServletRequest request,HttpServletResponse response,Object handler) throws Exception { System.out.println("執行前......testInterceptor...."); return true; } /** * 後處理方法,controller方法執行後,success.jsp執行之前 * * * @param request * @param response * @param handler * @param modelAndView * @throws Exception */ @Override public void postHandle(HttpServletRequest request,Object handler,ModelAndView modelAndView) throws Exception { System.out.println("執行後......testInterceptor...."); } /** * *success.jsp頁面執行後,該方法會執行 * * * @param request * @param response * @param handler * @param ex * @throws Exception */ @Override public void afterCompletion(HttpServletRequest request,Exception ex) throws Exception { System.out.println("success.jsp執行後..."); } }
2:在springmvc.xml中配置自定義攔截器
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。