(十八)SpringMVC执行流程

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/jiangshangchunjiezi/article/details/88963328

1.用户请求发送至前端控制器DispatcherServlet (读取web.xml配置文件)

DispatcherServlet 是前端控制器,用来接收用户的请求,然后响应结果,相当于一个转发器

二、经过DispatcherServlet过滤后URL后,比如上述的URL是http://localhost:8080/SpringTest/login,那么这时候就进入到了HandleMapping也就是映射处理器

下面列一下SpringMVC中的几种处理映射器。

 BeanNameUrlHandlerMapping:用来根据控制器的name属性来匹配要处理的映射器

( 经过这样配置的话,就可以通过/queryItems_test来查找我们的控制器了)

映射处理器就是用来根据URL来匹配我们的处理器(或者就做控制器),比如我们请求的路径最后结尾的字母是login,那么让那个控制器来为我们服务呢?这时候就靠HandleMapping来处理了。

三、通过映射处理器就找到了我们需要处理用户请求的控制器也就是Handler,那么此时还需要HandlerAdapter(处理器适配器)来,作用就是要按照特定规则(HandlerAdapter要求的规则)去执行Handler。
 

四、经过适配器调用控制器的方法后,就会想前端控制器返回一个ModelView,包含我们需要信息的pojo对象和视图信息。

五、前端控制器开始解析视图信息,通过视图解析器(View Resolver),进行视图解析,根据逻辑视图名解析成真正的视图(view)。

视图解析器作用:根据他的前缀,后缀,组成视图的完整路径,并创建视图文件的对应对象

六、解析完视图信息后,就把modelview中的model信息传递到我们的view界面上,整个流程就处理完毕

面试:

1、用户向服务器发送请求至前端控制器DispatcherServlet

2、 前端控制器请求HandlerMapping查找 Handler

      可以根据xml配置、注解进行查找(查找handler),并返回Handler给前端控制器

3、 前端适配器调用处理器适配器执行Handler(执行handler),Handler执行完成给适配器返回ModelAndView

4、DispatcherServlet 根据返回的ModelAndView,选择一个适合的ViewResolver(选择ViewResolver)

5、通过ViewResolver 结合Model和View,来渲染视图,DispatcherServlet 将渲染结果返回给客户端。(渲染返回)

快速记忆技巧:

核心控制器捕获请求、查找Handler、执行Handler、选择ViewResolver,通过ViewResolver渲染视图并返回

猜你喜欢

转载自blog.csdn.net/jiangshangchunjiezi/article/details/88963328
今日推荐