spring MVC多个拦截器的执行顺序
welcome to my blog
问题描述, 当定义了多个拦截器时, 每个拦截器中的preHandle()方法的执行顺序是什么? 能否指定这些拦截器的执行顺序呢? 答案是可以的, 这里以多个拦截器之间的preHandle()方法为例
第一个拦截器, DataInterceptor
第二个拦截器, LoginTicketInterceptor
定义完拦截器后还需要创建对应的配置类, 这里命名为WebMvcConfig
实现WebMvcConfigure接口后需要重写addInterceptors()方法, 在该方法内为拦截器设置拦截的规则, 处理拦截器的顺序就是项目执行时拦截器的执行顺序, 如下图所示, 先处理的loginTicketInterceptor, 再处理的dataInterceptor, 所以项目执行时会先执行dataInterceptor的preHandle()方法, 再去执行loginTicketInterceptor的preHandle()方法