10、MVC三层架构
什么是MVC:
- Model(模型):实体类和数据库中对应的字段
- view(试图):jsp页面
- Controller(控制器):servlet,负责跳转页面
10.1、早些年的架构
用户直接访问控制层,控制层就可以直接操作数据库
转发或重定向到jsp页面
可以携带参数,jsp就能取了
servlet --> CRUD(增删改查) -->操作,数据库
有弊端:jdbc的代码也要写在servlet的处理请求里边,程序十分臃肿,不利于维护
如:在servlet的代码中(doGet,doPost),内容:处理请求、响应、试图跳转、处理JDBC、处理业务代码、处理逻辑代码
servlet(做的事太多了),想办法解决!
在中间在加一层
架构思想中:没有什么是加一层解决不了的! 如果一层解决不了,再加一层
加一层解决不了的方案:
jdbc
程序员调用jdbc
|
|
jdbc下面有
|
|
MySQL Oracle sqlservlet……
这些数据库都是不同的厂商生产的,但是连接需要统一的接口,所有规定了一个jdbc的接口,这个厂商实现jdbc就可以了。程序员调用jdbc
10.2、MVC三层架构
以后还会有:微服务架构,服务网格架构
MVC三层架构是最经典的
有三层
Model(模型层)
- 业务处理:业务逻辑 (一般用Servlet代表)
- 数据持久层:CRUD 增删改查 (Dao层)
View (视图)
- 展示数据
- 提供链接,发起Servlet请求 (如a链接,form表单,img……)
Controller :(Servlet) 控制层
-
接收用户的请求:(req :拿到用户的请求参数、Session信息……)
-
交给业务层处理对应的代码(servlet往下调用Model)
-
控制试图的跳转
-
登录举例:
-
正向的
-
登录-->接收用户的登录请求 --> 处理用户的请求(获取用户登录的参数, username,password)--->交给业务层处理登录业务(登录业务:判断用户密 码是否正确,有特殊的地方:如,事务) --> Dao层查询用户名和密码是否正 确-->查数据库
-