当先锋百科网

首页 1 2 3 4 5 6 7
  1. 根据当前请求,找到HanlderExecutionchain[可以处理请求的handler以及handler的所有拦截器]
  2. 先来顺序执行所有拦截器的preHandle方法
    1. 如果当前拦截器preHandle返回为true,则执行下一个拦截器的preHandle
    2. 如果当前拦截器preHandle返回为false,直接倒序执行所有已经执行了的拦截器的afterCompletion方法;
  3. 如果任何一个拦截器返回false,直接跳出不执行目标方法
  4. 所有拦截器都返回true,执行目标方法
  5. 倒序执行所有拦截器的postHandle方法
  6. 前面的步骤有任何异常都会直接触发afterCompletion方法
  7. 页面成功渲染完成以后,也会倒序触发afterCompletion方法 在这里插入图片描述