Spring请求运行流程

流程

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

2、DispatcherServlet收到请求调用HandlerMapping处理器映射器查找Handler。

3、处理器映射器根据请求url找到具体的处理器Adapter,生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet。

4、DispatcherServlet通过HandlerAdapter处理器适配器调用处理器

5、HandlerAdapter调用处理器Handler

6、Handler执行完成返回ModelAndView

7、HandlerAdapter将Handler执行结果ModelAndView返回给DispatcherServlet

8、DispatcherServlet将ModelAndView传给ViewReslover视图解析器,ViewReslover根据逻辑视图名解析View

9、ViewReslover返回View

10、DispatcherServlet对View进行渲染视图(即将模型数据填充至request域)

11、DispatcherServlet响应用户

DispatcherServlet前端控制器(springmvc框架提供)

作用:接收请求,响应结果
有了前端控制器减少各各组件之间的耦合性,前端控制器相关于中央调度器。

HandlerMapping 处理器映射器(springmvc框架提供)

作用:根据url查找Handler,比如:根据xml配置、注解方式查找Handler

HandlerAdapter处理器适配器(springmvc框架提供)

作用:执行Handler
不同类型的Handler有不同的HandlerAdapter,好处可以通过扩展HandlerAdapter支持更多类型的Handler

Handler处理器(由程序员开发)

作用:业务处理
实现开发中又称为controller即后端控制器
Handler的开发按照HandlerAdapter的接口规则去开发。
Handler处理后的结果是ModelAndView,是springmvc的底层对象,包括 Model和view两个部分。
view中只包括一个逻辑视图名(为了方便开发起一个简单的视图名称)。

ViewReslover视图解析(springmvc框架提供)

作用:根据逻辑视图名创建一个View对象(包括真实视图物理地址)
针对不同类型的view有不同类型的ViewReslover,常用的有jsp视图解析器即jstlView

View视图(由程序员开发jsp页面)

作用:将模型数据填充进来(将model数据填充到request域)显示给用户
view是一个接口,实现类包括:jstlView、freemarkerView,pdfView…

猜你喜欢

转载自blog.csdn.net/weixin_42272869/article/details/112145339
今日推荐