官方自带的拦截器:获取请求提供的参数
自定义拦截器
新建一个类,实现HandlerInterceptor方法
实现接口中的方法
preHandle()
//这个是拦截器的主方法,返回值为boolean,true为放行,false为不放行
postHandle()
/*
* *拦截器放行后,流程执行到Controller,Controller执行完之后,返回ModelAndView给前端控制器的时候,触发拦截器的这个方法
*/
afterCompletion()
/*
*前端控制器将接受到的ModelAndView对象获取到,然后把view传递给视图解析器,视图解析器解析
*出结果后,返回结果给前端控制器的时候,触发拦截器的这个方法
*/
拦截器链:
一个mvc可以有多个拦截器,每个拦截器按照在spring的配置顺序,依次执行
每个拦截器的方法执行存在先后顺序,以下图为例:
每个拦截器可以单独设置不拦截的请求,相当于那个请求路径中不存在设计绕行的拦截器,后面的拦截器链照常执行
拦截器的安全