持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第11天,点击查看活动详情
MVC模式
1.什么是MVC模式?
MVC 三个字母分别是modle、view、controller三个单词:模型,视图,控制器。
2. 学校教的MVC模式
在学校的JavaWeb学习中,老师一定会告诉大家:model就是JavaBean实现的,view就是JSP实现的,controller是Servlet实现的。于是乎你的期末大作业就会交上去一个这样的作品。(图为作品目录)
最快乐的时间可能就是写JavaBean的时间,然后Servlet中各种业务,而且基本上就是实现登入登出和增删改查功能就会让Servlet看着很庞大。
3.上述这种MVC模式的流程
如图所示:
这种流程的MVC模式会让Servlet的变得非常的庞大,而且能实现的业务不多,非常不利于维护。Servlet 会承担很多功能的实现,比如处理请求响应,视图跳转,处理 JDBC,业务代码和逻辑代码等等。
三层架构
2. 三层架构
三层架构是指将程序分为表示层、业务逻辑层、数据访问层。
这三个分别对应的是Servlet层、Service层和Dao层。
三层架构主要是采用的面向接口编程,层与层之间使用接口访问,并通过对象模型的实体类(Model)作为数据传递的载体。
所以标准的三层架构的代码目录是:
它们的访问方式是:
1.在古老的MVC模式加一个环节
想要解决上述问题,最主要的方式就是将Servlet变轻,现在我们就给Servlet瘦身,将它的逻辑业务和CRUD剥离出来,让Servlet只负责接收和响应,接收到的数据交给service和dao来完成。
service来完成Servlet的逻辑业务
dao来完成数据库连接、查询和更新操作。
2.新的MVC模式:MVC三层架构
依然是Model、View、Controller三层,但是将Controller的一些业务放到Modle中:
- Model:
- JavaBean:构造实体
- Service:实现逻辑业务
- Dao:实现数据库的相关操作
- View:
- 展示数据
- 给用户提供操作
- Controller:
- Servlet:负责请求和响应
4.MVC模式和三层架构的关系
关系图如下:
小结
三层架构是一个非常重要的架构模式,在学完JavaWeb继续去学习框架的时候,基本上用到的都是三层架构模型,所以一定要理解三层架构的思想。