1.MVC模型
- MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,是一种用于设计创建 Web 应用程序表现层的模式。MVC中每个部分各司其职
- Model(模型):通常指的就是我们的数据模型。作用一般情况下用于封装数据。
- View(视图): 通常指的就是我们的jsp或者html。作用一般就是展示数据的。
通常视图是依据模型数据创建的。
- Controller(控制器): 是应用程序中处理用户交互的部分。作用一般就是处理程序逻辑的
2.三层架构
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/3dcb0d20ac8aa9c2af862944d08ff0a4.png)
表现层
- 也就是我们常说的web层。它负责接收客户端请求,向客户端响应结果,通常客户端使用http协议请求web层,web需要接收http请求,完成http响应。
- 表现层包括展示层和控制层:控制层负责接收请求,展示层负责结果的展示。
- 表现层依赖业务层,接收到客户端请求一般会调用业务层进行业务处理,并将处理结果响应给客户端。
表现层的设计一般都使用MVC模型。(MVC是表现层的设计模型,和其他层没有关系)
业务层
- 也就是我们常说的service层。它负责业务逻辑处理,和我们开发项目的需求息息相关。web层依赖业务层,但是业务层不依赖web层。
- 业务层在业务处理时可能会依赖持久层,如果要对数据持久化需要保证事务一致性。(也就是我们说的,事务应该放到业务层来控制)
持久层
- 也就是我们是常说的dao层。负责数据持久化,包括数据层即数据库和数据访问层,数据库是对数据进行持久化的载体,数据访问层是业务层和持久层交互的接口,业务层需要通过数据访问层将数据持久化到数据库中。通俗的讲,持久层就是和数据库交互,对数据库表进行增删改查的。
3.SpringMVC是什么
- SpringMVC是一种基于Java的实现MVC设计模型的请求驱动类型的轻量级Web框架
- SpringMVC已经成为目前最主流的 MVC 框架之一,并且随着Spring3.0的发布,全面超越 Struts2,成为最优秀的 MVC 框架。
- 它通过一套注解,让一个简单的Java类成为处理请求的控制器,而无须实现任何接口。同时它还支持RESTful编程风格的请求。
4.入门案例
- 创建maven web项目,得到对应的目录结构
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/681ccca2cb8f7cd060151ebdded70be6.png)
- 导入依赖
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>2.0</version>
<scope>provided</scope>
</dependency>
</dependencies>
- 配置webapp目录下的WEB-INF中的web.xml文件
- 第一步:创建servlet,此标签为springmvc的核心配置(核心控制器DispatcherServlet),init-param中的 contextConfigLocation:表示项目的上下文路径中,查找springmvc.xml
<servlet>
<servlet-name>DispatcherServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<para