preHandle方法
作用: 用于对拦截到的请求进行预处理,方法接收布尔(true,false)类型的返回值,返回
true:放行,false:不放行。
执行时机: 在处理器方法执行前执行
方法参数:
1. request 请求对象
2. response 响应对象
3. handler 拦截到的处理器方法
postHandle方法
作用: 用于对拦截到的请求进行后处理,可以在方法中对模型数据和视图进行修改
执行时机: 在处理器的方法执行后,视图渲染之前
方法参数:
1. request 请求对象
2. response 响应对象
3. handler 拦截到的处理器方法
4. ModelAndView 处理器方法返回的模型和视图对象,可以在方法中修改模型和视图
afterCompletion方法
作用: 用于在整个流程完成之后进行最后的处理,如果请求流程中有异常,可以在方法中
获取对象
执行时机: 视图渲染完成后(整个流程结束之后)
方法参数:
1. request 请求参数
2. response 响应对象
3. handler 拦截到的处理器方法
4. ex 异常对象
12.4、拦截器链及其执行顺序
拦截器链的概念 如果多个拦截器能够对相同的请求进行拦截,则多个拦截器会形成一个拦截器链,主要
理解拦截器链中各个拦截器的执行顺序。
拦截器链中多个拦截器的执行顺序 拦截器链中的多个拦截器的执行顺序,根拦截器的配置顺序有关,先
配置的先执行