- 1、本文档共29页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《18_MVC框架》.pdf
第18章 MVC模式
在第7 章的开篇我们提到过,用JSP 编写Web 应用程序,有两种模式是经常使用
的——JSP+JavaBean 模式和JSP+JavaBean+Servlet 模式。本章内容的核心是MVC 开
发模式,即 JSP+JavaBean+Servlet 模式。在讲解 MVC 模式之前,我想先向读者介绍
一下JSP+JavaBean 模式及其优缺点,以便于更好的了解JSP+JavaBean+Servlet 模式。
18.1 JSP+JavaBean 模式简介
利用JSP+JavaBean 模式构建的Web 应用程序结构如图 18-1 所示,这种结构比纯
粹由JSP 组成的应用程序结构有了很大的改进,充分利用了Java 面向对象的优点。
图18-1 JSP+JavaBean 构建的Web 应用程序结构图
从图 18-1 可以看出,业务逻辑和数据库操作从 JSP 页面中分离开来,封装在
JavaBean 中,这样就体现出众多优点:
清晰的JSP 页面,由于业务逻辑和数据库操作已经从JSP 页面中剥离出来,
JSP 页面中只需嵌入少量的Java 代码,甚至不使用Java 代码。
JavaBean 作为可重用的组件,可以大大减少开发人员的工作量,加快开发进
度。
方便进行调试,因为复杂的操作都封装在一个或几个JavaBean 中,错误容易
定位。
易维护,易扩展,系统的升级或更改往往集中在一组JavaBean 中,而不用修
改所有的JSP 页面。
JSP+JavaBean 模式在一定程度上分离了显示与逻辑处理,但如果项目需要在所有
的请求被处理之前进行一次统一的处理,如设置编码或检查用户权限等,若在每个JSP
页面都要加入一段流程控制语句,以后对流程控制进行修改的时候,不得不修改所有
JSP 页面。而 MVC 模式有专门的流程控制,所以在项目复杂的情况下,可以使用该
设计模式。
18.2 MVC 模式简介
MVC 模式是基于模型视图控制器(Model-View-Controller )的设计模式,这种模
式集成了JSP 和Servlet 技术,适合构建复杂的应用程序。
18.2 .1 什么是MVC 模式
MVC 模式最初被提出来是用来构建用户界面的,M 代表模型,V 代表视图,C
代表控制器。MVC 的目的是增加代码重用率,减少数据表达、数据描述和应用操作
的耦合度,同时也使得软件的可维护性、可修复性、可扩展性、灵活性以及封装性得
到提高。
MVC 设计模式由3 部分构成:
模型:应用对象,处理业务逻辑,没有界面;
视图:屏幕上的显示,从服务器流向客户端的数据;
控制器:定义用户界面对用户输入的响应方式,负责把用户的请求转化为对
模型的操作。
三者之间的关系如图 18-2 所示:
图18-2 模型-视图-控制器三者之间的关系
(1)视图
视图(View)代表用户交互界面,对于Web应用来说,可以概括为HTML界面,但也
有可能为XHTML 、XML和Applet 。随着应用的复杂性和规模性,界面的处理也变得
具有挑战性。一个应用可能有很多不同的视图,MVC设计模式对于视图的处理仅限于
视图中数据的采集和处理,以及用户的请求,而不包括在视图上的业务流程的处理。
业务流程的处理交给模型(Model )处理。比如一个订单的视图只接受来自模型的数
据并显示给用户,以及将用户界面的输入数据和请求传递给控制器和模型。
(2 )模型
模型(Model )就是业务流程、状态的处理以及业务规则的制定。业务流程的处
理过程对其它层来说是黑箱操作,模型接受视图请求的数据,并返回最终的处理结果。
业务模型的设计可以说是MVC 的核心。目前流行的EJB模型就是一个典型的应用例子,
它从应用技术实现的角度对模型做了进一步的划分,以便充分利用现有的组件,但它
不能作为应用设计模型的框架。它仅仅告诉你按这种模型设计就可以利用某些技术组
件,从而减少了技术上的困难。MVC设计模式告诉我们,把应用的模型按一定的规则
抽取出来,抽取的层次很重要,这也是判断开发人员是否优秀的设计依据。抽象与具
文档评论(0)