MVC与JavaWeb三层结构
MVC与JavaWe都是为了增强应用程序的扩展性,使用逻辑结构更加清晰
- MVC
- JavaWeb三层结构
一、MVC
1.MVC的概念
MVC模式(Model-View-Controller)是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:
- Model 模型:程序编写程序应用的功能(实现算法等等)、数据库管理,Java对象。
- View 视图:界面设计人员进行图形界面设计
- Controller 控制器:对请求进行处理,负责请求转发
2.MVC的三个阶段
- JSP Model v1
JSP Model1是JavaWeb早期的模型,它适合小型Web项目,开发成本低!Model1第一代时期,服务器端只有JSP页面,所有的操作都在JSP页面中,连访问数据库的API也在JSP页面中完成。也就是说,所有的东西都耦合在一起,对后期的维护和扩展极为不利。
- JSP Model v2
JSP Model1第二代有所改进,把业务逻辑的内容放到了JavaBean中,而JSP页面负责显示以及请求调度的工作。虽然第二代比第一代好了些,但还让JSP做了过多的工作,JSP中把视图工作和请求调度(控制器)的工作耦合在一起了。
- JSP Model2
基本上属于MVC结构了.JSP Model2适合多人合作开发大型的Web项目,各司其职,互不干涉,有利于开发中的分工,有利于组件的重用。但是,Web项目的开发难度加大,同时对开发人员的技术要求也提高了。
- JSP:视图层,用来与用户打交道。负责接收用来的数据,以及显示数据给用户;
- Servlet:控制层,负责找到合适的模型对象来处理业务逻辑,转发到合适的视图;
- JavaBean:模型层,完成具体的业务工作,例如:开启、转账等。
二、JavaWeb三层结构
我们常说的三层框架是由JavaWeb提出的,也就是说这是JavaWeb独有的!
- WEB层:包含JSP和Servlet等与WEB相关的内容;
- 业务层:业务层 中不包含JavaWeb API,它只关心业务逻辑;
数据层:封装了对数据库的访问细节;
JavaWeb本质目的还是简化逻辑结构,增强程序的扩展性,所以有以下几点要求:在业务层中不能出现JavaWeb API,例如request、response等。
- 业务层的每个方法可以理解成一个功能,例如转账业务方法。业务层依赖数据层,而Web层依赖业务层