一. MVC 体系结构
三层架构
我们的开发架构⼀般都是基于两种形式,⼀种是
C/S
架构,也就是客户端
/
服务器;另⼀种是
B/S
架构,也就是浏览器服务器。在
JavaEE
开发中,⼏乎全都是基于
B/S
架构的开发。那么在
B/S
架构中,系
统标准的三层架构包括:表现层、业务层、持久层。三层架构在我们的实际开发中使⽤的⾮常多,所以
我们课程中的案例也都是基于三层架构设计的。
三层架构中,每⼀层各司其职,接下来我们就说说每层都负责哪些⽅⾯:
(1)表现层 :
也就是我们常说的
web
层。它负责接收客户端请求,向客户端响应结果,通常客户端使⽤
http
协
议请求
web
层,
web
需要接收
http
请求,完成
http
响应。
表现层包括展示层和控制层:控制层负责接收请求,展示层负责结果的展示。
表现层依赖业务层,接收到客户端请求⼀般会调⽤业务层进⾏业务处理,并将处理结果响应给客户端。
表现层的设计⼀般都使⽤
MVC
模型。(
MVC
是表现层的设计模型,和其他层没有关系)
(2)业务层 :
也就是我们常说的
service
层。它负责业务逻辑处理,和我们开发项⽬的需求息息相关。
web
层依赖业务层,但是业务层不依赖
web
层。
业务层在业务处理时可能会依赖持久层,如果要对数据持久化需要保证事务⼀致性。(也就是我们说的, 事务应该放到业务层来控制)
(3)持久层 :
也就是我们是常说的
dao
层。负责数据持久化,包括数据层即数据库和数据访问层,数据库是对数据进⾏持久化的载体,数据访问层是业务层和持久层交互的接⼝,业务层需要通过数据访问层将数据持久化
到数据库中。通俗的讲,持久层就是和数据库交互,对数据库表进⾏增删改查的。
MVC设计模式
MVC
全名是
Model View Controller
,是 模型
(model)
-视图
(view)
-控制器
(controller)
的缩写, 是⼀种⽤于设计创建
Web
应⽤程序表现层的模式。
MVC
中每个部分各司其职:
(1)Model(模型):
模型包含业务模型和数据模型,数据模型⽤于封装数据,业务模型⽤于处理业务。
(2)View(视图):
通常指的就是我们的
jsp
或者
html
。作⽤⼀般就是展示数据的。通常视图是依据模型数据创建的。
(3)Controller(控制器):
是应⽤程序中处理⽤户交互的部分。作⽤⼀般就是处理程序逻辑的。
MVC
提倡:每⼀层只编写⾃⼰的东⻄,不编写任何其他的代码;分层是为了解耦,解耦是为了维
护⽅便和分⼯协作。
二. Spring MVC 是什么?
SpringMVC
全名叫
Spring Web MVC
,是⼀种基于
Java
的实现
MVC
设计模型的请求驱动类型的轻量级Web
框架,属于
SpringFrameWork
的后续产品。
![](https://i-blog.csdnimg.cn/blog_migrate/69fe0b00d7507657bd3e779d40fbed92.png)
SpringMVC
已经成为 ⽬前最主流的
MVC
框架 之⼀,并且 随着
Spring3.0
的发布,全⾯超越
Struts2
,成为最优秀的
MVC
框架。
servlet
、
struts
实现接⼝、
springmvc
中要让⼀个
java
类能够处理请求只需要添加注解就
ok
它通过⼀套注解,让⼀个简单的
Java
类成为处理请求的控制器,⽽⽆须实现任何接⼝。同时它还⽀持RESTful
编程⻛格的请求。
总之:
Spring MVC
和
Struts2
⼀样,都是 为了解决表现层问题 的
web
框架,它们都是基于
MVC
设计模式的。⽽这些表现层框架的主要职责就是处理前端
HTTP
请求。
Spring MVC
本质可以认为是对
servlet
的封装,简化了我们
serlvet
的开发。
作⽤:
1
)接收请求
2
)返回响应,跳转⻚⾯
![](https://i-blog.csdnimg.cn/blog_migrate/4860c7bf113d87fc713b1cbb5f8a373b.png)