SpringMVC初认识
SpringMVC
MVC
1. 什么是MVC?
MVC是一种框架模式,是Model View Controller(模型-视图-控制器)的缩写。
- Model 模型
数据模型,提供要展示的数据,用于封装数据 - View 视图
展示数据 - Controller 控制器
控制模型的数据要在哪一个视图展示
2. 作用
MVC模式使展示与模型分离,流程控制逻辑、业务逻辑调用与展示分离。最终实现系统的职能分工。
3. 优缺点
-
优点
- 耦合性低
- 重用性高
- 生命周期成本低
- 部署快
- 可维护性高
- 有利于软件工程化管理
-
缺点
- 没有明确的定义
- 不适合小型、中等规模的应用程序
- 增加系统接口和实现的复杂性
- 视图与控制器之间连接的过于紧密
- 视图对模型数据的低效率访问
- 一般高级的界面工具或构造器不支持
SpringMVC
1. 什么是SpringMVC?
SpringMVC框架是基于Java的实现了MVC框架模式的请求驱动类型的轻量级框架。前端控制器是DispatcherServlet接口实现类,映射处理器是HandlerMapping接口实现类,视图解析器是ViewResolver接口实现类,页面控制器是Controller接口实现类。
2. MVC和SpringMVC
MVC是一种框架模式(如ORM),并没有具体实现。而SpringMVC是一种框架(如Mybatis),框架是已经用代码实现的,可以执行也可以复用。
3.工作原理
4. 优点
- 可以支持各种视图技术,而不仅仅局限于JSP
- 与Spring框架集成(如IoC容器、AOP等)
- 清晰的角色分配:前端控制器(dispatcherServlet) , 请求到处理器映射(handlerMapping), 处理器适配器(HandlerAdapter), 视图解析器(ViewResolver)
- 支持各种请求资源的映射策略
5. 主要组件
- 前端控制器 DispatcherServlet
作用:接收请求、响应结果,相当于转发器,有了DispatcherServlet 就减少了其它组件之间的耦合度。 - 处理器映射器 HandlerMapping
作用:根据请求的URL来查找Handler - 处理器适配器 HandlerAdapter
注意:在编写Handler的时候要按照HandlerAdapter要求的规则去编写,这样适配器HandlerAdapter才可以正确的去执行Handler。 - 处理器 Handler
- 视图解析器 ViewResolver
作用:进行视图的解析,根据视图逻辑名解析成真正的视图(view) - 视图 View
View是一个接口, 它的实现类支持不同的视图类型(jsp,freemarker,pdf等等)