00:00
来,那我们接着往后做,呃,接下来的话呢,我们再来说一下这个多个拦截器它的这个情况啊,刚刚我们研究的是啊单个拦截器,那么接下来呢,我再写出一个拦截器来看好了啊,我把这个拦截器呢,CTRLCCTRL一个我叫做什么呀?My second。好,我的第二个拦截器,OK,然后呢,My second exception这里面的话呢,大家注意了啊,我们把这些呢都给它。呃,改成什么my second啊,然后呢,为了能看起来方便的话呢,我们都加上一个这个中括号能看到吧,哎,这个也改成my second啊,然后呢,也加上一个中括号行下面呢也是啊,My second。好,加上一个中括号啊,这个大家能看懂了吧,我就把它改好了,改好以后的话呢,我们还得回到我们的配置文件中啊,再把它配出来,好,我们再来去配一个病,然后呢,Class呢,我们就叫做什么呀,诶叫做什么my second,诶这就把它配好了。
01:20
好,等于my second,好把它配好看明白了吗?那么配好以后的话呢,现在我们就有多个拦截器了,那么首先我们要研究的问题就是多个拦截器的时候,他们的执行顺序,就是拦截器的一个执行顺序,能听懂吗?来吧,那我们现在直接测试,其实就能得到这个结果了啊好来他已经帮我们部署完了,部署完以后呢,我们直接来测试一下啊,来注意我来访问一下,还是访问这个请求就可以了啊来点一下好呃,代码呢,它是debug的进行的啊,所以说呢,我进来进来以后呢,我就直接让他全部都放行,我们来看结果就行了,来看这个位置。
02:03
好,大家来现在来分析分析吧,这是咋执行的呀?啊,首先我们现在要分析的是拦截器的一个执行顺序,对吧?那你看看哪个先执行的呀,是不是买first前执行的呀,因为大家注意哈,单个拦截器中它这个方法的执行顺序是普handle post handle以及after comp嘛,对不对?那么现在我能看到我先打印出来的是我第一个拦截器的pro handle,再打印出来的才是我第二个拦截器的pro handle,所以说现在拦截界定执行顺序谁先执行的,是不是第一个先执行的呀,对不对?OK,那为什么第一个先执行呢?啊,我第一个先写出来了,第二个后写出来了,跟这个有关系吗?没用是吧?好,为什么第一个拦截镜象就行呢?那么它其。
03:04
只是根据我们的配置顺序来去决定的,你配置到前面的先执行,配置到后面的,那当然就要后执行了,能理解吧,你看比如说我把这个给它们调换一个顺序,我是不是把第二个拦截器配到前面了吧?好,配到前面以后我们来等他帮我们部署完。OK,部署完以后的话呢,我们再来访问一下这个请求好刷新。然后呢,我们还是把这个断点都给他,放心啊放心。好,都放心完以后呢,哎呀这么多了,重新来一下哈。好,然后呢啊,我们来这个放行啊,好注意30的是谁啊,你看这个是不是已经打印出来了,是不是买second了对吧,那我再放行啊,你看是不是买fast了对不对啊,你再放行的话,那就后面的东西了嘛,看到没有啊。
04:02
那这不就结束了吗?好,来走,又多了一个是吧。啊,这哪来的呀啊,先不管它了啊,我们来看这个结果,现在是不是先执行的这个买second的,后执行的是不是我这个买fast的呀,对不对,OK,所以说呢,现在我们能得出的一个结论是什么呢?就是拦截器的这个执行顺序呢,是根据我们的配置顺序来去执行的,先配置的先执行后配置的,那就是后执行了啊来,我还还是把它什么调回来看懂了吧,我还是先配成什么呀买first,再配成什么买second,那么这样的话呢,你再去执行的时候,还是先执行我的买first,再去执行我的my second。能理解吧,来把这个停一下啊,好,那么这就是我们的拦截器的一个执行顺序啊。
我来说两句