




已阅读5页,还剩71页未读, 继续免费阅读
(计算机系统结构专业论文)j2ee框架组件的研究与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 j 2 e e 多层结构推出以来,软件业发生巨大变化,但是j 2 e e 只提出了广泛意 义上的设计开发框架,针对各个行业的具体应用,还需要有从大量实战经验中提 炼的、稳定的、健壮的、基于j 2 e e 的应用开发框架。 框架技术和设计模式是j 2 e e 中很重要的软件重用技术,框架技术通过重用 提高了软件的开发效率,j 2 e e 项目是通过框架,模式的设计应用达到了控制软 件质量的目的。虽然框架技术的应用,从某种角度来说,限制了程序员自由的编 程,但是它带来了稳定的软件质量和可重用的组件,为规模生产创造了条件。 现有j 2 e e 体系存在着各种弊端:如无法快速开发出原型系统;w e b 层与后台 逻辑层耦合过紧;大数据量查询性能需要优化;数据表数据模型的更改会引起 多个层面变化,修改量大,存在质量隐患等。而采用框架组件技术则是解决上述 弊端的一个有效方案。基于框架的编程采用了模块化方式,开发方便快捷,出错 机会小,维护方便容易,能明显提高开发效率。 一个软件系统一般由两大部分组成:针对本应用的新设计和可重用的软件组 件或框架。如果后者占据的比重越大,无疑需要实现的新设计或完成的工作量就 越小,生产效率就越高,成本就越低。因此,可根据自己项目领域的特点,在j 2 e e 框架下架构设计自己领域的应用框架,提高在该领域软件开发生产的效率,节约 成本。 本文首先介绍了j 2 e e 及其模式的特点,接着分析比较了当今各种w e b 层应 用框架,并详细论述了s t r u t s 框架。随后探讨并改进了一种e j b 调用框架,该 框架的最大优点是隔离了w e b 层和e j b 层,实现了两者的完全解耦,简化了e j b 服务的调用结构。在s t r u t s 框架和e j b 调用框架的基础之上,提出了一套j 2 e e 框架下的数据操作通用框架,通过在不同项目中重用框架,将大大简化数据的增、 删、改、查功能的开发过程。最后通过一个演示系统来具体应用上述诸框架,以 及提出了整个系统需要完善和改进之处。 关键词:j 2 e e ,框架技术,设计模式 a b s t r a c t s i n c ej 2 e e m u l t i l a y e rc a m eo u t ,ab i gc h a n g eh a sh a p p e l l e di ns o f t w a r ew o r l d b u tj 2 e eo n l yh a st h eg e n e r a ld e s i g np a t t e r n ,f o rd i f f e r e n ts p e c i f i cs i t u a t i o n ,i t s n e c e s s a r yt og e n e r a t et h es t e a d y , r o b u s ta p p l i c a t i o nf r a m e w o r kb a s e do nj 2 e et h a t a b s t r a c t e df r o mal a r g en u m b e r o f e x p e r i e n c e s f r a m e w o r kt e c h n o l o g ya n dd e s i g np a t t e r na r et h ev e r yi m p o r t a n tr e u s a b l e t e c h n o l o g i e si nj 2 e e e f f i c i e n c yo f s o f t w a r ed e v e l o p m e n ti si n c r e a s e db yr e u s a b l e t e c h n o l o g y j 2 e ec o n t r o lt h eq u a l i t y o fs o f t w a r et h r o u g hf r a m e w o r ka n dd e s i g n p a t t e r n t h o u g ht h ef r a m e w o r k d e c r e a s e st h ef l e x i b i l i t yo fs o f t w a r ed e v e l o p m e n t ,i t i m p r o v e st h eq u a l i t yo fs o f t w a r eg r o u p w a r ea n dm a k e st h el a r g es c a l ep r o d u c t i o n p o s s i b l e t h e r ea r eaf e wf l a w si nc u r r e n tj 2 e ef r a m e w o r k :s u c ha st h ed i f f i c u l t yo fq u i c k d e v e l o p m e n to f p r o t o t y p es y s t e m ;t o ot i g h tc o u p l i n g o f w e b l a y e ra n dl o g i cl a y e r t h e p e r f o r m a n c eo f a l a r g eo f d a t a q u e r y n e e d s t oo p t i m i z ea n d t h e m o d i f i c a t i o n o f d a t a t a b l e a n d d a t a m o d e lw i l lc a l l s et oc h a n g ei nm a n ya s p e c t sa n dp r o d u c e sq u a l i t yp r o b l e ma n ds o o n f r a m e w o r ka n dg r o u p w a r ct e c h n o l o g yo v e r c o m et h ea b o v ed e f e c t s p r o g r a m m i n g b a s e do nf r a m e w o r kh a sh i g h e rd e v e l o p m e n tr a t e ,l e s so p p o r t u n i t i e st ob ew r o n g , m o r ec o n v e n i e n c et om a i n t a i n i ng e n e r a l ,t h e r ea r et w o p a r t si na s o f t w a r es y s t e m :n e wa p p l i c a t i o nd e s i g na n d r e u s a b l eg r o u p w a r eo rf r a m e w o r k i f t h el a t t e ro n eh a st h el a r g e rp r o p o r t i o n ,t h ew o r k l o a dw o u l db el i g h t e r , t h er a t eo f p r o d u c t i o nw o u l di n c r e a s e ,t h ec o s tw o u l d d e c r e a s e s o f o ra n ys p e c i f i cs i t u a t i o n , w ec a nd e s i g n0 1 1 1 o w nf r a m e w o r k sb a s e do nj 2 e e , i n c r e a s e d e v e l o p i n g r a t ea n dd e c r e a s ec o s t i nt h i s p a p e r , w e f i r s ti n t r o d u c ej 2 e ea n dt h ep a t t e r n ,t h e nc o m p a r et h e f r a m e w o r ko fc u r r e n tw e ba p p l i c a t i o na n da n a l y s i s s t r u t sf r a m e w o r ki nd e t a i l f u r t h e rm o r e ,w ep r e s e n ta ne j bf r a m e w o r kw i t hb e t t e rq u a l i t yi ns e p a r a t i n gb e t w e e n w e b l a y e ra n d e j b l a y e r , s i m p l i f y t h en o r m a le j bs e r v i c e b a s e do ne j ba n ds t r u t s , w eg e n e r a t ean o r m a ls t r u c t u r ew h i c hc a ns i m p l i f yt h ed e v e l o pp r o c e s sf o rd a t a m a n i p u l a t i o n f i n a l l y , w ep r o p o s ead e m os y s t e mt o d e m o n s t r a t eo u rc o n c e p t s ,a n d t h ew o r k st ob ec o m p l e m e n t e da r eg i v e n k e y w o r d s :j 2 e e ,f r a m e w o r kt e c h n o l o g y , d e s i g n p a t t e r n h 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工 作及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地 方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含 为获得电子科技大学或其它教育机构的学位或证书而使用过的材料。 与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明 确的说明并表示谢意。 签名: 鸯葺冤 日期:2 吁年f 2 月侈日 关于论文使用授权的说明 本学位论文作者完全了解电子科技大学有关保留、使用学位论文 的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁 盘,允许论文被查阅和借阅。本人授权电子科技大学可以将学位论文 的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或 扫描等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后应遵守此规定) 签名:查置勇 导师签 日期: ) 铜绁 。盎 碉f 7 日 1 电子科技大学硕士学位论文j 2 e e 框架组件的研究与实现 1 1 背景 第一章引言 随着计算机技术的飞速发展,j 2 e e 多层架构自推出以来,逐渐得到了广泛 的应用,形成了一个面向企业级的分布式、多层次的软件体系结构规范,成为企 业应用开发的标准。j 2 e e 的核心思想有两个:一个是分层的思想,另一个是构 件的思想。软件分层有利于软件开发的分工,使大型系统中所需的技术相互隔离。 j 2 e e 的每一层叉定义了相应的构件开发规范,通过构件来实现层的功能,构件 技术的应用大大地提高了软件的可重用性。 软件构件化是2 1 世纪软件工业发展的大势趋。在软件生产中有三种级别的 重用:内部重用,即在同一应用中能公共使用的抽象块;代码重用,即将通用模 块组合成库或工具集,以便在多个应用和领域都能使用;应用框架的重用,即为 专用领域提供通用的或现成的基础结构,以获得最高级别的重用性。工业化的软 件复用已经从通用类库进化到了面向领域的应用框架。框架的重用已成为软件生 产中最有效的重用方式之一。 随着j 2 e e 在实践中的大量应用,j 2 e e 体系存在的各种弊端也逐渐表现出来, 如无法快速开发出原型系统;w e b 层与后台逻辑层过于耦合;大数据量查询性能 需要优化;数据表数据模型的更改会引起多个层面变化,修改量大,存在质量 隐患等。而采用框架构件技术则是解决上述弊端的一个有效方案。 框架( f r a m e w o r k ) 是整个或部分系统的可重用设计,表现为一组抽象构件 及构件实例间交互的方法;另一种定义认为,框架是可被应用开发者定制的应用 骨架。前者是从应用方面而后者是从目的方面给出的定义。可以说,一个框架是 一个可复用的设计构件,它规定了应用的体系结构,阐明了整个设计、协作构件 之间的依赖关系、责任分配和控制流程,表现为一组抽象类以及其实例之间协作 的方法,它为构件复用提供了上下文( c o n t e x t ) 关系。因此构件库的大规模重用 也需要框架。 框架方法在很大程度上借鉴了硬件技术发展的成就,它是构件技术、软件体 系结构研究和应用软件开发三者发展结合的产物。在很多情况下,框架通常以构 件库的形式出现,但构件库只是框架的个重要部分。框架的关键还在于框架内 对象间的交互模式和控制流模式。 本文最主要内容的是研究各种应用框架。这种应用框架并不是包含构件应用 程序的小片程序,而是实现了某应用领域通用完备功能( 除去特殊应用的部分) 的底层服务。使用这种框架的编程人员可以在一个通用功能已经实现的基础上开 电子科技大学硕士学位论文j 2 e e 框架组件的研究与实现 始具体的系统开发。框架提供了所有应用期望的默认行为的类集合。具体的应用 通过重写子类( 该子类属于框架的默认行为) 或组装对象来支持应用专用的行为。 应用框架强调的是软件的设计重用性和系统的可扩充性,以缩短大型应用软 件系统的开发周期,提高开发质量。与传统的基于类库的面向对象重用技术比较, 应用框架更注重于面向专业领域的软件重用。应用框架具有领域相关性,构件根 据框架进行复合而生成可运行的系统。框架的粒度越大,其中包含的领域知识就 更加完整。 设计模式也是j 2 e e 中很重要的软件重用技术,框架技术通过重用提高了软 件的开发效率,j 2 e e 项目是通过框架、模式的设计应用达到了控制软件质量的 目的。框架与设计模式虽然相似,但却有着很大的不同。构件通常是代码重用, 而设计模式是设计重用,框架则介于两者之间,部分代码重用,部分设计重用, 有时分析也可重用。设计模式是对在某种环境中反复出现的问题以及解决该问题 的方案的描述,它比框架更抽象;框架可以用代码表示,也能直接执行或复用, 而对模式而言只有实例才能用代码表示;设计模式是比框架更小的元素,一个框 架中往往含有一个或多个设计模式,框架总是针对某一特定应用领域,但同一模 式却可适用于各种应用。可以说,框架是软件,而设计模式是软件的知识。 虽然框架技术的应用,从某种角度来说,限制了程序员自由的编程,但是它带 来了稳定的软件质量和可重用的组件,为规模生产创造了条件。框架的最大好处 就是重用。面向对象系统获得的最大的复用方式就是框架,一个大的应用系统往 往可能由多层互相协作的框架组成。由于框架能重用代码,因此从一已有构件库 中建立应用变得非常容易,因为构件都采用框架统一定义的接口,从而使构件间 的通信简单。 采用框架技术进行软件开发的主要优点包括: 领域内的软件结构一致性好; 建立更加开放的系统; 重用代码大大增加,软件生产效率和质量也得到了提高; 软件设计人员要专注于对领域的了解,使需求分析更充分; 可以让那些经验丰富的人员去设计框架和领域构件,而不必限于低层编 程; 允许采用快速原型技术; 有利于在一个项目内多人协同工作; 大粒度的重用使得平均开发费用降低,开发速度加快,开发人员减少,维护 费用降低,而参数化框架使得适应性、灵活性增强。因此,框架技术随着应用的 2 电子科技大学硕士学位论文j 2 e e 框架组件的研究与实现 深入,必将得到更大的发展和完善。 1 2 论文组织结构 第一章:是论文背景及相关概念介绍。 第二章:介绍了j 2 e e 与j 2 e e 模式的特点。 第三章:讨论m v c 模式的优缺点和w e b 层应用框架,并着重详细分析了 s t r u t s 应用框架。 第四章:探讨并改进了一种e j b 方法调用框架。 第五章:在前面两个框架的基础上,提出了数据通用操作开发框架的设计和 实现。 第六章:用了一个具体的演示系统来实现上述框架结构。 第七章:总结和展望。总结本课题所做的工作及其意义,并提出进一步工作 的方向。 电子科技大学硕士学位论文j 2 e e 框架组件的研究与实现 2 1j 2 e e 平台 2 1 1j 2 e e 概述 第二章j 2 e e 与j 2 e e 模式 j 2 e e 是一种利用j a v a2 平台来简化企业解决方案的开发、部署和管理相关 的复杂问题的体系结构。j 2 e e 技术的基础就是核心j a v a 平台或j a v a2 平台的 标准版,j 2 e e 不仅继承了标准版中的许多优点,包括“编写一次、随处运行” 的特性、方便存取数据库的j d b ca p i 、c o r b a 技术以及能够在i n t e r n e t 应用中 保护数据的安全模式等等,同时还提供了对e j b ( e n t e r p r i s ej a v a b e a n s ) 、j a v a s e r v l e t sa p i 、j s p ( j a v as e r v e rp a g e s ) 以及x m l 技术的全面支持。 目前,j a v a2 平台有3 个版本,它们是适用于小型设备和智能卡的j a v a2 平台m i c r o 版( j a v a 2p l a t f o r m m i c r oe d i t i o n ,j 2 m e ) 、适用于桌面系统的j a v a 2 平台标准版( j a v a2p l a t f o r ms t a n d a r de d i t i o n ,j 2 s e ) 和适用于创建服务器 应用程序和服务的j a v a2 平台企业版( j a v a2p l a t f o r me n t e r p r i s ee d i t i o n , j 2 e e ) 。 2 1 2j 2 e e 架构 j 2 e e 架构是一个多层的结构,包括以下层: 用户层:用来与用户交互,并把来自系统的信息显示给用户。j 2 e e 平台支持 不同类型的用户。包括h t m l 用户,j a v aa p p l e t s 和j a v a 应用等。 w e b 层:w e b 层产生表示逻辑,并接受来自客户端的用户反馈。在所接收 的客户端请求的基础上,表示层对用户的请求产生相应的回应。在j 2 e e 平台中,是由w e b 容器内的s e r v l e t 和j s p 来实现这一层。 业务层:业务层处理应用的核心业务逻辑。业务层为低层业务提供必要 的接口。业务组件通常被实现为e j b 容器内的e j b 组件。其中,e j b 容器提 供组件生命周期,管理持久性、事务和资源分配等。 e i s 层:该层为企业的信息服务系统服务,包括数据库系统,事物处理系 统,企业资源计划系统等。e i s 是j 2 e e 应用与非j 2 e e 应用的连接点。 j 2 e e 层次结构如图2 - 1 所示。 2 1 3j 2 e e 应用组件和容器 j 2 e e 应用程序是由组件构成的。j 2 e e 组件是具有独立功能的软件单元,它 4 电子科技大学硕士学位论文 j 2 e e 框架组件的研究与实现 们通过相关的类和文件组装成j 2 e e 应用程序,并与其他组件交互。j 2 e e 规范中 i 6 “t 。e 。r a p 。r 。i8 。l i 8 n t b e 。r 。p 。r 。i 8 8 il曼旦璺翌曼ii 堡壁璺翌曼l 叵叵 图2 - 1j 2 e e 层次结构图 客户层j w e b - , 层 业务层 e i s 层) 一 客户端 机器 j 2 e e 服务器 数据库 服务器 定义了以下的j 2 e e 组件: 客户组件:应用客户端程序和a p p l e t s : w e b 组件:j a v as e r v l e t 和j a v a s e r v e rp a g e s : 业务组件:e n t e r p r i s ej a v a b e a n s 。 在系统的部署过程中,组件被安装到容器中。容器就是组件与支持组件的特 定平台功能之间的接口。容器设置定制了j 2 e e 服务器所提供的内在支持,包括 安全,事务管理,j n d i 寻址,远程连接等服务。 2 1 4j 2 e e 标准服务 j 2 e e 平台由一整套服务( s e r v i c e s ) 、应用程序接口( a p i s ) 和协议构成, 它对开发企业的多层应用提供了全面的功能支持,主要有以下技术规范:j d b c 、 j n d i 、e j b 、r m i 、j s p 、j a v as e r v l e t 、j m s 、j a v am a i l 等。 2 2j 2 e e 模式 如前所述,j 2 e e 确实是一个很好的应用开发平台,提供非常优秀的技术标准, 但是在j 2 e e 所能提供的功能、服务与开发人员最终需要实现的应用之间仍然存 在很大的距离,模式正是缩小这种差距的解决方案。 j 2 e e 模式是对j 2 e e 关键技术的最佳经验、设计策略、解决方案的总结。 刍 脚一一麟一 电子科技大学硕士学位论文j 2 e e 框架组件的研究与实现 2 2 1 模式的概念及在j 2 e e 中的意义 模式的概念最初来源于工程和建筑模式,软件行业的模式概念的普及是由 e r i c hg a m m a 、r i c h a r d h e l m 、r a l p hj o h n s o n 和j o h nv l i s s i d s 四人( 简称“g o p ”) 合著的设计模式:可复用面向对象软件的基础( d e s i g n p a t t e r n s :e l e m e n t so f r e u s a b l eo b j e c t - - o r i e n t e ds o f t w a r e ) 一书而引发的。如今“模式”已经成为 全世界软件开发的一个共同话题。 模式是用来描述问题及其解决方案的方法。在构造个系统时,通常将现实 世界的事物提取特征并抽象为对象,并封装对象的属性和方法。为了使所设计的 应用系统与现实的环境更为贴切、逼真,开发人员需要不断调整软件系统的设计 框架。在这个不断调整的过程中,一些设计方法,经过不断的改进和完善后逐渐 成型,成为构造此类系统时的基本设计参考,也就是设计模式。“每一个模式描 述了一个在我们周围不断重复发生的问题以及该问题解决方案的核心。这样就可 以一次又一次地使用该方案两不必做重复劳动。”设计模式提供了在特定应用场 景下解决问题的类、对象及相互关系的设计方法。这些方法具有最基本的特点, 并不针对于具体的系统,只是提供了一种设计系统的思考方法,一个设计模式可 能用于不同的系统,一个系统也可能会用到多个设计模式。 通常每种设计模式都包含有以下4 个基本元素: 模式名称( n a m e ) :设计模式的名称; 问题( p r o b l e m ) :讲述设计模式所要解决的问题: 解决方案( s o l u t i o n ) :讲述实现设计模式的方法,采用的类、对 象及相互间的关系,其以模板方式提供,并不针对某一具体的系 统: 结果( c o n s e q u e n c e s ) :讲述采用该设计模式后可以获得的效果, 包括优点和缺点。 在g o f 所编写的设计模式:可复用面向对象软件的基础一书中一共提及 2 3 个标准的设计模式,在此基础上可以组合使用这些设计模式,也可以创建新 的设计模式,由于设计模式在对象的粒度和抽象层次上不同,按照不同的应用原 则,可以将标准的设计模式分为三类:创建型设计模式、结构型设计模式、行为 型设计模式: 模式具有以下的特征: 模式来源于经验; 模式总能以一种模式模板的形式出现; 模式的出现避免了重新设计和创造: 模式存在于不同程度的抽象之中: 电子科技大学硕士学位论文j 2 e e 框架组件的研究与实现 模式总在不断的完善; 模式可以用来交流设计和最佳经验; 多个模式可以同使用,以解决复杂问题。 无论是现在还是过去,很多的人都错误的认为学习技术和学习设计是一回 事,甚至认为学习设计无关紧要。当然学习技术是成功设计的关键环节,但是如 果只知道技术的细节,而不知道怎样应用这些技术,同样无法完成一个成功的项 目。 学习设计与学习技术不同,设计来自于成功或失败的经验和教训,一个优秀 的开发人员知道:不是任何的问题都要重头做起。他们更愿意复用以前使用过的 解决方案。当找到一个好的解决方案,他们会一遍又一遍地使用。这些经验是他 们成为内行的主要原因。这些模式解决特定的设计问题,使得面向对象设计更加 的灵活、优雅,最终复用性更好。它们帮助设计者将新的设计建立在以往工作的 基础上,复用以往成功的设计方案。 在j 2 e e 平台的应用开发中,j 2 e e 模式覆盖了分布于j 2 e e 所有层的不同需 求,将j 2 e e 层次模型化,为开发人员提供了基于各层的最佳解决方案。 2 2 2j 2 e e 模式的分层 j 2 e e 模式来源于开发人员长期以来对于j 2 e e 平台和技术的实践经验积累, 其覆盖了分布于j 2 e e 所有层的不同需求,将五个层次( 客户层、表示层、业务层、 集成层和资源层) 统一模型化。j 2 e e 模式主要集中于五个层次中的三个:表示 层、业务层、集成层。 在j 2 e e 模式中,与s e r v l e t 与j s p 相关的模式为表示层模式。与企业b e a n s 和j n d l 相关的模式,以及与连接表示层和业务层组件相关的模式为业务层模式。 与j o b c 和j m s 技术相关的连接业务层和资源层模式为集成层模式。 2 2 3j 2 e e 模式的应用 当使用任何一个模式时,开发者必须认真考虑怎样联合的使用多个模式,因 为没有一个模式是独立的实体,每个模式都存在着相互的支持,只是支持的程度 不大相同:大的模式可以内嵌小的模式,同层次的模型并列存在,而小的模式被 嵌入到大的模式之中。 j 2 e e 模式目录中的所有模式都遵循着这样的原则,一个模式内部包含很多 其他的模式和策略,有时模式也是建立在其他的模式基础上的。 模式并不针对于具体的系统,它只是提供了一种设计系统的思考方法,这些 方法只是具有最基本的特点,在实际的应用中往往可以借助一些实现该模式的具 体应用框架来进行系统的设计开发,本文所研究的s t r u t s 就是m v c 设计模式 7 电子科技大学硕士学位论文j 2 e e 框架组件的研究与实现 的个具体实现。 2 2 4 模式应用的优点 模式的应用可以改善系统的设计,增强系统开发的可重用性。对项目开发 而言模式的应用有以下的优点: 获取同类开发的最佳解决方案,避免开发人员重复设计; 为开发人员的交流提供了共同的词汇,有效的增进了开发人员之间的沟 通: 约束了解决方案的范围。 2 3 小结 本章将介绍了j 2 e e 平台和j 2 e e 模式的一些基本概念和特点。j 2 e e 无疑是 一个非常优秀的技术平台,所提供的能力和服务,为开发人员进行企业应用的开 发提供了一个非常有竞争力的选择,但是怎样把这些技术有效的组合起来形成一 个适应需要的稳定架构是应用开发所要解决的一个非常重要问题。j 2 e e 模式作 为一种开发经验的积累,无疑是有效的解决方案之一。 皇型技大学硕士学位论文j 2 e e 框架组件的研究与实现 第三章w e b 层应用框架s t r u t s 3 1w e b 应用开发的一般模式 j s p 作为j 2 e e 平台的个主要组成部分,在w e b 应用程序的开发过程之中 占有非常重要的地位。因为j s p 页面中可以非常容易地结合业务逻辑 ( j s p :u s e b e a n ) 、服务端处理过程( j s p :s c r i p l e t ) 和h t m l ( ) ,在j s p 页面 中同时实现显示、业务逻辑和流程控制,从而可以快速地完成应用开发。很多的 w e b 应用就可以由一组j s p 页面构成的。这种以j s p 为中心的开发模型就称之为 模型1 ( m o d e l1 ) 。其结构模型如图3 1 所示 器 8 。p lj s p 量 r e s p o n s e 山 器上 ( j a v a b e a n ) 、, 图3 - 1j s p m o d e l1 体系结构 e n t e r p r i s es e r v e r s d a t as o u r c e s 模型1 的基础是j s p 文件。它从h t t p 的请求中提取参数,调用相应的业务 逻辑,处理h t t p 会话,最后生成h t t p 文档。一系列这样的j s p 文件形成一个完 整的模型l 应用。 在m o d e ll 模式中,j s p 页面独自响应请求并将处理结果返回客户。总的看 来,这个模型的好处是简单,可以很好的满足小型应用的需要,但是它把业务逻 辑和表现混在一块,却不能满足大型应用的要求。大量使用模式1 ,常常会导致 页面被嵌入大量的s c r i p t 或j a v a 代码。特别是当需要处理的商业逻辑比较复杂 时,情况会变得非常的严重。对于j a v a 程序员来说,这不算大的问题。但如果 开发者是前端界面设计人员,则代码的开发和维护将出现困难。在任何项目中, 这样的模式多多少少总会导致定义不清的响应和项目管理的困难。 使用该模式将遇到的主要问题: 1 应用系统的开发实现一般是基于过程的,在模式1 中通常是一组j s p 页面 实现一个业务流程,如果系统的业务逻辑需要进行改动,则必须在多个地方进行 修改,这样非常不利于应用系统的扩展和更新。 9 ,i,i一 口曰一 一 一 ! 至型垄盔堂堡主堂堡垒奎 堡里呈堡鲞望堡塑堕窒量窒翌 2 由于应用不是建立在模块上的,业务逻辑和表示逻辑混合在j s p 页面中 没有进行抽象和分离,所以非常不利于应用系统业务的重用和修改。 3 2m v c 模式 m v c 模式是专为交互式系统应用开发所设计的一种设计模式。由于m v c 模式 在交互式系统开发中所体现的强大优势,叭c 模式被开发人员逐步引入j 2 e e 体 系之中,成为j 2 e e 进行交互式应用开发时,特别是w e b 应用开发时个非常重 要的设计模式。 正是由于模式l 在开发的过程中遇到了许多的问题,因而m v c 模式在进行 应用开发时所具有的优越性显得越发突出。 基于m v c 模式的j 2 e e 应用系统,其架构如图3 2 所示: 图3 - 2m v c 架构图 模式的核心就是做到三层甚至多层的松散藕合,是一种面向动态内容的实现 方式。在m v c 模式中,应用程序被强制分成三个核心部件:模型( m o d e l ) 、视图 ( v i e w ) 、控制器( c o n t r o l l e r ) 。它们各自处理自己的任务。 视图 视图是实现模块的外观,它是应用程序的外在表现。它可以访问模型的数据, 却不了解模型的情况,同时也不了解控制器的情况。当模型发生改变是,视图会 得到通知,它可以访问模型的数据,但不能改变这些数据。一个模型可以由多个 视图,而一个视图理论上也可以同不同的模型关联起来。 对老式的w e b 应用程序来说,视图就是由h t m l 元素组成的界面,在新式的 w e b 应用程序中,h t m l 依旧在视图中扮演着重要的角色,但一些新的技术已层出 不穷,它们包括m a c r o m e d i af l a s h 和以及x h t m l ,x m l x s l ,w m l 等一些标识语 言和w e bs e r v i c e s 。 如何处理应用程序的界面变得越来越有挑战性。m v c 一个大的好处是它能为 应用程序处理很多不同的视图。在视图中其实没有真正的处理发生,不管这些数 据是联机存储的还是一个雇员列表,作为视图来讲,它只是作为一种输出数据并 1 0 电子科技大学硕士学位论文j 2 e e 框架组件的研究与实现 允许用户操纵的方式。 模型 模型包含了应用程序的核心,它封装了应用程序的数据结构和事物逻辑,集 中体现了应用程序的状态。有时候它仅包含状态信息,因为它并不了解视图和控 制器的信息。在j z e e 平台中,j a v a b e a n 很适合这样一个角色,因为它能够处理 绝大部分的事物逻辑和数据结构,能够与数据库和文件系统进行交互,承担维护 应用程序数据的责任。 在m v c 的三个部件中,模型拥有最多的处理任务。被模型返回的数据是中立 的,就是说模型与数据格式无关,这样一个模型能为多个视图提供数据。由于应 用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性, 提高了系统设计的可重用性。 控制器 控制器封装的是外界作用于模型的操作。通常,这些操作会转发到模型上, 并调用模型中相应的一个或者多个方法。一般控制器在模型和视图之间起到了沟 通的作用,处理用户在视图上的输入,并转发给模型处理。这样模型和视图两者 之间可以做到松散藕合,甚至可以彼此不知道对方,而由控制器连接起这两个部 分。 在m v c 的处理过程中,首先控制器接收用户的请求,并决定应该调用哪个模 型来进行处理,然后模型用业务逻辑来处理用户的请求并返回数据,最后控制器 用相应的视图格式化模型返回的数据,并通过表示层呈现给用户。 3 2 e e 体系中一个典型的m v c 模式处理流程如图3 3 所示: 图3 3m 、r c 模式处理流程图 1 控制器s e r v l e t 接受客户端的请求 2 数据验证了模型,并进行了更新: 3 控制被传递给视图( j s p ) : 皇至! 燮大学硕士学位论文j 2 e e 框架组件的研究与实现 4 j s p 从模型接受相关数据 5 形成响应传送回客户端。 3 3m 、c 的优点 m v c 的优点表现在以下几个方面: ( 1 ) 可以为一个模型在运行时同时建立和使用多个视图。变化一传播机制 可以确保所有相关的视图及时得到模型数据变化,从而使所有关联的视图和控制 器做到行为同步。 ( 2 ) 视图与控制器的可接插性,允许更换视图和控制器对象,而且可以根 据需求动态的打开或关闭、甚至在运行期间进行对象替换。 ( 3 ) 模型的可移植性。因为模型是独立于视图的,所以可以把一个模型独 立地移植到新的平台工作。需要做的只是在新平台上对视图和控制器进行新的修 改。 ( 4 ) 潜在的框架结构。可以基于此模型建立应用程序框架,不仅仅是用在 设计界面的设计中。 3 4m v c 的缺点 m v c 的缺点表现在以下几个方面: ( 1 ) 增加了系统结构和实现的复杂性。对于简单的界面,严格遵循m v c , 使模型、视图与控制器分离,会增加结构的复杂性,并可能产生过多的更新操作, 降低运行效率。 ( 2 ) 视图与控制器间的过于紧密的连接。视图与控制器是相互分离,但确 实联系紧密的部件,视图没有控制器的存在,其应用是很有限的,反之亦然,这 样就妨碍了他们的独立重用。 ( 3 ) 视图对模型数据的低效率访问。依据模型操作接口的不同,视图可能 需要多次调用才能获得足够的显示数据。对未变化数据的不必要的频繁访问,也 将损害操作性能。 ( 4 ) 目前,一般高级的界面工具或构造器不支持哪c 模式。改造这些工具 以适应m v c 需要和建立分离的部件的代价是很高的,从而造成使用m v c 的困难。 3 。5m v c 应用开发框架 3 5 1s t m t s 应用框架 s t r u t s 是一个免费、开源的w e b 层应用框架,a p a c h e 软件基金致力于s t r u t s 电子科技大学硕士学位论文j 2 e e 框架组件的研究与实现 的开发,其意在改进和提高j s p 、s e r v l e t 、标签库以及面向对象的技术水准, 整合s 翻;v l e t s 和j s p 的技术优势,为开发人员提供健壮,可扩展的应用开发框架: 同时其将m v c 模式具体化,减少了开发人员在运用m v c 设计模式进行应用开发的 时间。s t r u t s 是当今很流行w e b 层应用框架,后面会详细介绍它。 3 5 2j a t o 应用框架 j a t o 应用程序框架是i p l a n e t 应用程序框架的旧名。它是一个成熟的、强 大的,基于j 2 e e 标准的面向开发w 耶应用程序的应用框架。j a t o 结合了显示字 段、应用程序事件、组件层次和以页面为中心的开发方法、以及m v c 和服务到工 作者( s e r v i c e t o w o r k e r s ) 的设计模式等概念。j a t o 可适用于中、大、超大规 模的w e b 应用,它并不是一个企业层的应用框架,不会直接提供创建e j b w e b s e r v i c e s 等企业层组件的方法,但用它可以构造出访问企业层组件的客户应用。 这个框架功能主要有三部分组成: l - i p l a n e t 应用框架核心; 2 i p l a n e t 应用框架组件; 3 i p l a n e t 应用框架扩展。 应用框架的核心定义了基本接口、对象协议、简单组件,以及i p l a n e t 应用 框架程序的最小核心,包括视图简单组件、模型简单组件、请求分发组件和可重 用命令对象。 i p l a n e t 应用框架组件利用框架核心定义的基本接口、协议和组件向开发者 提供高层的重用组件,这些组件既有与特定视图效果无关的水平组件,同时也有 适应特定实用环境、提高可用性而特意提供的垂直型组件。框架扩展实现了用框 架相容的方法访问非j 2 e e 环境的方法。 j a t o 最大的特点在于:利用框架组件和扩展提高项目的开发效率,对于要 求更大灵活性的用户,可以通过框架核心提供的接口来保持应用的框架兼容性。 3 5 3j s f 应用框架 j s f ( j a v as e r v e rf a c e s ) 是一个专家组正在定义的开发w e b 应用用户界面的 框架,j s f 是一个定义良好的编程模型,并且非常简单。利用这个技术,开发者 通过在页面内组合可重用的用户界面组件,并把这些组件和应用的数据源相连, 客户端产生的事件传递到服务器端的事件处理器进行编译处理。j s p 处理了所有 幕后的复杂工作,开发者只需要把关注重点放在应用代码的实现上。 与s t r u t s 和j a t 0 相比,j s f 也提供了一个m v c 式的应用模型,但j s f 正如 其名,只在用户界面上提供编程接口,这意味着前两者涉及的范围比后者广。3 s f 可以成为前两者在u i 开发的部分。 1 3 电子科技大学硕士学位论文 j 2 e e 框架组件的研究与实现 3 5 4w a y 应用框架 w a f ( w e ba p p l i c a t i o nf r a m l v 0 r k ) 是s u n 蓝皮书例子程序中提出的应用框架, 实现了m v c 以及其他一些良好的设计模式。 在w a f 框架中,开发人员需要编写的两个x m l 配置文件定义了w a f 的运行参 数。 1 s c r e e n d e f i n i t i o n x m l 定义了一系列的屏幕( s c r e e n ) ; 2 m a p p i n g x m l 则定义了某个动作之后应该显示的屏幕。 用户发出一个h t t p 请求( $ s c r e e n ) ,由t e m p l a t e s e r v l e t 屏幕前端控制组 件接收,它提取请求信息,设置r e q u e s t 对象c u r r e n t s c r e e n 属性,再把请求发 到模板j s p 。模板3 s p 收到请求后,j s p 中的t e m p l a t e 标签察看这个当前屏幕, 并从屏幕定义文件( s c r e e n d e f i n i t i o n x m l ) 中获取这个屏幕的具体参数,再生成 h t m l 返回给客户。 目前该框架只是一个框架躯干,没有正式的m o d e l 层,视图的概念不强,稳 定性和可靠性也无法验证。 3 6s t r u t s 应用框架 3 6 is t r u t s 概述 s t r u t s 这个名字来源于在建筑和旧式飞机中使用的金属支架,它的目的是 为了帮助开发人员减少在运用m v c 设计模式来开发w e b 应用的时间。s t r u t s 按 照m v c 模式的思想,提供了一种创建w e b 应用程序的框架,其中对应用程序的用 户界面表示和数据的后端逻辑处理代码进行了抽象,整合了s e r v l e t s 和j s p 在 w e b 应用开发上的优势以建立灵活,扩展性强,复用程度高的应用系统。s t r u t s 是实现m v c 模式的一个优秀的应用框架。 s t r u t s 具有以下一系列优点: 1 具有m v c 模型的所有特性和优点: 2 简化了基于m v c 的应用程序的开发; 3 提供了很多对象实现m v c 的基本特征; 4 允许开发人员使用x m l 文件来配置很多默认的框架; 5 提供了一个灵活的体制来处理错误和异常; 6 提供了一个方便的方法对应用程序的信息进行国际化。 3 6 2s t r u t s 与m v c s t r u t
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 电力系统改造项目合同范本2025
- 生产员工培训
- 良肢位摆放护理教案
- 仓储物流设备租赁合同范例
- 美瞳行业竞品分析
- 植物模拟试题(含参考答案)
- 工程项目合同进度协议书
- 债务偿还及分割合同
- 矿山地质工作总结
- 农业机械设备租赁合同样本2
- (完整版)《计算机控制系统》课后题答案-刘建昌等科学出版社
- 颈部断面与影像解剖ppt课件精选
- Q∕SY 05175-2019 原油管道运行与控制原则
- 汽车收音机天线的参数
- 供配电系统毕业设计
- 《艺术学概论考研》课件艺概绪论
- 工厂致全体员工一份感谢信
- 怎样做一名合格的高校中层领导干部( 54页)
- 中职一年级数学课外活动趣味数学基础知识竞赛课件(必答+选答+风险题含倒计时PPT)
- 工艺评审记录表
- 新加坡观赏鱼国际贸易发展模式及对我国的启示
评论
0/150
提交评论