00:00
好,然后下面咱们来看一下spring VC的这个执行流程啊,然后这里面呢,然后咱们从四个方面,然后来讲,首先第一方面呢,就是SPAVC的常用组件,嗯,然后再往下就是它的初始化的过程,就是咱们的前端控制器初始化的过程,然后下面就是咱们的dispatch solve调用组件来处理请求的过程。还有最后一个就是给大家简单总结了一下咱们spring VT的执行流程,当然这个东西啊,大家如果说理解的话,你自己用这个自己的语言把它给描述出来,最好知道吧,啊行,那咱们先来看第一个问题,叫做spring VC的常用组件,那这个常用组件其实咱们比较这个熟悉的应该有这个前端控制器,然后还有就是咱们的处理器,这个处理器就是咱们的控制器,能听懂吧,就是咱们写的什么什么controller,然后里面不是控制器方法嘛,是不是啊啊就这个东西啊。
01:00
好,然后再往下呢,就是咱们的view serve叫做视图解析器,然后还有呢,就是这个view啊来,然后下面大家来看,那我们首先咱们先来看第一个叫dispat solve,那这个是咱们的前端控制器啊,首先呢,在这我也跟大家写出来了,前端控制器它是不需要由工程师开发的,由框架提供,所以说大家也能够发现,在这里面所有的这些内容里面,只有一个就是咱们的控制器是需要我们自己去写的,对不对,对吧?当然呢,这个视图,视图虽然说也是由我们当前的各种框架,什么技术由咱们的框架或视图技术提供,但是咱们的页面是需要咱们自己写的,对不对,对吧?好,所以说啊,大家来看,好,那我们下面咱们来看它的作用啊,统一处理请求和响应,这没问题吧,好,然后整个流程的控制中心,整个流程控制的中心由他来调用咱们其他组件处理用户的请求,这是咱们的。
02:00
前端控制器,但在这儿呢,大家也可以简单的了解一下,等到一会儿我们再看源码的时候,然后大家要认识这几个组件,知道吧,啊,要认识这几个组件啊。好,然后这个是咱们的前端控制器的作用啊,统一处理请求响应,然后咱们整个流程的整个流程的控制中心,然后呢,由他去调用我们其他的组件来处理用户的请求,就比如说他会来调用咱们的handler mapping,然后还有咱们的handler,还有就是咱们的handler or de resource view,以及咱们的view,它其实都是由我们当前的dispater of来调用的,OK吧,好,下面呢,咱们来看这个handler mapping handler mapping是什么意思,叫做处理器、映射器,Handler是处理,然后mapping是映射,那首先大家要明白咱们这里面的这个handle了,大家记不记得我们第一天在讲SPAVC的时候,咱们就说过,我们的控制器其实也叫做什么,也叫做处理器,你叫做什么什么controller型,你叫什么什么handleler也行,能听懂吧,好然后在这儿呢,它就统一的就包括我们SP。
03:13
MC里面这些组件的命名,其实也把它命名为了handlera,能听懂吧,所以说大家要明白,这里面的处理器其实指的就是咱们的控制器,能听懂吧。能听懂吧?哎,指的就是咱们的控制器啊,好,那首先大家看处理器映射器这个东西需要咱们程序员开发吗?也不需要,也是由框架提供的,好,那它的作用是干啥呢?大家想,你看叫handler mapping,这mapping是不是应该是映射的意思,那我们在咱们实现这个spring VC处理请求的过程中,跟映射相关的是谁啊?跟映射相关的是谁?大家说跟映射相关的是不是应该就是咱们的request mapping叫做请求映射,对不对,对吧?是不是就把我们当前咱们的请求和我们的控制器之间来创建关联,如果我们当前咱们的请求跟咱们的请求映射能够匹配成功,那我们当前的控制器方法就是处理请求的方法,对不对,对吧?好,所以说大家看它是干嘛的?根据咱们请求的URL啊,或者说是method呀等信息来查找handler,我再说一遍,这个handler就是咱们的controller能听懂不啊,来查找处理器,其实就是我们当前的控制器能听懂吧?好,这个大家应该也都知道,当我们在实现咱们的handler mapping,当我们在实现咱们的request mapping的时候,咱们确实是要根据咱们的请求地址呀,包括咱们的请求方式,请求参数以及请求头信息来匹配。
04:52
求有印象没有,有印象没有,有印象吧,好,所以说这个大家一定要注意,它的作用,其实就是将我们的请求和我们的控制器方法来进行映射,能听懂吧,哎,好啊,行,再往下大家来看,这个叫处理器,确实就是咱们的控制器,那这个不用说,肯定是要需要由咱们的成这个工程师开发的,好然后它的作用呢,那就不说了,由dispar of控制下控来在咱们dispar of的控制下,然后咱们的handler,也就是咱们的controller来对具体的请求,用户请求来进行处理,也就是说dispa serve仅仅是一个,就相当于一个这个流程控制中心一样,对不对,然后呢,由他来控制各个组件,来帮助我们来处理请求,而我们的每一个请求,咱们在处理的时候,过程一样,不一样,不一样,所以说我们真正处理请求的这个。
05:52
过程由谁来决定,由咱们的控制器决定,能听懂吧?好啊,实际上这个是需要咱们自己开发的啊。好,再往下大家看,在这儿有一个叫做handler adapter,大家还记不记得咱们的dispa solve的1061行MV等于ha.handle有印象没有?这个ha其实指的就是咱们的handler adapter什么意思叫做处理器适配器?什么叫做处理器适配器呢?首先这个东西不用咱们自己写,也是有框架提供,那这个东西大家想想是干啥的?大家自己想,我们的1061行是MV等于ha.handle啥意思呀?是不是由我们当前的ha,然后去调用我们当前的控制器方法,最终返回了一个model and view,对不对?所以说什么叫做处理器适配器啊,很简单,它的作用就是来调用我们相对应的控制器方法的。能听懂不?
06:52
能听懂吧,也就是说上面它是找的,能听懂吧,哎,好,然后找到之后由谁来执行,由我们当前的handler a adapt来调用执行,能听懂吧,能听懂吧,好OK,然后下面呢,我们再来看咱们的view serve,对吧?那view servever是不是应该是我们当前的一个视图解析器对吧?那视图解析器是用来干什么的,它也不需要由咱们的工程师开发,对不对,那它主要是用来进行一个视图解析,得到相对应的一个视图,就比如说呀,我们最终咱们处理完请求之后,咱们是要来实现一个页面跳转的,而我们最终的页面跳转,咱们的视图由谁来解析,就是由视图解析器解析,那视图解析器就会根据我们当前我们的这个不同的视图名称,咱们说过,如果没有任何前缀cli view。如果这。
07:53
个是readyre冒号开头的是readyre view,如果是forward开头的,是不是应该是咱们的internal resource view,有印象没有,有印象吧,所以说我们当前咱们的视图解析器不同,就可以根据我们当前不同的视图名称来创建咱们不同的视图来进行页面渲染,能听懂吧,能听懂吧,好OK啊好,然后当然呢,咱们还有这个view。
08:20
View是什么意思啊?视图是不是由我们的视图解析器来解析咱们的视图名称所得到的视图对不对,它也不需要咱们由工程师开发,或者说这个东西确实是由工程师开发的,因为其实这个指的就是我们最后的一个页面嘛,大家说是不是啊,对吧?好,然后其实就是将咱们的模型数据通过页面来展示给用户,那后边这个咱们就不写了吧,行不行,行吧,好啊,View干什么?视图,然后它的作用就是为用户来展示模型数据的,对不对,其实就是咱们的页面视图渲染完毕之后,是不是就会将我们当前的数据为用户来进行展示,是不是能听懂吧?好,然后这个是咱们SPAVC里面的一些组件,其实咱们见过的啊,这个这个,然后包括这个,包括咱们的这个,咱们都见过,其中有两个咱们是没有见过的,一个是handler mapping干啥的,将咱们的请求和谁进行应。
09:21
是啊,和咱们的控制器方法进行映射,OK吧,还有一个叫handler adapter是干嘛的?是不是当我们找到了咱们的控制器方法之后,我们要来调用咱们的控制器方法,所以说咱们就需要用到handler adapter了,能看懂不能看懂吧?好啊,行,这个东西啊。好OK,那这个咱们就说到这儿没问题吧。
我来说两句