SpringMVC 的工作原理

2018-09-09  本文已影响0人  Ada54

SpringMVC的工作原理

SpringMVC处理请求的过程,以及涉及到的主要组件

SpringMVC请求处理过程

1   用户 —> Dispatcher Servlet

用户发送请求给 Dispatcher Servlet 前端控制器 , Dispatcher Servlet 前端控制器不进行处理,而是调用其他解析器进行用户的请求处理,它只作为一个转发器

2   Dispatcher Servlet —> HandlerMapping, 3  HandlerMapping —> Controller

DispatcherServlet 接受到请求后,调用 HandlerMapping,然后根据 URL,寻找到对应的 Controller

4   Dispatcher Servlet —> HandlerAdapter , 5  HandlerAdapter —> Controller

完成了 URL 和 Controller 映射过程后,也就是找到了对应的 Controller,那么Dispatcher Servlet 就调用 HandlerAdapter 适配器,去执行该 Controller

6   Controller —> HandlerAdapter , 7  HandlerAdapter —> Dispatcher Servlet

Controller 完成业务处理,返回一个ModelAndView 对象(包含模型数据、逻辑视图名)

8   Dispatcher Servlet —> ViewResolver , 9  ViewResolver —> Dispatcher Servlet

Dispatcher Servlet 调用 ViewResolver 进行 ModelAndView 对象的解析,将ModelAndView 的逻辑视图名解析为具体的 View,返回 View 视图对象

10   Dispatcher Servlet —> View , 11 Dispatcher Servlet —> 用户

Dispatcher Servlet 调用 View 对传进来的Model模型数据进行渲染,此处的Model实际是一个Map数据结构。返回控制权给DispatcherServlet,由DispatcherServlet将结果响应给用户

SpringMVC的组件

DispatcherServlet 前端控制器 (框架提供):控制中心,用于接收请求,调用其他组件来处理用户的请求,并且响应结果。减小组件间的耦合性

HandlerMapping 处理器映射器(框架提供):根据请求URL寻找匹配的Handler,也就是Controller。映射方式包括注解方式、配置文件方式、实现接口方式

HandlerAdapter 处理器适配器:根据HandlerAdapter 自身要求的规则,去执行Handler,也就是Controller

Controller处理器(开发者编程):在DispatcherServlet的控制下,对具体的用户请求进行处理。开发者需要根据业务需求编写Controller

ViewResolver 视图解析器:根据逻辑视图名解析成具体的页面地址,再将处理结果生成View视图。Springmvc 支持多类型的视图解析,例如:jsp、freemarker、pdf、excel等

View 视图 (开发者编程) : View就是展示给用户的界面,需要开发者进行页面设计,视图中通常使用标签语言来展示模型数据

参考链接:https://www.cnblogs.com/xiaoxi/p/6164383.html

                  https://www.cnblogs.com/heavenyes/p/3905844.html

上一篇下一篇

猜你喜欢

热点阅读