简述

本文主要介绍springMVC工作原理。

工作原理

客户端发送HTTP请求,DispatcherServlet控制器拦截到请求,调用HandlerMapping 解析请求对应的Handler,HandlerAdapter根据Handler来调用真正Controller处理请求,并处理相应的业务逻辑,Controller返回一个模型视图ModelAndView,ViewResolver进行解析,返回一个视图对象,DispatcherServlet渲染数据对象Model,将得到视图对象返回给客户端,最终显示在相应的页面上。

工作流程图




SpringMVC 的工作流程 springmvc工作原理和工作流程_springmvc流程

图 1 工作流程图



工作流程

1、 客户端(浏览器)发送HTTP请求,DispatcherServlet拦截到该请求;

2、 DispatcherServlet根据请求信息调用HandlerMapping,解析请求对应的Handler;

3、 HandlerMapping解析到对应的Handler(也就是我们说的Controller);

4、 DispatcherServlet调用Controller控制器,开始由Controller处理;

5、 Controller开始调用相应Service层处理不同的业务;

6、 Service层调用DAO层进行数据处理;

7、 DAO层和数据库交互,进行相应的增、删、改、查等;

8、 Controller处理器处理完毕后,返回一个ModelAndView对象至DispatcherServlet;

9、 DispatcherServlet调用视图解析器ViewResolver处理视图映射,并返回至DispatcherServlet;

10、 DispatcherServlet将处理后的结果传给View视图渲染;

11、 View将渲染后的视图返回给客户端(浏览器),显示在相应的页面上。

组件说明

DispatcherServlet:整个流程控制的中心,控制其它组件执行,统一调度,降低组件之间的耦合性,提高每个组件的扩展性。

HandlerMapping:根据请求的url查找Handler。HandlerMapping负责根据用户请求找到Handler即处理器(Controller),SpringMVC提供了不同的映射器实现不同的映射方式,例如:配置文件方式,实现接口方式,注解方式等。

ViewResolver:进行视图解析,根据逻辑视图名解析成真正的视图,ViewResolver负责将处理结果生成View视图,ViewResolver首先根据逻辑视图名解析成物理视图名即具体的页面地址,再生成View视图对象,最后对View进行渲染将处理结果通过页面展示给用户。

Model:返回的数据对象。

View:实现类支持不同的View类型(jsp、freemarker、pdf...)。

ok,以上就是springMVC工作原理及流程详细讲解