什么是SpringMVC
MVC是我们开发WEB应用程序的通用架构方式。
MVC的核心思想是业务数据抽取和业务数据呈现相分离。
M (model)模型:业务数据的信息表示,通常是业务实体
V ( view)视图:给用户展示的数据页面
C(Controller)控制器:调用业务逻辑产生的数据,同时传递数据给用户展示。
为什么要使用SpringMVC
很多应用程序的问题在于处理业务数据的对象和显示业务数据的视图之间存在紧密耦合,通常更新业务对象的命令都是从视图发起的,使视图对任何业务对象更爱都有高度敏感性,而当多视图依赖于同一业务对象时是没有灵活性的。
SpringMVC是一种基于Java,实现的webmvc设计模式,轻量级的web框架,将web层进行职责解耦。
MVC的设计模式
MVC的设计模式任务是将包含业务的数据的模块与显示模块的视图解耦。控制器接受请求,执行更新模型的操作,然后通知视图模型更改消息。
具体的流程
1:用户发起请求--﹣>DispatcherServlet,前端控制器接收到请求
2:前端控制器请求Handlermapping查找Handler,根据注解或者是XML注解查找
3:处理器映射器HandlerMapping向前端控制器返回Handler
4:前端控制器调用处理器适配器去执行Handler
5:处理器适配器执行Handler
6:Handler执行完成后给适配器返回ModelAndView
7:处理适配器向前端控制器返回ModelAndView
8:前端控制器请求视图解析器去进行视图解析,根据逻辑视图名来解析真正的视图。
9:视图解析器向前端控制器返回View
10:前端控制器进行视图渲染,并向用户相应结果