项目启动,执行过滤器init方法初始化
正常url请求:
- 进入过滤器doFilter方法,过滤字符编码、做一些业务逻辑判断等,调用chain.doFilter(request,response)将请求转发到目的地。
- 进入拦截器preHandle方法,preHandle方法返回true
- 执行url的业务接口,完成业务处理
- 执行拦截器postHandle方法
- 执行拦截器afterCompletion方法
- 返回到过滤器doFilter方法继续执行其他代码
url业务代码出现异常:
- 执行过滤器doFilter方法,进而内部执行chain.doFilter(request,response)
- 执行拦截器preHandle方法,preHandle方法返回true
- 执行url的业务接口,业务接口出现异常
- 进入拦截器afterCompletion方法
- 返回到过滤器doFilter方法继续执行其他代码