一、MVC模型

1.1、MVC概述

  • MVC是模型(Model)、视图(View)、控制器(Controller)的简写,是一种软件设计规范。
  • 是将业务逻辑、数据、显示分离的方法来组织代码。
  • MVC主要作用是降低了视图与业务逻辑间的双向偶合。
  • MVC不是一种设计模式,MVC是一种架构模式。

1.2、MVC各层作用

  • Model(模型):通常指的就是我们的数据模型。作用一般情况下用于封装数据。
  • View(视图):通常指的就是我们的 jsp 或者 html。作用一般就是展示数据的。通常视图是依据模型数据创建的。
  • Controller(控制器):是应用程序中处理用户交互的部分。作用一般就是处理程序逻辑的。

最典型的MVC就是JSP + servlet + javabean的模式。

spring mockmvc 原理 springmvc模型_Web

二、SpringMVC概述

2.1、SpringMVC概念

  • SpringMVC 是一种基于 Java 的实现 MVC 设计模型的请求驱动类型的轻量级 Web 框架,属于 SpringFrameWork 的后续产品,已经融合在 Spring Web Flow 里面。Spring 框架提供了构建 Web 应用程序的全功能MVC 模块。
  • SpringMVC 已经成为目前最主流的 MVC 框架之一,并且随着 Spring3.0 的发布,全面超越 Struts2,成为最优秀的 MVC 框架。
  • 它通过一套注解,让一个简单的 Java 类成为处理请求的控制器,而无须实现任何接口。同时它还支持RESTful 编程风格的请求。

2.2、SpringMVC的特点

  • 轻量级,简单易学 高效 ,
  • 基于请求响应的MVC框架
  • 与Spring兼容性好,无缝结合
  • 功能强大:RESTful、数据验证、格式化、本地化、主题等

2.3、SpringMVC的工作原理

spring mockmvc 原理 springmvc模型_MVC_02


2.4、SpringMVC底层执行原理

spring mockmvc 原理 springmvc模型_spring mockmvc 原理_03

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