全国咨询/投诉热线:400-618-9090

首页技术文章正文

JavaEE知识点:MVC设计模式

更新时间:2017-12-26 来源:黑马程序员 浏览量:

MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,是一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。

MVC模式最早被Trygve Reenskaug提出,成为施乐帕罗奥多研究中心(Xerox PARC)的Smalltalk语言发明的一种软件设计模式。

MVC可对程序的后期维护和扩展提供了方便,并且使程序某些部分的重用提供了方便。而且MVC也使程序简化,更加直观。

需要注意的是MVC设计模式并不是java语言独有的设计模式,几乎所有的B/S结构的项目都在使用这种设计模式。其中M、V、C分别代表如下含义:

l M:model层,即模型层,用来维护数据以及提供数据访问方法;

l V:view层,即视图层,通常由jsp充当,用于展示模型的部分数据或所有数据的可视化视图;

l C:controller层,即控制层,用于对处理请求。

下面通过一张图来了解MVC设计模式,如图1-1所示:

MVC设计模式

图 1-1 MVC设计模式图

Javaweb的开发经历了JSP Model1、JSP Model1二代以及JSP Model2三个时期。下面我们分别介绍这三个时期。

1.JSP Model1第一代

JSP Model1是javaweb早期的设计模式,它适合小型web项目,开发成本低。Model1第一代时期,服务器端只有jsp页面,所有的操作都在jsp页面中,其中访问数据库的API是在jsp页面中完成的。也就是说,所有的东西都耦合在一起,这样对后期的维护和扩展极为不利。下面我们通过一张图来了解JSP Model1设计模式,如图1-2所示:

MVC设计模式

图1-2 JSP Model1设计模式

2.JSP Model1第二代

JSP Model1第二代有所改进,把业务逻辑的内容放到了JavaBean中,而JSP页面负责显示以及请求调度的工作。虽然第二代比第一代好了些,但还让JSP做了过多的工作,在JSP中将视图工作和请求调度(控制器)的工作耦合在一起了。下面我们通过一张图来了解JSP Model1第二代设计模式,如图1-3所示:

MVC设计模式

图1-3 JSP Model1第二代设计模式

3.JSP Model2

JSP Model2模式已经可以清晰的看到MVC完整的结构了,在JSP Model2中层次划分的很清晰,如下所示:

l JSP:视图层,用来与用户打交道,负责接收用来的数据,以及显示数据给用户;

l Servlet:控制层,负责找到合适的模型对象来处理业务逻辑,转发到合适的视图;

l JavaBean:模型层,完成具体的业务工作,例如:开启、转账等。

JSP Model2适合多人合作开发大型的Web项目,各司其职,互不干涉,有利于开发中的分工,有利于组件的重用。但是,Web项目的开发难度也随之加大,同时对开发人员的技术要求也有所提高。

下面通过一张图来了解JSP Model2设计模式,如图1-4所示:

MVC设计模式

图1-4 JSP Model2设计模式


本文版权归黑马程序员JavaEE学院所有,欢迎转载,转载请注明作者出处。谢谢!

作者:黑马程序员JavaEE培训学院

首发:http://java.itheima.com/

javaee

python

web

ui

cloud

test

c

netmarket

pm

Linux

movies

robot

http://www.itcast.cn/subject/uizly/index.shtml?seozxuids

14天免费试学

基础班入门课程限时免费

申请试学名额

15天免费试学

基础班入门课程限时免费

申请试学名额

15天免费试学

基础班入门课程限时免费

申请试学名额

15天免费试学

基础班入门课程限时免费

申请试学名额

20天免费试学

基础班入门课程限时免费

申请试学名额

8天免费试学

基础班入门课程限时免费

申请试学名额

20天免费试学

基础班入门课程限时免费

申请试学名额

5天免费试学

基础班入门课程限时免费

申请试学名额

0天免费试学

基础班入门课程限时免费

申请试学名额

12天免费试学

基础班入门课程限时免费

申请试学名额

5天免费试学

基础班入门课程限时免费

申请试学名额

5天免费试学

基础班入门课程限时免费

申请试学名额

10天免费试学

基础班入门课程限时免费

申请试学名额
在线咨询 我要报名