SpringMVC初认识

SpringMVC

MVC

1. 什么是MVC?

MVC是一种框架模式,是Model View Controller(模型-视图-控制器)的缩写。

  • Model 模型
    数据模型,提供要展示的数据,用于封装数据
  • View 视图
    展示数据
  • Controller 控制器
    控制模型的数据要在哪一个视图展示
    SpringMVC初认识

2. 作用

MVC模式使展示与模型分离,流程控制逻辑、业务逻辑调用与展示分离。最终实现系统的职能分工。

3. 优缺点

  • 优点

    • 耦合性低
    • 重用性高
    • 生命周期成本低
    • 部署快
    • 可维护性高
    • 有利于软件工程化管理
  • 缺点

    • 没有明确的定义
    • 不适合小型、中等规模的应用程序
    • 增加系统接口和实现的复杂性
    • 视图与控制器之间连接的过于紧密
    • 视图对模型数据的低效率访问
    • 一般高级的界面工具或构造器不支持

SpringMVC

1. 什么是SpringMVC?

SpringMVC框架是基于Java的实现了MVC框架模式的请求驱动类型的轻量级框架。前端控制器是DispatcherServlet接口实现类,映射处理器是HandlerMapping接口实现类,视图解析器是ViewResolver接口实现类,页面控制器是Controller接口实现类。

2. MVC和SpringMVC

MVC是一种框架模式(如ORM),并没有具体实现。而SpringMVC是一种框架(如Mybatis),框架是已经用代码实现的,可以执行也可以复用。

3.工作原理SpringMVC初认识

4. 优点

  • 可以支持各种视图技术,而不仅仅局限于JSP
  • 与Spring框架集成(如IoC容器、AOP等)
  • 清晰的角色分配:前端控制器(dispatcherServlet) , 请求到处理器映射(handlerMapping), 处理器适配器(HandlerAdapter), 视图解析器(ViewResolver)
  • 支持各种请求资源的映射策略

5. 主要组件

  1. 前端控制器 DispatcherServlet
    作用:接收请求、响应结果,相当于转发器,有了DispatcherServlet 就减少了其它组件之间的耦合度。
  2. 处理器映射器 HandlerMapping
    作用:根据请求的URL来查找Handler
  3. 处理器适配器 HandlerAdapter
    注意:在编写Handler的时候要按照HandlerAdapter要求的规则去编写,这样适配器HandlerAdapter才可以正确的去执行Handler。
  4. 处理器 Handler
  5. 视图解析器 ViewResolver
    作用:进行视图的解析,根据视图逻辑名解析成真正的视图(view)
  6. 视图 View
    View是一个接口, 它的实现类支持不同的视图类型(jsp,freemarker,pdf等等)