




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、基于J2EE平台的MVC框架的研究蔡海飞 陈飞 崔松松 李岩 王詰(安徽新华学院)摘要:为有效提高Web应用系统的可重用性、可维护性和可扩展性,采用MVC(Model-View-Controller,模型一视图一控制器)模式构建多层 web应用系统是一个很好的 选择。然而在现实中由于各人对应用的理解不尽相同,所以很难严格按照MVC规范来做。在J2EE的应用中,已经出现了很多实现MVC规范的框架,框架是可重用半成品软件。在J2EE的应用中使用这些实现了MVC规范的框架,开发人员采用“填空式”的方式来进行软件开发,有助于开发者快速和容易地建立起可扩展、可复用的大型的企业级应用。大大提高开发效率,同
2、时,也可以大大降低因人员变更所带来的风险。关键词:MVC 框架 J2EE 方法论1、框架(Framework)框架的概念出现于八十年代 Smalltalk 80开发环境中的框架MVC被认为是第一个得到广泛应用的框架。 当然,框架不限于用户接口 ,它也存在于其它的应用领域。框架的研究不仅在学术界而且在工业界也引起了人们广泛的兴趣。Gartner Group认为:“到2003年,至少70%勺新应用将主要建立在如软件构件和应用框架这类构造块之上;应用开发的未来就在于提供一开放体系结构 ,以方便构件的选择、 组装和集成。”框架的 重用已成为软件生产中最有效的重用方式之一。1.1框架的定义Don ald
3、.G.Firesmith在一篇名为“ Framework:The Golde n path of the objectMirvana ”的文章中对 Application Framework 有如下定义 :框架是什么,框架是捕获了小规模模式和在特定领域实现公共需求和设计的主要机制的协作类的集合。从以上的定义可以得出,框架必须满足以下主要特征 :(1) 框架是一组互动的类集。(2) 框架是一个大的功能模板(3) 框架是可复用的(4) 框架是对设计和代码的复用,即设计复用。2、J2EE早期的应用系统,两层结构(client/sevrer模式)下服务器提供的唯一服务就是数据库服务。因此,客户端程序负
4、责数据访问、实现业务逻辑、用合适的样式显示结果、弹出预设的用户界面、接受用户输入等。Clie nt/Server 结构通常在第一次部署的时候比较容易,但难以升级或改进。它使重用业务逻辑和界面逻辑非常困难。更重要的是,在Web时代,二层化应用通常不能体现出很好的伸缩性 ,因而很难适应In ternet 的要求。Sun 设计的J2EE定义了一套标准来简化N层企业级应用的开发。它定义了一套标准化的组件,并为这些组件提供了完整的服务。J2EE还自动为应用程序处理了很多实现细节,如安全、多线程等。J2EE体系定义了四个独立的层,应用软件构造在这个框架之上:1) 客户层(Client Tier);2) 表
5、现逻辑层(Presentation Logic Tier);3) 业务逻辑层(Business Logic Tier) ;客户层是用户角度的视图,主要负责把表现逻辑层的结果显示给用户以及响应用户的输 入;表现逻辑层和业务逻辑层是J2EE体系的核心。表现逻辑层根据业务逻辑层的处理结果生成相应的表现页面;作为解决和满足某个特定业务领域的需要的处理是业务逻辑层任 务;EIS可能是一个数据库系统,也可能是企业的ERP系统、大型机事务处理系统或者其它遗 留信息系统。EIS层是系统数据持久性的保证。J2EE规范定义了四种类型的组件:(1) 应用客户组件;(2) EBJs 组件;(3) Web组件;(4)
6、Java小程序组件。暮户层WJEjJtt业务逻EISVeb Sflivw : Application Seivei图2.2 J2EE组件3、MVC匡架MVC是一种设计模式,它强制性地把应用程序的输入、处理和输出分开、MVC把应用程序分成三个核心模块:模型、视图和控制器,它们分别担负不同的任务, 如图3.1所示。图中表 现出了这几个模块各自的功能以及它们之间的相互关系。图3.1 MVC设计模式MVC 框架,也称为MVC体系结构,首先是为Smalltalk用户接口而正式公布的, 并且一直 是最成功的00结构之一。MVC把构造一个用户接口所需要的构件划分为3种对象,进而确保将其明确分离。这 3种类型
7、的对象分别是:模型 (Model)数据对象,视图(View)对象,以 及控制器(Controller) 对象。图 3.2 JSP Model 1 框架原来的Model l中,JSP很不适合用作控制器,因为JSP不是一个Java类(不能被子类化 也不能自定义一个 JSP的行为),且很难被复用。JSP的最大用途是生成标签,而不是控制流 程。JSP Model2框架的出现消除了这些问题 ,见图3.3。ServeI-I. 1 实例化调詔图 3.3 JSP Model 2 框架Model 2框架Servlet 接受请求。Servlet 将请求数据传送给 JavaBean,JavaBean通过 调用EJB
8、和数据库等企业组件收集请求所需的数据,然后将控制权返还给 Servlet;Servlet再将请求转发给 JSP。JSP利用Java Bean中的数据和自身的 HTML!弋码创建HTML应答消息, 之后这个应答即被发送到浏览器并显示给用户。这种结构将JSP和Servlet的功能区分开,像这种程序控制、业务逻辑、数据显示功能由不同部分完成的结构正是Mode1 2和Model I的根本区别之处。4、基于J2EE的MVC1) Struts1.xStruts1.x 是Jakarta-Struts 从2000年5月开始启动,它的最初设想是通过结合JSP和Servlet ,使J2EE应用的视图和业务/应用逻
9、辑得以清晰地分离开来,实质上是在JSP Model 2的基础上实现的一个MVC匡架。图 4.1 Struts1.x 实现的 MVC2)对Strutsl.x表单数据提交的改进方案尽管Struts1.x是个非常优秀的基于 J2EE平台的MVC框架,但是它也有不足之处。如它的表单收集 JavaBean必须继承Strutsl.x 的ActionForm 类,使得系统强耦合,不利 与系统的维护和更新。具体实现是在 ActionServlet里加入表单数据收集 requestDataToHashMap()方法,该方法主要功能是通过循环的方式先取得页面表单的所有元素名称,再根据元素名取得对应的值,然后把取得的元素名和对应的值放入表单收集对象dataln中。5、结束语Struts1.x是个非常优秀的基于J2EE平台MVC框架,但是它的业务逻辑控制器必须继承ActionForm,这样给系统的维护和更新带来一定的难度。本文主要Struts1.X的表单收集方面做了改进,改进后不必单独为表单收集创建JavaBean,只需直接把表单数据在控制器封装后提交给Action处理,从而降低了系统与Struts1.x 的耦合度。参考文献:1 唐海涛,MVC在多层从触b体系结构中的应用研究,2003.32 曾水新,基于JZEE体系的MVC框架的研究和实现,首都经济贸易大学,2005,33 孙
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025至2030中国房地产服务行业产业运行态势及投资规划深度研究报告
- 2025至2030中国建筑石灰行业发展趋势分析与未来投资战略咨询研究报告
- 2025至2030中国川菜馆行业市场发展分析及竞争格局与投资发展报告
- 春节的传承卡通故事中的文化
- 春节传说淡蓝国潮风的奇幻之旅
- 六年级状物作文那片爬山虎700字(10篇)
- 软件维护与支持服务合同
- 凤仙花生长日记200字(8篇)
- 给未来女儿的一封信一封信作文13篇范文
- 金属有机骨架固定化黑曲霉脂肪酶及其催化芳香酯合成研究
- 《电气安全技术》复习考试题库(含答案)
- 植物学基础智慧树知到期末考试答案章节答案2024年哈尔滨师范大学
- 2016年四川省凉山州中考地理真题及答案
- 安徽省合肥市蜀山区琥珀中学2024届八年级下册数学期末监测试题含解析
- 建筑同层排水系统技术规程
- ISO13485医疗器械质量管理体系手册程序文件表单全套
- 净化车间洁净度与温湿度控制
- 前置胎盘2020年指南
- 甲状腺危象的预防护理
- 红星美凯龙调研课件
- 施工重要环境因素清单
评论
0/150
提交评论