前言
在Web应用程序设计中,MVC深受程序员喜爱,而在Spring中,SpringMVC以DispatcherServlet为核心,负责协调和组织不同组件来完成请求处理,最终响应给客户端的工作。这就是SpringMVC模式。
什么是Spring MVC
SpringMVC是一个基于JAVA来实现的MVC设计模式,通过MVC设计模式来请求驱动类型的轻量级web框架,将Model、View、Controller分离,再将web层进行解耦,把复杂的web应用拆分成几个部分,各司其职,简化开发,方便开发人员之间的配合。
Spring MVC的九大组件
Spring MVC九大组件会在系统启动前就进行初始化的。
源码出处
组件名称 | 解释 |
---|---|
MultipartResolver | 多文件上传的组件 |
LocaleResolver | 本地语言环境 |
ThemeResolver | 主题模板处理器 |
HandlerMapping | 保存URL映射关系 |
HandlerAdapter | 动态参数适配器 |
HandlerExceptionResolver | 异常拦截器 |
RerquestToviewNameTranslator | 视图提取器,从request中获取viewName |
ViewResolvers | 视图转换器,模板引擎 |
FlashMapManager | 参数缓存器 |
Spring MVC 核心组件执行流程
面试会问,非常重要
- 客户端发起请求后,DispatcherServlet前端控制器收到请求后调用HandlerMapping处理器映射器。
- HandlerMapping根据url找到具体的处理器,生成处理器对象以及拦截器返回给DispatcherServlet。
- DispatcherServlet通过HandlerAdapter处理器适配器调用处理器,执行Controller控制器。
- Controller执行完成后返回ModelAndView。
- HandlerAdapter将Controller返回的ModelAndView返回个DispatcherServlet。
- DispatcherServlet将ModelAndView传给ViewReslover视图解析器,解析完成后返回具体的View。
- DispatcherServlet再对View进行渲染,将模型数据填充到视图中。
- 最终响应给客户端。