MVC模式
MVC 它是一种分层开发模式,其中:
- M:Model,业务模型,业务处理
- V:View,视图,界面显示
- C:Controller,控制器,处理请求,调用模型和视图
控制器(serlvlet)控制器调用模型接收浏览器发送的请求(JavaBean)从数据库中获取数据,如查询数据;控制器获取数据,然后交给视图(JSP)数据显示。
MVC 好处:
- 责任单一,互不影响。每个角色都做自己的事,履行自己的职责。
- 有利于分工合作。
- 有利于组件的重用
三层结构将我们的项目分为三个层次,即 表现层
、业务逻辑层
、数据访问层
。
- 数据访问层:CRUD基本操作数据库
- 业务逻辑层:包装业务逻辑,结合数据访问层的基本功能,形成复杂的业务逻辑功能。例如
注册业务功能
,我们会先调用数据访问层
的selectByName()
判断用户名是否存在的方法,如果没有再次调用数据访问层
的insert()
添加数据的方法 - 性能层:接收请求、包装数据、调用业务逻辑层、响应数据
整个过程是浏览器发送请求、表达层Servlet接收请求并调用业务逻辑层进行业务逻辑处理,而业务逻辑层调用数据访问层进行数据操作,依次返回Servet,然后Servlet将数据移交给 JSP 进行展示。
三层架构的每一层都有独特的包名:
- 表现层:
com.xiaowei.controller
或者com.xiaowei.web
- 业务逻辑层:
com.xiaowei.service
- 数据访问层:
com.xiaowei.dao
或者com.xiaowei.mapper
在后期,我们还将学习一些框架。不同的框架包装不同层次的框架
MVC 和 三层架构的连接通过 MVC 和 三层架构 有些人一定对学习感到困惑。他们之间的区别和联系是什么?
上图上半部分是 MVC 模式,上图下半部分为三层结构。 MVC 模式
中的 C(控制器)和 V(视图)就是 三层架构
中间的表现层,而 MVC 模式
中的 M(模型)就是 三层架构
中的 业务逻辑层 和 数据访问层。
可以将 MVC 模式
理解是一个大概念,但是 三层架构
是对 MVC 模式
实现架构思想。 然后,我们将根据要求在不同的包下编写不同层次的代码,每层的功能职责都是单一的。如果未来更换了性能层的技术,则不需要更改业务逻辑层和数据访问层的代码。