一、MVC(model-view-controller)设计模式
作用:提高代码的可重用性,可读性,可维护性
层次介绍:
模型(model):包括实体类和dao层(实现程序的逻辑实现和数据库的管理)
试图(view):视图,和用户进行交互
控制器(controller):(servlet)用于分发请求
mvc是软件工程中的一种软件设计模式。mvc不是java自己拥有的,而是所有B/S系统都可以使用的一个软件设计模式。
二、javaWeb和mvc得发展历程
javaWeb经历了jsp model1.1,jsp model1.2,jsp model2.0(mvc),后来就是三层架构。
2.1 jsp model1.1
jsp model1.1是javaWeb的早期模型,适合小项目,开发成本低。这个阶段的服务器上只有jsp文件,再jsp做了太多的操作,和用户的交互,java业务逻辑,请求调度,数据库连接,都在这个jsp。使得代码的耦合度过高。
2.2 jsp model1.2
该阶段出现了javaBean层,业务逻辑和数据库连接等操作放在javaBean中。虽然jsp文件的功能有所减少,但是还是拥有和用户交互以及请求调度两个功能,代码耦合度仍然很高。
2.3jsp model2
这个阶段已经能清晰看到mvc的设计模式的层次:
View( jsp文件):视图层,用于和用户进行交互,数据展示
model:模型层,实现具体的业务逻辑和数据库连接
controller( servlet ):控制层,用来找到合适的模型对象来处理业务,转发到合适的jsp
该模型已经能够实现多人协作开发,每人负责一个模块,可以来开发复杂度到的项目,但是对开发人员的能力有要求。
三、三层架构
三层架构是从jsp model2过度而来,对代码分析更加详细。
三层架构:表述层(web层),业务逻辑层,数据访问层。
表述层:在概念划分上包含jsp和controller,这些都是和web相关的内容
业务逻辑层:该层实现具体的业务逻辑实现,但是不包括javaWeb api,只关心业务逻辑
数据访问层:封装了对数据库的访问细节
三层架构比jsp model2多了一个service层,用来实现javaWeb api的具体业务逻辑。