SpringMVC 是隶属于 Spring web 中的一部分, 属于表现层的框架.
其使用了 MVC 架构模式的思想, 将 Web 层进行职责解耦, 使用请求 - 响应模型简化 Web 开发
SpringMVC 通过中央调度器 DispatcherServlet, 来调用 MVC 的三大件: ControllerModelView
保证 MVC 的每一个组件只与 DispatcherServlet 耦合, 彼此之间独立运行, 降低程序的耦合性
具体执行逻辑如下:
浏览器提交请求到中央调度器.
中央调度器将请求转给处理器映射器.
处理器映射器根据请求, 找到请求对应的处理器, 并将其封装为处理器执行链返回给中央调度器.
中央调度器根据处理器执行链中的处理器, 找到能够执行该处理器的适配器.
适配器调用执行处理器.
处理器将处理结果以及要跳转的视图封装到一个对象 ModelAndView 中, 并将其返回给处理器适配器.
适配器将结果返回给中央调度器.
中央调度器调用视图解析器, 将 ModelAndView 中的视图名封装为视图对象.
视图解析器将封装了的视图对象返回给中央处理器.
中央调度器调用视图对象, 让其渲染, 即进行数据填充, 形成响应对象.
中央调度器响应浏览器.
DispatcherServlet
中央调度器, 它用来调用诸如处理器映射器, 适配器, 视图解析器等组件处理用户请求.
中央调度器的存在降低了组件之间的耦合.
HandlerMapping
处理器映射器, 负责根据用户请求找到对应的 Handler, 即处理器, 并将处理器封装为处理器执行链返回给中央调度器.
HandleAdaptor
适配器模式, 可以扩展适配器来对更多类型的处理器进行执行, 中央调度器根据不同的处理器自动选择适配器, 以执行处理器.
Handler
处理器, 即后端控制器. 在 DispatcherServlet 控制下 Handler 调用 Service 层对具体用户请求进行处理.
Handler 一般涉及的是用户具体的业务请求, 充当 MVC 中的 Controller.
ViewResolver
视图解析器, 负责将处理结果生成 View 视图, ViewResolver 首先将逻辑视图名解析为物理视图名, 即具体页面地址.
再生成 View 视图对象, 最后将处理结果通过页面形式展现给用户.
SpringMVC 中提供了多种 View 视图类型, 例如: JstlView, RedirectView 等等.
来源: https://www.cnblogs.com/xdecode/p/8577439.html