spring mvc 是ssm框架中的一部分,springmvc是基于JAVA的实现MVC设计模式的请求驱动类型的轻量级的web框架。通过注解的方式来web功能,简化开发。
MVC体系结构
三层架构
我们在开发过程中主要是遵循两种形式,一种C/S架构,一种是B/S架构。在JAVAEE开发中,几乎全都是B/S架构的开发。系统标准的三层架构在B/S中广泛运用。
表现层:
也就是我们通常所说的web层,他负责接收客户端发送过来的请求和将查询出来的数据进行转发,向客户端响应结果
表现层包括展示层和控制层:控制层负责接收数据,展示层负责结果的展示。表现层依赖于业务层,接收到客户端请求一般会调用业务层进行业务处理,并将处理好的结果反馈给客户端,而我们所说的mvc模型是属于表现层的。
业务层:
service层,它负责业务逻辑处理
持久层:
dao层负责数据持久化
MVC设计模式
mvc全名为model view controller。是模型-视图-控制器的缩写。一种用设计创建web应用程序表现层的模式
model: 包含了业务模型和数据模型,数据模型用于封装数据。业务模型用于处理业务
view:通常指的是jsp或者html。作用是用于数据展示
controller:是应用程序中处理用户交互的部分,作用一般就是处理程序逻辑。
mvc执行流程
流程执行:
第一步:用户发送请求到前端控制器DispatcherServlet
第二步:DispatcherServlet收到请求调用handleMapping处理映射器
第三步:处理器映射器根据请求Url找到具体的handler(后端控制器),生成处理器对象及处理器拦截器一并返回DispatcherServlet
第四步:DispatcherServlet调用HandlerAdapter处理器适配器去调用Handler
第五步:处理器适配器执行Handler
第六步:Handler执行完成给处理器适配器返回ModelAndView
第七步:处理器适配器向前端控制器返回 ModelAndView,ModelAndView 是SpringMVC 框架的一个底层对 象,包括 Model 和 View
第八步:前端控制器请求视图解析器去进行视图解析,根据逻辑视图名来解析真正的视图。
第九步:视图解析器向前端控制器返回View
第十步:前端控制器进行视图渲染,就是将模型数据(在 ModelAndView 对象中)填充到 request 域
第十一步:前端控制器向用户响应结果
Spring MVC九大组件
1.HandlerMapping(映射处理器)
HandlerMapping是用来查找Handler的,就是处理器。具体的表现形式可以是类,也可以是方法
2.HandlerAdapter(处理器适配器)
让固定的servlet处理方法调用hanndler来进行处理
3.viewResolver(视图解析器)
将string类型的视图名和locale解析为View类型的视图,只有一个resolveViewName()方法。
4.requestToViewNameTranslator
从请求中获取viewname
5.localeResolver
国际化解析器
6.ThemeResolver
主题解析器
7.MultipartResolver
请求上传
8.FalshMapManager
重定向时参数传递
9.handleExceptionReslover
处理异常解析器