(计算机应用技术专业论文)struts框架下web应用系统的开发与研究.pdf_第1页
(计算机应用技术专业论文)struts框架下web应用系统的开发与研究.pdf_第2页
(计算机应用技术专业论文)struts框架下web应用系统的开发与研究.pdf_第3页
(计算机应用技术专业论文)struts框架下web应用系统的开发与研究.pdf_第4页
(计算机应用技术专业论文)struts框架下web应用系统的开发与研究.pdf_第5页
已阅读5页,还剩71页未读 继续免费阅读

(计算机应用技术专业论文)struts框架下web应用系统的开发与研究.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

太原理工大学硕士研究生学位论文 s t r u t s 框架下w e b 应用系统的开发与研究 摘要 近年来,随着i n t e r n e t 技术的迅速发展和w e b 信息系统的广泛应用, 基于b s 结构的多层w e b 应用开发的体系结构正在不断的发展完善,并逐 渐成为企业级w e b 应用开发的主流。但是,使用传统的开发方法开发出的 w e b 应用仍然普遍存在着可重用性低、可维护性差、可扩展性不强和用户 体验不好等不足。随着构建w e b 应用系统的需求越来越复杂,开发周期越 来越紧迫,同时对系统的灵活性、可扩展性、可维护性以及用户体验的要 求也越来越高,因此如何对w e b 应用进行合理的分层,各层的框架如何整 合以及如何选择最合适的技术就显得尤为重要。 针对以上问题,论文结合w e b 应用开发多层次体系结构发展的现状, 对m a x 技术、s t r u t s 2 框架和i b a t i s 框架进行了深入的学习及研究。通过 a j a x 引擎,可以实现w e b 页面局部刷新,用户操作更流畅,提高了用户 体验。s t r u t s 2 框架是一个实现了m v c 设计模式的开源的w e b 层框架,提 供了可重用的软件架构,全面减轻了构建多层w e b 应用的负担。i b a t i s 框架 是一个开源的数据持久层框架,允许程序员使用对象编程思想来操纵数据 库并把全部精力集中到对象和类进行编程,较大程度上提高了数据库访问 的灵活性。 本文着重阐述的是:利用s t r u t s 2 和i b a t i s 作为分层模型的基础,设计 了一种高效的开发w e b 应用的分层模型,并把它们具体应用到系统开发中, 太原理工大学硕士研究生学位论文 使得在s t r u t s 2 框架下开发出的w e b 应用系统具有良好的健壮性、可维护性、 可扩展性、可重用性以及更好的用户体验。 在上述理论研究的基础上,论文以电能计量装置异常处理分析系统作 为理论与实践的结合,详细论述了w e b 应用分层的实现以及s t r u t s 2 框架和 i b a t i s 框架在该项目中的应用。在开发过程中,笔者结合实际项目的开发工 作,以所设计的分层模型为基础,对系统各层次的设计与实现进行了详细 说明。另外为了提高系统的易用性和性能,还对a ,a x 技术的使用作了研 究与探讨。 关键字:s t r u t s 2 ,a j a x ,i b a t i s ,分层模型,框架,设计模式,电能计量装 置异常处理分析系统 太原理工大学硕士研究生学位论文 d e v e l o p m e n ta n dr e se ar c ho fw e ba p p l i c a t l 0 n s y s t e mw i t hs t r u t sf r a m e w o r k a b s t r a c t i nr e c e n ty e a r s ,t h ei n t e m e tt e c h n o l o g yh a sb e e nd e v e l o p e dq u i c k l ya n dt h e w e bi n f o r m a t i o ns y s t e mh a sb e e na d o p t e de x t e n s i v e l y a n dt h ea r c h i t e c t u r eo f m u l t i l a y e rw e ba p p l i c a t i o nd e v e l o p m e n tb a s e do nb sp a t t e r nh a sd e v e l o p e d g r a d u a u y a n db e c o m et h em a i n s t r e a mo ft h ee n t e r p r i s ew e ba p p l i c a t i o n d e v e l o p m e n t b u t ,t h e r ea r es t i l ls e v e r a ld i s a d v a n t a g e si nt h ew e ba p p l i c a t i o n d e v e l o p e dw i t ht h et r a d i t i o n a ld e v e l o p m e n tm e t h o dl i k el o ws o f t w a r er e u s a b i l i t y , f u s s ym a i n t e n a n c e ,w e a ke x p a n s i b i l i t y a n d b a du s e r e x p e r i e n c e e t c c o n s e q u e n t l y , h o w t o s e p a r a t e aw e ba p p l i c a t i o ni n t os e v e r a l l a y e r s r e a s o n a b l y , t h e f r a m e w o r k s i n t e g r a t i o n o fe a c hs u b t i e ra n ds e l e c t i o no f a p p r o p r i a t ed e v e l o p m e n tt e c h n o l o g yh a sb e c o m em o r ea n dm o r ei m p o r t a n tw i t h c o m p l e x i t y o f r e q u i r e m e n ta n a l y s i s o f c o n s t r u c t i n g w e b a p p l i c a t i o n s y s t e m ,c o n s t r a i n t so fr & dt i m ec y c l e ,a n dr e q u i r e m e n t so fs y s t e mf l e x i b i l i t y , e x p a n s i b i l i t y , m a i n t a 通a b i l i t ya n d u s e re x p e r i e n c e t os o l v et h e s e q u e s t i o n s ,t h i s t h e s i s s t u d ya n d r e s e a r c ht h ea j a x t e c h n o l o g y , s t r u t s 2f r a m e w o r ka n di b a t i sf r a m e w o r kd e e p l y , a n dc o m b i n i n gw i t h i n v e s t i g a t i o n so fc u r r e n tn t i e ra r c h i t e c t u r eo fw e ba p p l i c a t i o nd e v e l o p m e n t t h r o u g ha d o p t i n ga j a xe n g i n e ,t h ew e bp a g e sc a nr e f r e s hp a r t i a l l y , u s e r s i ii 太原理工人学硕士研究生学位论文 o p e r a t i o nc a nb e c o m es m o o t h l ya n dc a ni m p r o v eu s e r se x p e r i e n c eg r e a t l y a sa n o p e ns o u r c ew e bf r a m e w o r k ,s t r u t s 2 i sas t a n d a r di m p l e m e n t a t i o no fm v c d e s i g np a t t e r n i tp r o v i d e sar e u s a b l es o f t w a r ef r a m e w o r ka n dm a k e si te a s yt o b u i l dn t i e rw e b a p p l i c a t i o n 1 b a t i sf r a m e w o r k i sa no p e ns o u r c ed a t ap e r s i s t e n c e l a y e rf r a m e w o r k ,p r o g r a m m e r sc a nm a n i p u l a t ed a t a b a s eb yo b j e c tp r o g r a m m i n g i d e aa n dp a ya t t e n t i o nt oo b j e c t p r o g r a m m i n ga n dc l a s sp r o g r a m m i n g i t i m p r o v e sd a t a b a s ev i s i t a t i o n sf l e x i b i l i t yg r e a t l y t h i st h e s i s s k e ye x p a t i a t i o ni sf o l l o w i n g :ap o w e r f u ll a y e r sm o d e lt o d e v e l o pw e ba p p l i c a t i o nb a s e do ns t r u t s 2f r a m e w o r ka n di b a t i sf r a m e w o r ki s d e s i g n e d ,a n dt h ew e ba p p l i c a t i o ns y s t e mw h i c hi sb u i l tw i t ht h i sl a y e r sm o d e l b a s e do ns t r u t s 2f r a m e w o r kh a sb e t t e rr o b u s t n e s s ,m a i n t a i n a b i l i t y , e x t e n s i b i l i t y , r e u s a b i l i t ya n db e t t e ru s e re x p e r i e n c e b a s e do nt h er e s e a r c hd o n ea b o v e ,t h ei m p l e m e n t a t i o no fw e b a p p l i c a t i o n l a y e r sm o d e la n dt h ea p p l i c a t o no fs t r u t s 2f r a m e w o r ka n di b a t i sf r a m e w o r ki n t h i sp r o j e c ti si l l u s t r a t e di nd e t a i la c c o r d i n gt oa ne x a m p l eb a s e do ne l e c t r i c a l e n e r g ym e t e r i n gm e c h a n i s me x c e p t i o nh a n d l i n ga n a l y s i ss y s t e m i nt h e p r o c e d u r eo fd e v e l o p m e n t ,c o m b i n i n gw i t ht h ea u t h o r sp r a c t i c a ld e v e l o p m e n t e x p e r i e n c e s ,t h ed e s i g na n di m p l e m e n t a t i o no fe a c ht i e r so ft h es y s t e mi s i l l u m i n a t e di nd e t a i lb a s e do nt h ed e s i g n e dl a y e r si no r d e rt om a k et h e s y s t e me a s yt ou s ea n di m p r o v ei t se f f i c i e n c y , t h et h e s i sa l s om a k e sad i s c u s s i o n o n u s a g eo fa j a xt e c h n o l o g y i v 太原理工大学硕士研究生学位论文 k e yw o r d s :s t r u t s 2 ,a j a x ,i b a t i s ,l a y e r s m o d e l ,f r a m e w o r k ,d e s i g np a t t e m , e l e c t r i c a le n e r g ym e t e r i n gm e c h a n i s m e x c e p t i o nh a n d l i n ga n a l y s i ss y s t e m v 芦明尸明 本人郑重声明:所呈交的学位论文,是本人在指导教师的指导下, 独立进行研究所取得的成果。除文中已经注明引用的内容外,本论文 不包含其他个人或集体已经发表或撰写过的科研成果。对本文的研究 做出重要贡献的个人和集体,均已在文中以明确方式标明。本声明的 法律责任由本人承担。 论文作者签名:雌一日期:二! o 二址 关于学位论文使用权的说明 本人完全了解太原理工大学有关保管、使用学位论文的规定,其 中包括:学校有权保管、并向有关部门送交学位论文的原件与复印 件;学校可以采用影印、缩印或其它复制手段复制并保存学位论文; 学校可允许学位论文被查阅或借阅;学校可以学术交流为:目的, 复制赠送和交换学位论文;学校可以公布学位论文的全部或部分内 容( 保密学位论文在解密后遵守此规定) 。 签 名:主垒星皇日期:鲨星:堑:i ! 太原理工大学硕士研究生学位论文 1 1 论文背景 第1 章绪论 随着信息技术和网络技术的飞速发展,以w e b 为核心的企业内部网或外部网正吸 引着越来越多的企业。低成本、简单易用的客户浏览器能随时随地连接到企业的w e b 站点上取得自己所需的数据。客户端操作界面的一致性以及服务器端的开放连接方案, 大大加强了企业与外部的联系。同时,w e b 在实际项目开发中得到了更多的应用,并且 在更多的场合被提及,越来越多的人把兴趣投放到了基于w e b 的应用系统开发i l 】。而且, w e b 应用开发技术也不断地得到发展。w e b 应用己经从过去的消息发布等相对静态的内 容显示发展到应用逻辑处理和电子商务等动态信息的处理。 随着w e b 应用系统的开发变得越来越复杂,我们迫切需要有效地提高w e b 应用程 序的可重用性、可维护性和可扩展性,同时又能快速有效地构建w e b 应用系统。因此, 设计与实现一个通用化的,而且性能优良的w e b 应用开发平台就显得十分重要。 框架是可重用的、半完成的应用程序,可以用来产生专门的定制程序【2 】。框架运行 在相同的机器上,期望从相同的设备输入信息然后再输出到相同的显示设备,并且存储 数据到相同的存储设备。作为开发人员都习惯于使用框架提供的工具包和开发环境构 架,在这些公共基础上的应用框架可以为开发人员提供能为开发提供可重用服务的基础 架构。框架提供了系列具有以下特征的核心框架组件:首先,它们已经很好的应用在 其它程序上;其次,它们随时可以在下一个项目中使用;最后,它们可被开发组织的其 它团队使用。 s t r u t s 框架是一种基于j a v a 的技术,w e b 应用程序开发人员通过s t r u t s 框架即可 充分利用面向对象设计、代码重用以及“编写一次、到处运行”的优点。s t r u t s 提供了 一种创建w e b 应用程序的框架,对应用程序的显示、业务逻辑和数据操作的后端代码 进行了抽象。s t r u t s 是对m v c 设计模式的一种实现。m v c 设计模式为构建可扩展、 可重用的代码打下了坚实的基础。m v c 设计模式迫使用户抽象自己的代码,把项目分 解为显示、控制和模型三部分,各部分间的关联尽量小【3 1 :s t o a t s 本身是一群经验丰富 的w e b 开发专家的集体智慧结晶,在全世界内得到广泛运用并得到一致认可。对于开 发大型复杂的w e b 应用系统,s t r u t s 是很好的框架选择。 太原理工大学硕士研究生学位论文 然而,w e b 应用程序还存在许多不足,主要体现在速度不如桌面应用程序快,用户必 须耐心等待服务器端的数据响应,而此时客户端直处于等待的状态,造成了资源浪费。 而通过适当的应用a j a x 能达到更好的用户体验,它把以前的一些服务器负担的工作转 到客户端,有效的利用了客户端的资源,减轻了服务器和带宽的负担【4 1 。 a j a x 即a s y n c h r o n o u sj a v a s c r i p ta n dx m l 的缩写,可译为“异步j a v a s c r i p t 和 x m l 技术”。a j a x 并不是一门新的语言或技术,它实际上是几项技术按一定的方式组 合在一起发挥各自的作用。它的工作原理相当于在用户和服务器之间增加了一个中间层, 使用户操作与服务器响应异步化瞄j 。 1 2 国内外研究现状 j 2 e e 经过多年的实践检验,证明是一种可以信赖的企业级软件开发技术,受到许 多1 1 i 业的大厂商的支持,具有十分广阔的前景。在国外企业级应用程序开发市场上, j 2 e e 已经成为一种主要的开发平台,而且已经有很许多公司提供了实现j 2 e e5 0 规范 的应用服务器,如i b m 的w e b s p h e r e ,b e a 的w e b l o g i c 。在国内j 2 e e 也逐渐得到了 越来越多的重视,正在越来越多地被应用到。中国已经开发出了实现j 2 e e5 0 规范的应 用服务器,全面支持最新的j 2 e e5 0 规范,如金碟公司的a p u s i c 。s t r u t s 是实现了m v c 设计模式的一个经典框架。最早于2 0 0 0 年5 月作为j a k a r t a 项目的组成部分问世, j a k a r t a 项目是由a p a c h e 基金组织运作。项目的创立者希望改进和提高j a v as e r v e r p a g e s ( j s p ) 、s e r v l e t 、标签库以及面向对象的技术水平。j a k a r t a 项目有许多成功的部分, 比如大名鼎鼎的t o m c a t ,以及c a c t u s 、l 0 9 4 j 等一些激动人心的产品。而且s t r u t s 是 开发源码项目,它的前景是不可限量的。此外,作为开源项目,s t r u t s 也得到了一批狂 热的开源分子的支持,也有一大批成功的产品,比如e a s ys t r u t s 、s t r u t sc o n s o l e 等, 从这些就可以看到业界对s t r u t s 的重视程度和对它的期望,在国外已经大量地应用了 s t r u t s 框架。国内对s t r u t s 的应用和研究正处于发展阶段,有不少的人在研究它,也有 很多的人在使用它。当前国内对s t r u t s 的研究主要集中在一些以j a v a 、w e b 、开源技 术以及其他相关内容为主题的网络论坛上。在产业方面,有不少软件公司已经在e c l i p s e 、 m y e c l i p s e 等开源开发工具上使用s t r u t s 框架了。 在经过了五年的发展后,s l x u t s l 已经成为一个高度成熟的框架,不管是稳定性还是 可靠性,并足以支持产品级应用。世界上很多的站点( 包括企业内部应用和外部的i n t e m e t 2 太原理工大学硕上研究生学位论文 站点) ,都在运行基于s t r u t s 的产品级应用,t o m c a t , j s p s e r v l e t 容器的标准均包含了一个 基于s t r u t s 的管理应用程序。s t r u t s 作为一个基于w e b 的应用程序框架,已经掀起了一 个风潮。但是由于它太“老”了,一些设计上的缺陷成为它的硬伤。面对大量新的m v c 框架蓬勃兴起,s t r u t s l 也开始了血液的更新。目前s t r u t s 已经分化成两个框架:第一个 框架就是传统s t r u t s l 和w e b w o r k 结合后的s t r u t s 2 框架。s t r u t s 2 虽然是在s t r u t s l 的基 础上发展起来的,但实质上是以w e b w o r k 为核心,s t r u t s 2 为传统s t r u t s l 注入了w e b w o r k 的设计理念,统一了s t r u t s l 和w e b w o r k 两个框架,允许s t r u t s l 和w 曲w r o r k 开发者同 时使用s t r u t s 2 框架。第二个框架是s h a l e ,这个框架远远超过了s t r u t s l 原有的设计思想, 它与原有的s t r u t s l 的关联很少,它使用全新的设计思想。s h a l e 更像是一个新的框架, 而不是s t r u t s 的升级。 s t r u t s 2 的体系与s t r u t s l 体系的差别非常大,因为s t r u t s 2 使用了w e b w o r k 的设计核 心,而不是使用s t r u t s l 的设计核心。s t r u t s 2 大量使用拦截器来处理用户请求,从而可 以使用户的业务逻辑控制器与s e r v l e t a p l 分离。此外s t r u t s 2 用户多模块应用程序非常的 方便,只需要在配置文件中进行注册就可以了。此外,s t r u t s 2 可以非常方便的与a j a x , s p r i n g ,i b a t i s ,h i b e r n a t e 等开源框架进行集成,这样可以更好的提高用户体验、减少用户 等待时间,以及解决用户的持久层的数据存储问题。总之,s t r u t s 2 在s t r u t s l 的基础上 做出了巨大的改进,的确是一个非常具有使用价值的m v c 框架。 1 3 本文的主要工作及创新 本文的主要工作和创新如下: 1 、对j 2 e e 多层体系结构以w e b 应用开发体系结构进行了研究。并对m v c 设计模 式进行了深入的研究,深刻理解了该模式的模型、视图、控制器三个组件在开发w e b 应用中的作用,并总结了使用该模式存在的优势与不足。 2 、对s t r u t s 2 以及a j a x 技术的研究。s t r u t s 2 是一个经典的实现了m v c 设计模式 的w e b 层框架,本文对该框架的整体结构以及处理流程进行了深入的分析及研究,并 把它与s t r u t s l 进行了比较分析,说明了使用它开发的优点。a j a x 技术是为了解决在 w e b 应用中用户等待问题而提出的,本文对它的技术组成以及工作原理进行了深入的研 究。 3 、全面科学地对计量装置异常进行深入的分析与研究,并在此基础上对其建模。 3 太原理工大学硕士研究生学位论文 对电能计量装置异常及处理进行科学归类及分析,给电力营销管理人员提供了一种方 便、快捷、科学、规范的业务处理方法。 4 、在对w e b 应用分层理论研究的基础上,本文提出了一种改进的开发w e b 应用系 统的分层模型,并对分层模型的各个层次进行了详细的设计与分析说明,探讨了该分层 模型在w e b 应用开发中的分层设计思想。 5 、对“电能计量装置异常处理分析系统”项目进行了需求分析和功能模块设计, 并分别对本文所设计的分层模型在系统中的各层的实现进行了详细的描述。并对a j a x 在系统中的使用进行了说明。 1 4 论文结构及内容 第一章:简要介绍了课题背景、课题研究的国内外现状以及论文的主要工作及创新。 第二章:主要介绍了j 2 e e 体系结构以及m v c 设计模式,并分析了基于m v c 设计 模式思想的s t r u t s 2 框架的体系结构、工作原理、配置文件以及对m v c 设计模式的实现。 最后对a j a x 技术进行了探讨。 第三章:主要对电能计量装置异常处理分析系统进行了需求分析,主要包括电能计 量的基本原理、错接线情况等。 第四章:重点设计了一种基于s t r u t s 2 框架和i b a t i s 框架的w e b 应用分层模型,并 阐述了它的工作原理。并在此分层模型基础上对电能计量装置异常处理分系统进行了详 细的设计,主要包括开发环境、设计目标、分层结构、数据库设计等。 第五章:简要阐述了系统数据库操作的实现以及中文问题的处理办法,重点介绍了 基于本文所设计的w e b 应用分层模型在电能计量装置异常处理分析系统的应用,并对 分层模型的各个层次如何实现以及a j a x 如何使用进行了详细的说明。 第六章:简要介绍了基于此分层模型实现的系统的运行效果。 第七章:对本文进行了总结,并且提出了下一步需要探索和研究的内容。 4 太原理工大学硕士研究生学位论文 第2 章本文所用到的相关技术 2 1j 2 e e 体系结构及m v c 设计模式 2 1 1w e b 应用开发体系结构 m i c r o s o f t n e t 与s u nj 2 e e 是目前的企业w e b 应用开发平台市场的两个最重要的 应用架构。它们之间最重要的差别是n e t 是个套件产品,而j 2 e e 是一组规范和标 准,n e t 支持语言中立,而j 2 e e 支持平台中立,n e t 依附于w i n d o w s 平台,j 2 e e 依附于j a v a 技术。j 2 e e 使用多层的分布式应用模型,应用逻辑按功能划分为组件,各 个应用组件根据他们所在的层分布在不同的机器上【6 1 。事实上,s u n 设计j 2 e e 的初衷 正是为了解决两层模式( c l i e n t s e r v e r ) 的弊端,在传统模式中,客户端担当了过多的角色 而比较臃肿,在这种模式中,第一次部署的时候比较容易,但难于升级或改进,可伸展 性也不理想,而且经常基于某种专有的协议( 通常是某种数据库协议) 。它使得重用业 务逻辑和界面逻辑非常困难。现在j 2 e e 的多层企业级应用模型将两层模型中的不同层 面分成许多层。一个多层化应用能够为不同的每种服务提供一个独立的层。w e b 应用开 发多层体系结构如图2 1 【7 i 所示。 界面层 表示层 业务层 数据访问层 数据层 区圃 回 图2 1w e b 应用系统的多层结构 f i g 2 1a r c h i t e c t u r eo fw e ba p p l i c a t i o ns y s t e m 5 太原理工大学硕十研究生学位论文 2 1 2j 2 e e 多层应用体系结构 j 2 e e 是一种利用j a v a 2 平台来简化诸多与企业解决方案的开发、部署和管理相关的 复杂问题的体系结构。j 2 e e 技术的基础就是核心j a v a 2 平台的标准版,它不仅继承了标 准版中的许多优点,例如“编写一次、随处运行“的特性,方便存取数据库的j d b c a p i , c o r b a 技术等,同时还提供e j b ( e n t e r p r i s ej a v a b e a n s ) 、j a v as e r v l e ta p i 、j s p ( j a v as e r v e r p a g e s ) 以及x m l 技术的全面支持。j 2 e e 支持b r o w s e r s e r v e r 架构,为应用j a v a 技术开 发服务器端应用提供一个平台独立的、可移植的、多用户的、安全的和基于标准的企业 级平台,从而简化企业应用的开发、管理和部署【引。 1 、j 2 e e 的多层应用模型 j 2 e e 提供了众多的技术来支持开发分布式企业应用,这些技术为构建大型的、分 布式的企业应用提供了机制,根据使用特点,可以把这些技术分为:组件技术、服务技 术等。组件技术用来创建用户接口和业务逻辑,通过模块化设计,用户可以在多个企业 应用中重用组件,可以提高系统开发效率:服务技术为应用组件提供服务,从而更高效 地发挥组件的功能。 j 2 e e 多层应用体系结构定义了四个独立的层【9 】,应用软件构造在这个框架之上,这 四个层分别是:客户层、表现层、业务逻辑层和企业信息系统层,如图2 2 所示。 客户端w e b 服务器 应用服务器 a p p l e t 容器 卜t w e b 容器 e j b 容器 ,一一一、 弋 、 lj s pi 厂、 数据库或 l e j b j 者e i s a p p l i c a t i o n 客 u 户端容器s e r v l a p p l i c a t i o n e t 、,。 客户端 l; fti l i 一。 i i i i i 图2 - 2j 2 e e 多层体系结构 f i g 2 2j 2 e en - t i e ra r c h i t e c t u r e 1 ) 客户层( c l i e n tt i e r ) :客户层是用户角度的视图,主要负责把表现层的结果显示 给用户以及响应用户的输入。j 2 e e 应用可以是基于w e b 的,也可以是不基于w e b 的, 6 太原理工大学硕士研究生学位论文 在基于w e b 的j 2 e e 中,用户的浏览器在客户层中运行,或者从w e b 服务器上下载静态 h t m l 页面,或者由j s p s e r v l e t 生成动态h t m l 页面;在非w e b 的j 2 e e 应用中,则 是单独的客户端程序,不经过w e b 层直接访问业务层。 2 ) 表现层:也称w e b 层( w e bt i e r ) ,是j 2 e e 体系的核心之一,它根据业务逻辑层 的处理结果,生成相应的页面。j 2 e ew e b 组件可以由j s p 页面、基于w e b 的a p p l e t 以及在w e b 服务器上生成h t m l 的s e r v l e t 组成。 3 ) 业务层( b u s i n e s st i e r ) :它也是j 2 e e 体系的核心之一,业务领域内需要的业务 逻辑代码由运行在业务层的e j b 来执行,f _ j b 【lo 】从客户端接收数据,对数据进行处理, 再将处理后的结果发送到企业信息层;最后将执行结果返回给客户程序。运行在业务层 的e i b 依赖于容器提供如事务、生命期、状态管理等复杂的系统级功能。 4 ) 企业信息系统层( e n t e r p r i s ei n f o r m a t i o ns y s t e m st i e r ) :它可能是一个数据库系统, 也可能是企业的e r p ( e n t e r p r i s er e s o u r c e sp l a n n i n g ) 系统、大型机事务处理系统( m a i n f r a m et r a n s a t i o np r o c e s s i n g ) 或者其他遗留信息系统。企业信息系统层运行企业信息系 统软件,是系统数据持久性的保证。 2 、j 2 e e 架构核心技术 j 2 e e 平台由一整套服务( s e r v i c e ) 、应用程序接t ( a p i ) 和协议构成,它对开发基于 w e b 的多层应用提供了功能支圳l 。例如数据库连接服务、命名服务、事务服务、安全 服务、连接框架等。它们为基于j 2 e e 多层分布式应用的开发提供支持,在应用中通过 调用相应的a p i 来使用这些技术。常用的关键技术如下: 1 ) j a v a 数据库连接j d b c ( j a v ad a t a b a s ec o n n e c t i v i t y ) ,它为j a v a 应用程序访问不同 的数据库提供了通用的应用程序编程接口,通过j a v a 驱动程序可以屏蔽不同数据库之 间的差异。j d b c 应用程序不必考虑具体的数据库和操作系统,而采用统一的应用程序 接h ( a p i ) 。通过j d b c 可以完成建立数据库的连接、执行s q l 语句等操作。 2 ) j a v a 命名与目录接口j n d i b 2 1 ( j a v an a m i n ga n dd i r e c t o r yi n t e r f a c e ) ,j n d ia p i 提 供命名与目录访问服务,包括两部分:应用级接口被应用组件用于访问命名与目录服 务;服务提供者接口用于添加一个命名与目录服务的提供者。在j 2 e e 应用中,j n d i 用于管理应用中用到的核心组件和对象。当需要使用某一个组件时,j n d i 可以提供查 找该组件的方法。j n d i 提供了一种应用程序,该程序包含了一个对象集合或对象引用 的集合,还对每个对象关联了一个对用户友好的名称。目录服务只是命名服务所提供 7 太原理工大学硕上研究生学位论文 的一个扩展功能。 3 ) j s p ( j a v as e r v e r p a g e s ) ,j s p 可以说是s e r v l e t 的扩展,它提供与s e r v l e t 相同的 功能,但开发相对简单。j s p 的特点是执行效率高,它是h t m l 代码和j a v a 代码的混 合。j s p 页面以扩展名为j s p 的纯文本文件的形式存于服务器上,当服务器接收到客户 端对某个j s p 页面的请求时,如果这是对该页面创建或修改后的第一次请求,那么j s p 引擎就把该j s p 页面内容转换成s e r v l e t 源码,然后将其编译成s e r v l e t 字节代码并执 行。最后将s e r v l e t 的执行结果返回给浏览圳1 3 】。 4 ) j a v as e r v l e t t l 4 1 ,s e r v l e t 也是一种j a v a 程序,它扩展了w e b 服务器的功能。s e r v l e t 作为一种服务器端的应用,当被请求时开始执行,这与c g i 、p e r l 等脚本很类似。s e r v l e t 提供的功能大多与j s p 类似,不过实现的方式不同。j s p 通常是在h t m l 页面中嵌入少 量的j a v a 代码,而s e r v l e t 全部由j a v a 写成并生成h t m l 页面。j a v as e r v l e t 是用j a v a 编写的s e r v e r 端程序,它与协议和平台无关。 2 1 3m v c 设计模式 在最初的b s 应用开发过程中,一般处理业务逻辑代码都嵌入在h t m l 页面中。 这样做使得表示层与业务逻辑混合在一起,页面难以修改和维护。m v c 模式属于结构 型设计模式n 5 1 ,即将应用类和对象组合获得比较复杂的结构。它源于传统的面向对象语 言s m a l l t a l k - 8 0 ,它是第一个将表示逻辑和业务逻辑分开的设计模式。m v c ( m o d e l v i e w c o n t r o l l e r ) 设计模式的出现使得模型层、视图层和控制层层次分明,各个模 块之间相互独立,提高了程序开发灵活性和可重用性。这样使得程序开发的藕合度非常 低。其中,视图负责与用户交互,接收用户输入,然后返回结果给用户,视图一般由j s p 页面组成;模型用来处理要涉及的业务范围,它主要是业务数据模型和业务逻辑模型, 并通常负责与后台数据库交互,模型一般由e j b ,j a v a b e a n 等组成;控制器是整个m v c 模型的核心,它起总体协调和控制作用,如调用某个模型组件完成某些业务功能并最终 向用户返回某个视图组件。 l 、m v c 模式概述 m v c 是m o d e l v i e w c o n t r o l l e r 的简称,即模型视图一控制器。m v c 是x e r o xp a r c 在2 0 世纪8 0 年代为编程语言s m a l l t a l k - 8 0 发明的一种软件设计模式i l 郇,至今己被广泛 使用,最近几年被推荐为s u n 公司j 2 e e 平台的设计模式,受到越来越多的w e b 开发 8 太原理工大学硕七研究生学位论文 者的欢迎。 m v c 的核心是实现三层甚至多层的松散耦合,它将应用程序抽象为三个部分,三 者既分工又合作地完成用户提交的每项任务。它把应用程序分成三个核心模块【1 7 】:模型、 视图和控制器,它们分别担负不同的任务。m v c 结构如图2 3 所示【1 8 l : 图2 - 3l d v c 结构图 f i g 2 - 3s t r u c t u r eo fm v c 1 ) 模型( m o d e l ) :模型是应用程序的核心部分,表示一个应用系统的数据,并包括 访问、维护和管理这些数据。它封装了应用程序的数据结构和事务逻辑,集中体现了应 用程序的状态。一个模型的接口提供了访问和更新模型状态,执行封装在模型中的复杂 进程的方法。模型服务被控制器访问,用于查询或更改模型状态。当模型状态发生变化 时,模型会通知视图作出相应的响应。在模型与界面分离的情况下,代码即可实现可管 理性和可重用性。 2 ) 视图( v i e w ) :视图表示模型的状态,是应用系统的外观,当模型发生改变时,视 图也将随之改变,以维持系统数据的一致性。与其他w e b 应用程序一样,此模块担当 连接用户和应用程序之间的接口角色。它只是作为一种输出数据并允许用户操纵的方 式。它可以访问模型的数据,却不了解模型的情况,同时也不了解控制器的情况。当模 型发生改变时,视图会得到通知,它可以访问模型的数据,但不能改变这些数据。 3 ) 控制器( c o n t r o l l e r ) :控制器是联系模型与视图之间的纽带,控制模型和视图之间 的交互过程。它的作用很明显,它就是一个分发器,选择什么样的模型,选择什么样的 视图,可以完成什么样的用户请求。控制层不做任何的数据处理,它只把用户的信息传 递给模型,告诉模型做什么,选择符合要求的视图返回给用户。控制器本身不输出任何 东西和做出任何处理,它只是接收请求并决定调用哪个模型构件去处理请求,并确定使 9 太原理丁二人学硕士研究生学位论文 用哪个视图来显示模型处理之后返回的数据。 由图2 3 可知,m v c 模式的处理流程:首先控制器接收用户的请求,并决定应该 调用哪个模型来进行处理,然后模型调用业务逻辑来处理用户的请求并返回数据,最后 控制器用相应的视图返回数据,并通过表示层呈现给用户。 2 、m o d e l l 与m o d e l 2 1 ) m o d e l l :在很多w 曲应用中,一组j s p 页面就可以构成一个完整的w e b 应用。 在这种开发方式下,j s p 页面独自响应用户请求,处理后把结果返回给客户端。所有的 数据都通过j a v a b e a n 处理,j s p 页面同时实现显示、业务逻辑和流程控制功能,从而快 速完成应用开发。这种以j s p 页面为中心,以j a v a b e a n 处理业务逻辑的开发模型被称 作m o d e l l 。此模型的体系结构如图2 4 所示。 图2 4m o d e l l 体系结构 f i g 2 - 4a r c h i t e c t u r eo fm o d e l i j s p 文件是构成m o d e l l 的基础,它独自响应用户请求并将处理结果返回客户。总 的看来,使用这种模式开发很简单,可以很好的满足小型应用开发的需求,但是它把页 面表现和业务逻辑混合在一起,很难满足大型应用的需求。如果不加选择地大量使用它, 就需要在j s p 页面中嵌入大量的s c r i p t 或j a v a 代码,尤其是在需要处理的业务逻辑比较 复杂时,情况会变得非常严重。 2 ) m o d e l 2 :m o d e l 2 是m o d e l l 的改进,表示的是基于m v c 模式的框架【1 9 】。m v c 是m o d e l - v i e w - c o n t r o l l e r 的简写。”m o d e l ”代表应用的业务逻辑,”v i e w 是应用的表示 页面,”c o n t r o l l e r 是提供应用的流程控制,通过这种设计模型把应用逻辑、处理过程和 显示逻辑分成不同的组件实现,从而弥补了m o d e l l 的不足。它又被称为“以s e r v l e t 为 中心”的模式,是j s p , j a v a b e a n 和s e r v l e t 技术的结合,充分利用了j s p 和s e r v l e t 两种 技术原有的优势。在这个模型中,j s p 技术用于产生页面的表示,s e r v l e t 技术负责完成 大量的业务逻辑处理,j a v a b e a n 用来实现应用的业务逻辑。其中,s e r v l e t 用来处理所有 来自w e b 浏览器

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论