狂神Java Web (八)MVC三层架构
MVC三层架构
什么是MVC: Model View Controller (模型,视图,控制器)
-
Controller 控制器(Servlet)
-
View 视图(JSP)
-
Model 模型 (Service,DAO,JavaBean)
Servlet和JSP都可以写Java代码,为了易于维护和使用:
Servlet专注与处理请求,以及控制视图跳转
JSP专注于显示数据
1. 早些年的架构
用户直接访问控制层,控制层就可以直接操作数据库;
Servlet - CRUD - 数据库
程序十分臃肿,不利于维护:Servlet代码中:处理请求、响应、视图跳转、处理业务代码、处理逻辑代码
架构:没有什么是加一层解决不了的
2. MVC三层架构
Model
- 业务处理:业务逻辑(Service)
- 数据持久层:CRUD(DAO)
View
- 展示数据
- 提供链接发起Servlet请求(a,form,img...)
Controller(Servlet)
-
接收用户的请求:(request:请求参数、session信息)
-
交给业务层处理对应的代码
-
控制视图的跳转
登录 --> 接收用户的登录请求 --> 处理用户的请求(获取用户登录的参数,username,password) --> 交给业务层处理登录业务(判断用户名密码是否正确;事务) --> DAO层查询用户名、密码是否正确 --> 数据库