00:00
嗯。啊,那接下来我们说一下,呃,Spring Mac中的这个拦截器啊啊呃,那么这个话题的话呢,我们主要是来给大家去讲一下啊,拦截器的一个功能啊,以及这个拦截器我们怎么去使用啊来首先来我们看一下什么是一个拦截器啊破m Mac呢,可以使用这个拦截器啊对这个请求呢,进行一个拦截处理,那么我们可以去自定义一些拦截器来去实现一些特定的功能,那么你再去自定义拦截器的时候呢,我们诶可以去实现一个啊这个不是必须我们把它改一下啊,我们可以去实现哎,一个叫做a handle and sum接口,或者说呢啊,其实我们也可以啊,啊或者可以什么呀,去继承一个叫做什么呢?哎,去继承一个啊叫做handler。
01:02
嗯。啊,AP呀,啊,Adapt是一个什么呀,就是我们这个适配器类啊,这个适配器类啊,视频之类,就这两种方式呢,我们都是可以的啊,但是一般情况下的话,我们去写一个拦截器的时候,都是什么去要实现一个这个接口的啊,那么当你去实现了这个接口以后的话呢,它里面呢,有三个抽象方法是我们必须要去做的,第一个是pro handle,第二个是post handle,第三个呢是我们的after comp这个方法,然后每一个方法具体的作用的话呢,我们一会儿再去写这个拦截器的时候呢,再来给大家去讲解,好首先呢,你要知道的就是我们可以实现一个接口,或者说呢,去继承一个,诶这样的一个适配器类啊,那么继承接口的话呢,这三个充的方法你必须要去。干嘛呀,哎,你必须要去实现,但是你实现这个你去继承这个适配器类的时候,那么我们就不必要说一定要把这个三个方法都去给它写出来,而是你可以啊,选择性的去重写它其中的哎,某一个方法啊,那么我们现在把这两个接口啊,再把这个接口以及这个适配之内呢,给大家简单的去说一下。
02:15
好,来,我们先回到我们的开发工具中啊,我们打开这个open,先找到handle,好,不是他是吧。好handle了,这个接口来我们随便找一个吧,啊,我们就在当前的这个零三中啊,点击OK,好加上一个web mvc的这个炸包啊,好找一下外BMVC。啊,内部下面web mvc OK,就这个SS包啊,我们给它加进去啊,SS包加进来好,加进来以后呢,我们就来看一下,这个里面呢,就是一个,它首先是一个接口,而且呢,它里面有三个方法,一个是普handle,一个是我们的post handle,再一个呢就是我们的after comp,总共是三个方法,然后呢,我们能看到这三个方法呢,都是一个抽象的,所以说你去实现这个接口的话,那么这三个方法你就必须要都把它们去实现出来啊,但是呢,我们也可以去啊呃,用一个叫做handler andcept,叫做adapt这样的一个抽象类啊,我们把它叫成适配器类啊,也来到我们当前的功能,下面大家来看啊,它其实呢,帮我们去啊,实现了一个叫做什么什么什么handle德ler and加接口了是吧?啊,其实你最往上啊,再往上翻的话呢,其实就是我们的刚刚看的那个接口,但是呢,在这个适配器类中呢,有什么好处呢,注意。
03:48
他把这三个方法呢,都做了一个空实现,看到没有。对吧,在这个适配器中吧,它做了一个空实线啊,这三个方法都是一个什么空的啊,空实现,但是呢,不管你是不是一个空实现啊,这三个方法它是最实现过的,那么被实现过的方法的话呢,我们再去继承这个类的时候,我们就不用说强制性的一定要把这三个方法都写出来,而是选择性的你去重写它们里面的某个方法,或者是诶都把它写出来都是可以的啊,这就是我们在使用的时候,你根据你自己的一个情况呢,来去选择性的诶去继承类,或者说呢,去实现我们的接口都是可以的。
04:29
啊,这是我们再去写一个拦截器的时候,我们可以实现的两种方式啊,一个是实现接口,那么一个就是继承我们的适配器类,能明白了吧,OK啊啊,那这个讲完以后呢,我们再来给大家去说一下啊,这个拦截器它本身的一个作用啊,本身的一个作用,它是对这个请求进行拦截处理的啊然后呢,我们可以自定义拦截器能实现特定的功能,那我们就来先说一下对请求进行拦截处理这个过程。
05:03
呃,好多同学呢,他都会把这个拦截器呢,跟我们之前讲过的那个filter啊,跟这个过滤器呢,诶混合了啊,就是把它什么记混了,那么我们一定要把它们记清楚了啊,拦截器是拦截器,过滤器是过滤器,它们的执行时机是不一样的,我来给大家去解释一下它们的执行时机,你首先呢,要把这个给它记清楚了啊好,那么首先我们先来讲,我从浏览器端发送一个请求,到达我的这个服务器端啊,在我的服务器端中呢,我们有什么呀?首先呢,你要去执行我们的一个东西叫做dispatch solid啊,这就是我们那个啊,我就是这个笔拿笔来写一下了啊,这是我们的Dis solid啊,那么你的一个请求过来以后呢,其实你应该直接是进入到我的dispa solid的,这个大家是能理解的吧,OK,好,但是如果说你有过滤器的话,注意这个过滤器呢,它是在我们的。
06:03
Sorry之前执行的,也就意味着这是我们的过滤器,能明白吧,它是在sorry之前执行的,这是我们加外B的时候就给大家讲过的,而我们现在要讲的这个拦截器呢,它是在我们的dispa storage里面去执行的,我们的拦截器理解吧,也就意味着你可以理解是什么呢?你请求到达以后,你才有可能去执行到我们的拦截器,能明白吗?而请求没有到达dispa sorry之前,你只能去执行过滤器,所以说拦截器与过滤器他们的执行时机是不一样的,听懂了吧,虽然说从最终的这个使用效果上面来讲,可能有一点点类似,但是呢,他们的执行时机完全是不一样的,理解这个意思了吧?好,那么一会的话,我们再去讲这个具体拦截器的时候呢,会来带着大家呢,去看一下它具体的一个。
07:03
执行时机到底是在什么地方,但是呢,现在你要把最基本的技术拦截器是在我们的PASO之后去执行,而这个过滤器呢,是在我们的so之前去执行的,能明白了吗?OK,先把这个记住了啊,好,那么记住了这个以后呢,我们也要记住的,就是刚刚讲过的,如何去写一个自定义拦截器,就是实现接口,或者说呢,去继承我们的适配器类啊,把这两个东西知道了以后,我们接下来就来给大家去,诶具体写一个拦截器,我们先来感受一下。
我来说两句