文章目录
官方对于Spring Web MVC的描述这样的:
Spring Web MVC is the original web framework built on the Servlet APl and has been includedin the Spring Framework from the very beginning. The formal name, “Spring Web MVc”,comes from the name of its source module (spring-webmvc)
即Spring Web MVC 是基于 Servlet API 构建的原始 Web 框架,从⼀开始就包含在 Spring 框架中。它的 正式名称“Spring Web MVC”来⾃其源模块的名称(Spring-webmvc),但它通常被称为"Spring MVC"
那么什么是Servlet??
Servlet 是一种实现动态页面的技术,准确来讲Servlet是一套 Java Web 开发的规范,或者说是一套Java Web 开发的技术标准,只有规范并不能做任何事情,必须要有人去实现它.所谓实现 Servlet 规范,就是真正编写代码去实现 Servlet 规范提到的各种功能,包括类、方法、属性等Servlet 规范是开放的,除了Sun 公司,其它公司也可以实现 Servlet规范,目前常见的实现了Servlet规范的产品包括Tomcat、Weblogic、Jetty、Jboss、WebSphere 等,它们都被称为"Servlet 容器".Servlet 容器用来管理程序员编写的 Servlet 类.
简而言之,Spring Web MVC是一个Web框架,也称为"Spring MVC"
1.MVC定义
MVC(Model View Controller),是软件工程中的一种软件架构设计模式,将软件系统分为模型、视图和控制器三个基本部分
- View(视图)指在应用程序中专门用来与浏览器进行交互,展示数据的资源
- Model(模型)是应用程序的主体部分,用来处理程序中的数据逻辑的部分
- Controller(控制器)理解为一个分发器,用来决定但对于视图发来的请求,需要用哪一个模型来处理,以及处理完后需要跳转回哪一个视图。即用来连接视图和模型
2. Spring MVC
MVC是一种架构设计模式,也是一种思想,而Spring MVC是对这种思想的实现
除此之外,Spring MVC还是一个Web 框架
总的来说,Spring MVC是一个实现了MVC模式的web框架
我们使用idea创建Spring Boot项目的时候,勾选的Spring Web指的就是Spring MVC
Spring Boot和 Spring MV到底是什么关系?? 两者同时存在不会产生冲突吗?
实际上,Spring Boot只是实现Spring MVC的其中一种方式而已
Spring Boot可以添加很多依赖,借助这些依赖实现不同的功能,而Spring Boot就是添加了Spring Web MVC框架来实现Web功能
Spring MVC在实现MVC的时候,也是结合了自身项目的特点,做了一些改变,但是实际上核心是没有变化的