Sping MVC 正式的名字为 Spring Web MVC,是 Spring Framework 框架中的其中一个模块,基于 Servlet API 构建,同时使用 MVC 的架构模式,主要用以简化传统的 Servlet + JSP 进行 web 开发的工作。
MVC架构模式
Spring MVC 基于 MVC 模式,因此理解 Spring MVC 需要先对 MVC 模式有所了解。
传统 MVC 架构模式
MVC 即 Model-View-Controller 是软件开发中一种常用的架构模式,将软件系统分为三层:模型(Model)、视图(View)、控制器(Controller),各部分根据职责进行分离,使程序的结构更为直观,增加了程序的可扩展性、可维护性、可复用性。可以用如下的图形来表示三者之间的关系:
- 模型(Model):模型封装了数据及对数据的操作,可以直接对数据库进行访问,不依赖视图和控制器,也就是说模型并不关注数据如何展示,只负责提供数据。GUI 程序模型中数据的变化一般会通过观察者模式通知视图,而在 web 中则不会这样。
- 视图(View):视图从模型中拉取数据,只负责展示,没有具体的程序逻辑。
- 控制器(Controller):控制器用于控制程序的流程,将模型中的数据展示到视图中。
Java Web MVC 架构模式