SpringMVC介绍
一、SpringMVC是什么?
SpringMVC框架是以请求为驱动,围绕Servlet设计,将请求发给控制器,然后通过模型对象,分派器来展示请求结果视图。其中核心类是DispatcherServlet,它是一个Servlet,顶层是实现的Servlet接口。
SpringMVC,它是属于Spring基本架构里面的一个组成部分,spring和springmvc无需中间整合层整合。
Springmvc是一个基于mvc的web框架
二、SpringMVC流程图详解
2.1 六大组件
1.DisPatcherServlet 前端控制器
用户在浏览器输入url,发起请求,首先会到达DisPatcherServlet,由它来调用其他组件来配合工作的完成,DisPatcherServlet的存在大大降低了组件之间的耦合性 。中央处理器,是整个流程控制的中心。
2.HandlerMapping 处理器映射器
记录url与处理器的映射,方式有注解、XML配置等
3.HandLer 处理器
后端控制器(通俗一点:Controller层所写的业务代码)。对用户的请求进行处理
4.HandlerAdapter 处理器适配器
通过HandlerAdapter对处理器进行执行,这是适配器模式的应用,通过扩展适配器可以对更多类型的处理器进行执行。
5.ViewResolver 视图解析器
ViewResolver负责解析view视图,并进行渲染(数据填充),将处理结果通过页面展示给用户看
6.View 视图
View是一个接口,实现类支持不同的View类型(jsp、freemarker、velocity)
一般情况下需要通过页面标签或者页面模板技术将模型数据通过页面展示给用户,需要由程序员根据业务需求开发具体的页面。
2.2 SpringMVC执行原理
1、用户发送请求至前端控制器DispatcherServlet
2、DispatcherServlet收到请求调用HandlerMapping处理器映射器
3、处理器映射器找到具体的处理器(可以根据xml配置、注解进行查找),并生成处理器对象及处理器拦截器(有则生成)一起返回给前端控制器
4、DispatcherServlet调用HandlerAdaptor处理器适配器
5、HandlerAdaptor经过适配调用具体的处理器Handler(即Controller,也叫后端控制器)
6、Controller执行完成返回ModelAndView给HandlerAdaptor
7、HandlerAdaptor再将其结果返回给DispatcherServlet
8、DispatcherServlet将ModleAndView传给视图解析器
9、ViewReslover解析后返回具体的View
10、DispatcherServlet根据View进行渲染(即将模型填充至视图中)
11、DispatcherServlet再响应给用户