提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
一、Spring MVC
Spring MVC是Spring Framework提供的组件,提供前端路由映射、视图解析功能。
1、功能
MVC: Controller(控制层)、Model(模型层)、View(视图层)
流程:Controller接受客户端请求,调用相关业务层组件产出Model,或业务数据返回给Controller,Controller再结合View完成业务数据的视图层渲染,并将结果相应给客户端。
SpringMVC是对MVC进行封装
2、实现原理
核心组件:
- DispatcherServlet:前端控制器,负责调度其他组件的执行,负责降低不同组件的耦合性,是整个SpringMVC的核心模块。
- Handler:处理器,完成具体的业务逻辑,相当于Servlet。
- HandlerMapping:DispatcherServlet是通过HandlerMapping将请求映射到不同的Handler。
- HandlerInterceptor:处理拦截器,是一个接口,如果我们进行一些拦截处理,可以通过实现该接口完成.
- HandlerAdaper:处理器适配器,Handler执行业务之前,需要进行一系列的操作都需要由HandlerAdaper完成。DispatcherServlet通过HandlerAdaper执行不同的Handler.。
- ModelAndVIew:封装了数据模型和视图信息,作为Handler的处理结果,返回给DispatcherServlet。
- ViewResolver:视图解析器,DispatcherServlet通过它的逻辑视图解析为物理视图,将渲染的结果返回给客户端。
工作流程
1、客户端请求被DispatcherServlet接收。 2、根据HandlerMapping映射到Handler。
3、生成Handler和HandlerInterceptor。
4、Handler和HandlerInterceptor以HandlerExectionChain的形式返回给DispatcherServlet。
5、DispatcherServlet通过HandlerAdpater调用Handler的方法完成业务逻辑处理。
6、返回一个ModelAndView对象给DispatcherServlet。
7、DispatcherServlet将获取的ModelAndView对象传给ViewResolver视图解析器,将视图解析器解析成物理视图。
8、ViewResolver返回一个VIew进行视图渲染。(将模型数据填充到视图中)
9、DispatcherServlet将渲染后的视图响应给客户端。