- 1、本文档共8页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
MVC模式在J2EE中的应用
MVC模式在J2EE中的应用
摘 要: 文章介绍了模型—视图—控制器(MVC)模式在J2EE体系结构中的应用,以及XML数据交换、数据库连接池等技术。这些技术使得J2EE应用的业务层与表现层相互独立,系统结构清晰,便于开发与维护。 关键词: MVC XML JavaBeans 状态机 数据绑定 连接池
一、引言
J2EE平台使用多层分布式应用程序模型,力求根据功能的不同把应用程序逻辑划分成各个组件,一般可以将应用划分为:客户层、表示层、业务逻辑层和数据层(图1)。常用的方式是通过JSP/Servlet+JavaBeans来处理表示层和业务层逻辑的,但这种方式往往存在如下缺点:层与层之间逻辑不清楚;表示同应用逻辑混合,使得程序员既要开发应用逻辑部分,又要懂得用户界面(UI)设计;不利于应用的开发维护以及应用的扩充。而MVC结构是一种用于分离出数据维护和数据表现的方式,在J2EE中引入MVC框架,有助于把应用分成合理的组件,从而可方便开发、维护和扩充。
图 1 二、MVC简介 模型-视图-控制器(MVC)是Xerox PARC在八十年代为编程语言Smalltalk-80发明的一种软件设计模式,至今已被广泛使用。最近几年被推荐为Sun公司J2EE平台的设计模式。利用MVC设计模式,可强制性地使应用程序的输入、处理和输出分开。MVC应用程序被分成三个核心部件:模型、视图、控制器。它们各自处理自己的任务。 在MVC结构中,模型(Model)代表应用程序的数据,并且支配这些数据的访问和修改的业务规则,维护了业务的稳定状态。例如它可利用像JavaBeans/EJBs这样的构件对象来处理数据库。被模型返回的数据是中立的,就是说模型与数据格式无关,因此,这样的一个模型能为多个视图提供数据。由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。视图(View)是用户看到并与之交互的界面,代表了Model特定部分的内容,主要负责从Model访问数据,指定如何表示数据,并当Model改变时,维护表示的一致性。View也负责把用户动作传递给控制器(Controller)。 Controller定义应用程序的行为,解释用户动作,并把它映射为Model执行的过程。 现在我们总结MVC的处理过程,首先控制器接收用户的请求,并决定应该调用哪个模型来进行处理;然后模型用业务逻辑来处理用户的请求并返回数据;最后控制器用相应的视图格式化模型返回的数据,并通过表示层呈现给用户。 三、用MVC框架构建J2EE应用 MVC结构实现了数据维护与数据表现的分离,它可以直接映射到多层Web企业应用的领域中。在J2EE应用中,多个JSP中重复的控制代码也需要在每个JSP中维护。维护时可以用前端控制器模式应用抽取类创建一个控制器类,把重复的控制逻辑从单个JSP中移到该控制器中,我们可以用Servlet作为前端控制器,JavaBeans/EJB作为模型,Jsp作为视图。Web应用客户端的用户动作被View传递给Servlet集中处理,Servlet处理控制逻辑,调用Beans激活业务过程或修改Model状态。根据用户动作和Model(Beans)处理的结果,Servlet(Controller)选择一个View(JSP)作为用户请求响应。 ServletManager 是一个基于XML的MVC实现框架,它定义和实现了一个Servlet控制器体系结构。ServletManager通过一个XML格式的应用定义文件来描述一个应用,维护了整个应用的一系列状态,以及与每一状态所对应的模型/视图/流程控制,把整个应用简化成一个被控制器引擎所维护的状态机。ServletManager具有很强的灵活性和可扩展性,应用程序可以在控制器中为许多功能注册自定义处理类(Handler Class),如权限认证、异常处理、日志等,也可以在控制器中注册许多侦听类,以监测应用流程中的特定事件,如状态追踪等。
图 2 1.应用定义文件 这是一个XML标准的文档,它定义了应用的状态机,以及当状态机在此状态时所要处理的业务逻辑(Model)和对应的视图(用户所能看到的)。控制器引擎负责解析应用定义文件,并控制应用流程。这样,整个应用的流程是可配置的,而不必用硬编码的方式来控制流程,使得应用更易维护。下面的代码是一标准应用定义文件的一部分: application.smdef statedefinitions initialstate=PrepareLogon errorstate=ErrorState state name=PreparMyApp authority=User authorityfailnextstate=Invali
您可能关注的文档
最近下载
- 北师版七年级数学上册精品培优讲义(必威体育精装版版;可直接打印).doc VIP
- 8.《公路工程地质勘察规范》(JTGC20-2011).pdf
- 新外研版(三起)三年级上册英语全册教学课件(2024年新版教材).pptx
- 超智融合发展趋势与技术路径研究报告.pdf
- 精细化护理管理提升护理品质汇报课件.ppt VIP
- 食堂承包项目需求的理解及相应的难点解决方案.docx VIP
- 猫砂生产制备工艺技术.doc VIP
- MD780 10PIN手咪接口定义及二次开发配件接口定义标准20110805.doc VIP
- 外研版(三起)英语四年级下学期阅读理解专题练习(含答案)1.pdf VIP
- ROCKWELL-罗克韦尔(AB)变频器资料使用说明.pdf
文档评论(0)