SpringMVC的请求处理流程

2年前 (2022) 程序员胖胖胖虎阿
173 0 0

关键字介绍

SpringMVC给加上@Controller的类取了个官方的名称:Hanlder

DispatcherServlet[前端控制器]:拦截所有的用户请求。

HandlerMapping[处理器映射]:只负责解析URL,解析完成后,返回DispatcherServlet一个调用链,自己不会不负责调用。

调用链:可以理解为类的名字和路径。

HanlderAdapter[处理器适配器]:根据调用链来反射调用@Controller类的对应方法。

ViewResolver[视图解析器]:把Model和View进行分离。

View[视图]:做数据的渲染。

数据渲染:把数据和视图结合在一起,产生最终的HTML页面。

用户请求流程

SpringMVC处理数据的文字表述

1、浏览器访问"book/add"。

2、DispatcherServle[前端控制器]t拦截到这个请求。

3、DispatcherServlet把请求路径交给HandlerMapping[处理映射器]。

4、HandlerMapping会解析URL,并找到对应的@RequestMapping("xxx")。

5、HandlerMapping解析完成后会返回DispatcherServlet一个调用链,告诉DispatcherServlet接下       来怎么调用。

6、DispatcherServlet把调用链交给HanlderAdapter[处理器适配器]。

7、HanlderAdapter[处理器适配器]根据调用l链反射来调用@Controller类的对应方法。

8、无论@Controller的方法返回的什么类型的数据,HanlderAdapter都会转换为ModelAndView数        据,再交给DispatcherServlet。

9、DispatherServlet拿到数据后会把数据给到ViewResolver[视图解析器]。

10、ViewResolver把Model和View进行分离,再把分离后的结果交给DispatcherServlet。

11、DispatcherServlet收到数据后,会再把数据交给View[视图]进行渲染,View会把数据和视图结         合在一起,产生最终的HTML页面。

12、View把HTML页面转给DispatcherServlet,DispatcherServlet会再把页面返回给客户端。

SpringMVC处理数据的流程图

SpringMVC的请求处理流程

 SpringMVC的请求处理流程

版权声明:程序员胖胖胖虎阿 发表于 2022年11月1日 下午11:40。
转载请注明:SpringMVC的请求处理流程 | 胖虎的工具箱-编程导航

相关文章

暂无评论

暂无评论...