拦截器
springmvc拦截器
主要是靠HandlerInterceptor类实现
先创建一个类实现拦截器接口,接口下有3个方法afterCompletion,postHandle,preHandle
拦截器方法的执行顺序
测试
拦截器类:
请求后台:
前台:
拦截器xml配置:
拦截器配置有2中方法:
第一种:bean中是拦截器的方法,拦截范围是代码全部范围
第二种:在interceptors标签内写interceptor标签,在里面,mapping是拦截的请求,bean是拦截器方法
测试结果
preHandle会在进入目标方法前运行,postHandle在目标方法运行后运行,afterCompletion会在请求完成后运行
多个拦截器
当有多个拦截器时,执行顺序为先进第一个拦截器的prehandle方法,然后进第二个拦截器的prehandle方法,顺序按照配置文件配置顺序决定,当所有的prehandle方法跑完,会开始按从后往前顺序执行所有的posthandle方法,当posthandle方法跑完后,就会反向从后往前执行aftercompletion方法