已阅读5页,还剩71页未读, 继续免费阅读
(计算机应用技术专业论文)基于strutsspringhibernate架构的综合积分系统的研究与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
西南交通大学硕士研究生学位论文第1 页 摘要 随着互联网技术的日益普及,基于b s 模式的多层w e b 体系结构 得到了广泛的应用。然而,开发w e b 应用系统需要解决很多复杂的问 题,开发中存在程序可重用程度低、维护工作繁琐等不足。因此,如 何组织应用程序采用一种较好的体系结构、设计模式和可重用的框架 进行w e b 应用软件的开发,是一个值得研究的课题。 框架技术与设计模式是j 2 e e 中重要的软件重用技术,框架技术通 过重用提高软件的生产效率,几乎所有的框架技术都会使用一种或多 种设计模式。目前,针对不同的j 2 e e 应用层次,各式各样的开源框架 不断涌现,这些框架的出现为建构企业级应用提供了一个经济的、快 速开发部署的、稳定而且可扩展的可行方案和借鉴。s t r u t s ,s p r i n g 和 h i b e r n a t e 就是其中优秀的开源框架。 本文首先介绍了j 2 e e 体系架构,接着重点讨论了s t r u t s 、s p r i n g 和h i b e r n a t e 三种开源框架,具体分析了各个框架在w e b 应用的不同 层次上所发挥的作用。然后根据j 2 e e 的分层结构,结合w e b 应用的 特点,整合这三种框架,设计出一个适合企业w e b 应用的j 2 e e 通用 架构。其中s t r u t s 主要负责表现层,完成页面显示、响应用户请求等 功能;s p r i n g 主要负责业务逻辑层,完成应用系统的业务逻辑与事务 处理等功能;h i b e r n a t e 主要负责数据持久层,负责数据的持久化。最 后在此架构的基础上,设计实现了综合积分系统,详细说明了该架构 在w e b 系统中的应用。实践表明,使用此架构可以充分发挥各个框架 的优势,降低应用开发的复杂性,提高系统开发效率和质量,同时提 高了系统的可维护性、可扩展性、可移植性和组件的可复用性。 关键词j 2 e e ;架构;s t r u t s :s p r i n g , h i b e r n a t e 西南交通大学硕士研究生学位论文第1 l 页 a bs t r a c t w i t ht h e i n c r e a s i n gp o p u l a r i t y o ft h ei n t e r n e t t e c h n o l o g y ,t h e m u f t i 1 a y e rw e bs t r u c t u r eb a s e do nb sh a sb e e nw i d e l yu s e d b u tt h e r e a r em a n yc o m p l e xp r o b l e m sn e e d e dt os o l v ei nd e v e l o p i n gw e bs y s t e m a n dt h e r ea r es e v e r a l d i s a d v a n t a g e sa sl o ws o f t w a r er e u s a b i l i t ya n d d i f f i c u l tm a i n t e n a n c ei n e x p l o i t a t i o n t h e r e f o r e ,h o w t o o r g a n i z e s o f t w a r eb yu s i n gab e t t e ra r c h i t e c t u r e ,g o o dd e s i g np a t t e r n sa n dr e u s a b l e f r a m e w o r ki nd e v e l o p i n gw e ba p p l i c a t i o ni sw e l lw o r t hs t u d y i n g f r a m e w o r k sa n dd e s i g np a t t e r n sa r ev e r yi m p o r t a n tt e c h n o l o g i e sf o r s o f t w a r ew h i c ha r er e u s e di nj 2 e e f r a m e w o r kc a nr a i s ep r o d u c t i v i t yo f s o f t w a r eb yr e u s i n g a l m o s ta l lf r a m e w o r k su s e o n eo rm o r ed e s i g n p a t t e r n s a tp r e s e n t ,m o r ea n dm o r eo p e ns o u r c ef r a m e w o r k sf o re a c h l a y e ro fj 2 e em e r g eo u tc o n s t a n t l y t h e s ef r a m e w o r k sc a np r o v i d ea n e n t e r p r i s el e v e la p p l i c a t i o ns c h e m ew h i c hi se c o n o m i c a l ,f a s tt od e v e l o p a n dd e p l o ya sw e l la ss t a b l ea n de x p a n d a b l e s t r u t s ,s p r i n ga n dh i b e r n a t e a r ee x c e l l e n to p e ns o u r c ef r a m e w o r k so ft h e m t h i sp a p e rf i r s t l ye l a b o r a t e so nj 2 e et e c h n o l o g y t h e ng i v e sd e t a i l s o fs t r u t s ,s p r i n ga n dh i b e r n a t e ,a n da n a l y s e se a c hf r a m e w o r k sf u n c t i o n i nw e ba p p l i c a t i o nl a y e r a c c o r d i n gt ot h ej 2 e et i e r e ds t r u c t u r e ,w i t h w e ba p p l i c a t i o nf e a t u r e s ,t h i s p a p e rd e s i g n sa j 2 e ea r c h i t e c t u r eo f i n t e g r a t i n gw i t ht h et h r e ef r a m e w o r k sw h i c hi ss u i t a b l ef o re n t e r p r i s e w e b a p p li c a t i o n i n t h i sa r c h i t e c t u r e ,s t r u t st a k e c h a r g e o ft h e p r e s e n t a t i o nl a y e r ,c o m p l e t i n gp a g ed i s p l a y i n ga n da n s w e r i n g u s e r s r e q u i r e m e n t s ;s p r i n gt a k e sc h a r g eo fb u s i n e s sl o g i cl a y e r ,c o m p l e t i n gt h e b u s i n e s sl o g i ca n dm a n a g e m e n to fa p p l i c a t i o np r o g r a m s ;h i b e r n a t et a k e s c h a r g eo fd a t ap e r s i s t e n c el a y e r ,c o m p l e t i n gd a t ap e r s i s t e n c e f i n a l l y ,a n e x a m p l e b a s e do ni n t e g r a t e dl o y a l t ys y s t e mi si n t r o d u c e dt oi l l u s t r a t et h e p r o c e s st ob u i l daw e bs y s t e mw i t ht h eh e l po ft h ea r c h i t e c t u r e r e s u l t s s h o wt h a tt h i sn e wa r c h i t e c t u r eh e l p st ot a k ef u l la d v a n t a g eo ft h ev a r i o u s f r a m e w o r k s ;t h ec o m p l e x i t yo fw e ba p p l i c a t i o nd e v e l o p m e n tc o u l db e r e d u c e ds ot h a tt h ee f f i c i e n c ya n dq u a l i t yo ft h ed e v e l o p m e n ti si m p r o v e d 西南交通大学硕士研究生学位论文 第1 ii 页 m e a n w h i l e ,i t e n h a n c e st h es y s t e m sm a i n t a i n a b i l i t y , e x p a n s i b i l i t y , c o m p a t i b i l i t ya n dr e u s a b i l i t y k e yw o r d s :j 2 e e ;a r c h i t e c t u r e ;s t r u t s ;s p r i n g ;h i b e r n a t e 西南交通大学 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定, 同意学校保留并向国家有关部门或机构送交论文的复印件和电子版, 允许论文被查阅和借阅。本人授权西南交通大学可以将本论文的全部 或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等 复印手段保存和汇编本学位论文。 本学位论文属于 1 保密口,在年解密后适用本授权书; 2 不保密函使用本授权书。 ( 请在以上方框内打“ ) 学位论文作者签名:龟霞 e l 期:z o o s , s , 升 指导老师签名曲亏 日期:幽玉- d - 西南交通大学学位论文创新性声明 本人郑重声明:所呈交的学位论文,是在导师指导下独立进行研 究工作所得的成果。除文中已经注明引用的内容外,本论文不包含任 何其他个人或集体已经发表或撰写过的研究成果。对本文的研究做出 贡献的个人和集体,均已在文中作了明确的说明。本人完全意识到本 声明的法律结果由本人承担。 本学位论文的主要创新点如下: 1 针对传统消费积分系统的不足,从实际需求出发,设计了综合积 分系统。该系统将不同行业的商户资源进行整合,把目前社会上层出 不穷的积分卡统一起来,对消费者进行集中的积分奖励。 2 有效地整合了s t r u t s + s p r i n g + h i b e r n a t e 架构,详细介绍了此架构 的整合方法,由s t r u t s 负责表现层,s p r i n g 负责业务逻辑层,h i b e r n a t e 负责数据持久层。 3 基于文中提出的架构,对综合积分系统进行了实现。具体给出了 s t r u t s 实现表示层,s p r i n g 实现业务逻辑层,h i b e r n a t e 实现数据持久 层的方法。由此验证了架构的可行性和优越性。 西南交通大学硕士研究生学位论文第1 页 第1 章绪论 1 1 课题研究背景及意义 在市场竞争日益激烈的情况下,使用会员消费积分促进消费、加 强客户忠诚度是常见的手段之一。消费积分是现代化商业发展的产物, 是一种有效的扩展用户群、提高用户忠诚度的促销手段。以积分为基 础,商户还可以开展各种丰富多彩的积分换领、消费奖励等活动。目 前消费积分系统主要由商户自己开发和维护,因此积分活动也通常局 限于商户本身或其下属的分店,无法使活动发挥更大的作用。随着积 分项目被越来越多的商户广泛使用,手里持有多张积分卡的客户已越 来越多,这些客户在不同的商户那里出示不同的积分卡,享受相应的 折扣或者积分优惠,但由于每次在同一个商家消费的金额有限,积分 卡里的积分往往就成了摆设,客户对每一家都谈不上忠诚。传统的积 分促销方式对消费者的吸引力越来越下降。 针对传统消费积分促销方式的这些不足,本课题设计开发了消费 综合积分系统。本系统利用现在普遍覆盖各行业的p o s 网络终端和商 户资源,将不同行业的商户资源进行整合,把目前社会上层出不穷的 积分卡统一起来,对消费者进行集中的积分奖励。这样客户凭一张卡 就可以在不同的商户积分,并尽快获得积分奖励,而所得的积分除了 可以兑换各种超值礼品,还可以直接抵付消费金额。同时为企业提供 跨行业、多渠道、多参数的积分奖励软件平台及相关服务,实现客户 资源的跨行业运用,为企业的市场经营决策提供重要的市场分析数据, 以达到企业的经营目的和战略目标。 相比较于企业自己设立的积分计划的局限性,综合积分系统则更 有效、更经济、更具有吸引力。同时为持卡客户、联盟商户和综合积 分运营商三方都带来了实质性利益f i 】: ( 1 ) 综合积分可以实现跨行业、跨产品、跨商户积分奖励,持卡客 户只需要一张卡片就可以在所有联盟商户获得积分奖励,享受到更多 的优惠: 西南交通大学硕士研究生学位论文第2 页 ( 2 ) 联盟商户不但省去了做独立会员积分系统的建设和维护运营费 用,而且还可以与其他商家进行会员共享。根据分析消费数据,商户 可以随时调整积分奖励制度,发展服务优势,提高消费者忠诚度,刺 激消费者在联盟商户的消费; ( 3 ) 对于综合积分运营商来说,综合积分开辟了新的收入来源。综 合积分运营商为联盟商户提供积分交易处理等多项服务,收取一定的 交易折扣,同时收取持卡客户积分卡的年费。 综合积分业务在为持卡客户、联盟商户和综合积分运营商带来利 益的同时,还有效地促进了经济增长,节约了制造卡片的成本,刺激 了消费,提高了交易的透明度。 1 2 技术现状 随着计算机和网络技术的迅速发展和日益成熟,i n t e r n e t 正在演变 成为人们生产和生活的一个重要组成部分。社会的各个领域都在努力 利用现有技术建立网络化的应用系统,进而实现信息交互和资源共享。 越来越多的政府机构、公司、组织创建了基于w e b 的应用系统。w e b 在各行业中的应用越来越广泛,发挥的作用也越来越大。 本论文实现的综合积分系统是种典型的企业w e b 应用系统。在 w e b 应用系统的开发中,各种新的框架和技术层出不穷。j 2 e e 技术凭 借其开源的优势和吸引力,成为多数企业系统的首选开发平台。框架 使得系统的开发降低了难度,并且复用了良好的设计,使系统的可扩 展性、可维护性、灵活性得到了提高。 j 2 e e 多层架构是目前流行的w e b 应用开发架构之一,已成为解决 电子商务和企业级应用的标准平台。这个平台并不是对所有的需求都 是满足的,其中的业务逻辑层的解决方案e j b 机制存在一些不足,其 构架方式本身有一些问题,而且e j b 的机制是一种对代码有一定侵入 性,对设计有一定侵入性的框架规范,这就使业务组件移植不是很方 便。e j b 制订了很多的接口和编码规范,要求实现者遵守,这样就导 致了业务逻辑移植困难,成本较高。 这就使得基于传统的j 2 e e 开发方式在中小企业中的应用比较少, 这些企业由于缺少资金并且为了追求最大的经济价值,往往在开发自 西南交通大学硕士研究生学位论文第3 页 己的信息平台时不会选用j 2 e e 平台来开发,这就使得j 2 e e 平台的使 用受到限制。在这种情况下,很多优秀的设计模式和开源框架应运而 生。 框架是软件系统的设计、开发过程中的一个概念,它强调对已完 成的设计、代码的重复使用,并且一个框架主要适用于实现某一特定 类型的软件系统t 2 1 。框架复用可大大提高软件的开发效率,保证软件质 量。j 2 e e 多层架构上已经开发出了很多优秀的开源框架,这些框架广 泛应用于w e b 应用开发中。这大大减轻了开发人员的负担,开发者可 以将不同层上的框架整合到一起,从而能够从繁杂的底层编码中解脱 出来。 s t r u t s 是m v c 架构技术的一种具体实现,包含了丰富的标记库和 独立于该框架工作的使用程序类,为w e b 应用开发提供了一个强大的、 通用的w e b 应用框架,从整体上减轻构造企业w e b 应用的负担。s p r i n g 是一个服务于所有层面的应用框架,允许开发者根据需要选择使用它 的部分模块f 3 】。s p r i n g 的核心是i o c ( 控制反转) 和a o p ( 面向切面编程) , 很容易实现b e a n 的装配和事务管理等特性;同时它对不同的数据访问 技术提供了统一的接口。h i b e r n a t e 是一种开放源代码的对象关系映射 框架,它对j d b c 进行了轻量级的对象封装,使j a v a 程序员可以随心 所欲的使用对象编程思维来操纵数据库。 这些框架的出现极大地推动了j 2 e e 技术的发展,特别是基于w e b 的j 2 e e 技术的发展。应用这些框架满足企业级应用开发时,出现了一 个问题,那就是如何来合理而高效地进一步整合这些具有特定功能的 开发框架,从而设计出一个完整高效的基于j 2 e e 面向w e b 的企业级 应用开发框架。因此,合理地选择不同的开发框架并将其整合为一个 高效的企业级应用框架对于开发基于j 2 e e 的w e b 应用显得尤为迫切 和必要。 1 3 课题来源 成都安泽信息技术公司综合积分项目。 西南交通大学硕士研究生学位论文第4 页 1 4 论文的主要内容与结构 论文介绍了j 2 e e 平台,分析了现有的流行框架:s t r u t s ,s p r i n g , h i b e r n a t e ,并将这三个框架有效整合。然后在整合架构的基础上,设 计开发了综合积分系统项目,验证了此架构的可用性和先进性。论文 结构安排如下: 第一章:绪论。主要介绍课题研究的背景、意义以及国内外研究 现状,对论文的主要内容与结构安排做了概要介绍。 第二章:j 2 e e 平台。介绍j 2 e e 基本概念、体系结构及核心技术。 第三章:应用框架介绍与分析。介绍了框架的基本概念,同时对 s t r u t s 、s p r i n g 和h i b e r n a t e 框架进行了分析和研究。 第四章:基于s t r u t s 、s p r i n g 和h i b e r n a t e 的架构设计。整合了 s t r u t s + s p r i n g + h i b e r n a t e 架构,并分析了此架构的设计方案与架构的优 点。 第五章:综合积分系统分析与设计。对系统进行了需求分析和详 细设计。 第六章:架构在综合积分系统中的实现。分析了利用当前架构实 现综合积分系统的过程,包括数据持久层,业务逻辑层,以及表现层 的具体实现。 总结与展望部分对本论文的主要工作进行总结,指出了存在的问 题,并对今后的研究工作进行展望。 西南交通大学硕士研究生学位论文第5 页 2 1 j 2 e e 概述 第2 章j 2 ee 平台 j 2 e e ( j a v a 2p l a t f o r m ,e n t e r p r i s e e d i t i o n ) ,是由s u n 公司定义的一 个开发分布式企业级应用的规范 4 1 。它提供了一个企业级的计算模型和 运行环境,用于开发和部署多层体系的应用,运用j 2 e e 可以大大简化 企业解决方案的开发,部署和管理等相关问题。j 2 e e 技术的基础是核 心j a v a 平台或j a v a 2 平台的标准版,j 2 e e 不仅巩固了标准版中的许多 优点,同时还提供了对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 t sa p i 、 j s p ( j a v as e r v e rp a g e s ) 以及x m l 技术的全面支持。j 2 e e 是一种规范, 而不是一个现成的产品。各个平台开发商按照j 2 e e 规范开发了不同的 j 2 e e 应用服务器,j 2 e e 应用服务器是j 2 e e 企业级应用的部署平台。 由于它们都遵循了j 2 e e 规范,使用j 2 e e 技术开发的企业级应用可以 部署在各种j 2 e e 应用服务器上。因此各种j 2 e e 架构在不同平台之间, 存在良好的兼容性,为企业多层分布式应用提供了一套完整的轻量级 的解决方案。 2 2j 2 e e 体系结构 j 2 e e 使用多层的分布式应用模型,应用逻辑按功能划分为组件, 各个应用组件根据他们所在的层分布在不同的机器上。在传统的两层 模式( c l i e n t s e r v e r ) 中,客户端担当了过多的角色而显得臃肿,在这种 模式中,第一次部署的时候比较容易,但难于升级或改进,伸展性也 不理想,而且经常基于某种专有的协议一一通常是某种数据库协议。 它使得重用业务逻辑和界面逻辑非常困难。现在的j 2 e e 企业级应用模 型划分为多个层【4 9 】。以下是j 2 e e 典型的四层结构:客户层、表示层、 业务层和企业信息系统层( e i s ) 。如图2 1 所示: 西南交通大学硕士研究生学位论文第6 页 j 2 e e 应用程序一j 2 e e 应用程序二 至至至圃 三至三圊习客户端机器 j 2 e e 服务器 图2 1j 2 e e 体系结构 1 客户层( c l i e n tt i e r ) 客户层用来与用户交互,并把来自系统的信息显示给用户。j 2 e e 应用可以是基于w e b 的,也可以是基于传统桌面应用方式的。在一个 基于w e b 的j 2 e e 应用中,用户的浏览器在客户层中运行,并从一个 w e b 服务器上下载w e b 层中的静态h t m l 页面,或由j s p 或s e r v l e t s 生成的动态h t m l 页面。在一个基于传统桌面应用方式的j 2 e e 应用 中,一个独立客户程序,或者一个不是运行在h t m l 页面中、而是运 行在其他基于网络的系统中的a p p l e t 程序,在客户层运行,并在不经 过w e b 层的情况下访问业务层构件e j b 。 2 表示层( w e bt i e r ) 表示层位于j 2 e e 服务器中,组件可以由j s p 页面、基于w e b 的 a p p l e t s 以及显示h t m l 页面的s e r v l e t s 组成。按照j 2 e e 规范,静态 的h t m l 页面和a p p l e t s 不算是w e b 层组件。w e b 层主要作用是处理 客户请求,调用相应的逻辑模块,并把结果以动态网页的形式返回到 客户端。 3 业务层r b u s i n e s st i e r ) 业务层也叫e j b 层,它由e j b 服务器和e j b 组件组成。e j b 层用 来实现企业级信息系统的业务逻辑。这是企业级应用的核心,由运行 在业务层中的e j b 来执行。一个e j b 从客户程序处接收数据,对数据 进行处理,再将数据发送到企业信息系统层存储。同样,一个e j b 也 可以从企业信息系统取出数据,发送到客户端程序。运行在业务层的 西南交通大学硕士研究生学位论文第7 页 e j b 依赖于容器提供诸如事务、生命期、状态管理、多线程及资源缓 冲池等十分复杂的系统级功能。 4 企业信息系统层( e i st i e r ) 企业信息系统层运行企业信息系统软件,在企业应用系统的逻辑 层划分中,e i s 层通常包括企业资源规划( e r p ) 系统、大型机事务处理 ( m a i n f r a m et r a n s a c t i o np r o c e s s i n g ) 系统、关系数据库系统( r d m s ) 及其 它遗留信息系统。e i s 层是j 2 e e 应用与非j 2 e e 应用或遗留系统集成 的连接点。 2 3j 2 e e 核心技术 为实现企业级分布式应用,j 2 e e 定义了丰富的技术标准,符合这 些标准的开发工具和a p i 为开发企业级应用系统提供支持。这些技术 包括:j d b c 、j n d i 、j t a 、e j b 、s e r v l e t 、j s p 、x m l 、j m s 、r m i 。 ( 1 ) 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 d b c 是一种用于执行s q l 语句的j a v aa p i 。它由一组用j a v a 编 程语言编写的类和接口组成,为访问不同的数据库提供了一种统一的 途径。j d b c 和o d b c 类似,而且两者可以通过j d b c o d b c 连接桥 进行访问。j d b c 将开发者和私有数据库之间的问题隔离开来。由于建 立在ja 1 v a 上,j d b c 还可以提供平台无关的数据库访问【o 】。 ( 2 ) j n d i ( j a v an a m i n gd i r e c t o r yi n t e r f a c e ) :j a v a 命名和目录接i s ! j n d i 是一个命名的目录服务标准,它为分布式系统访问远程对象 提供了个标准的命名接口。由于j n d i 不依赖于任何特定的执行,应 用程序可以使用j n d i 访问各种命名目录服务,这使得j 2 e e 应用程序 可以和传统的应用程序和系统共存。j n d i 在不同的目录服务间建立连 接。通过j n d i ,用户可以编写可移植的命名和目录服务代码,而不用 针对某种特定目录服务编写不能移植的应用程序。 ( 3 ) j t a j t s ( j a v at r a n s a c t i o na r c h i t e c t u r e j a v at r a n s a c t i o ns e r v i c e ) j t a 事务处理技术是保证一系列操作正确完成的保护机制f 7 】。它定 义了一种标准的a p i ,应用系统可以利用它来访问和实现各种事务。 s u n 公司为了更好地实现事务处理机制,推出了两个a p i :j a v a 事务处 理a p i ( j t a ) 和j a v a 事务处理服务( j t s ) 。j t a 是应用程序用以控制事务 西南交通大学硕士研究生学位论文第8 页 的较高层次的事务处理接口,j t s 户端代码不直接与j t s 相互作用。 境下能够协同进行事务处理。 ( 4 ) e j b ( e n t e r p r i s ej a v a b e a n ) 是一套底层事务处理接口,通常客 j t s 技术使多个厂家产品在不同环 e j b 是一套基于标准的分布式对象组件技术,定义了可复用的、 可移植的j a v a 分布式事务组件的设计和发布。每个e j b 是按功能逻辑 划分的,开发时不必关注系统底层细节问题,只关注具体的事务分析。 e j b 开发完毕后,按规范部署在容器中,完成相应的事务处理功能。 e j b 支持分布式计算,从而提高效率,因此显著地简化了可伸缩性和 高度复杂的企业级应用的开发。 ( 5 ) s e r v l e t 和j s p ( j a v as e r v e rp a g e s ) s e r v l e t 实质上是一种小型的,与平台无关的j a v a 类,它动态扩展 了服务器的功能。可以被插入到服务器中以提供定制服务,包括增加 新的特性服务,页面内容的动态改变,页面显示的动态改变等。 j s p 提供的功能大多与s e r v l e t 类似,不过实现的方式不同。s e r v l e t 全部由j a v a 写成并生成h t m l 页面;而j s p 通常是在h t m l 页面中 嵌入少量的j a v a 代码。j s p 技术是j 2 e e 体系结构中的一个重要组成技 术,它为开发人员提供了一个s e r v e r 端框架,开发人员可以综合使用 h t m l 、x m l 、j a v a 语言以及其他脚本语言灵活、快速地创建动态网 页内容。 ( 6 ) x m l ( e x t e n s i b l em a r k u pl a n g u a g e ) :可扩展标记语言 x m l 是一种类似于h t m l 的标记语言,可以添加关于数据用途的 信息。信息使用存储之后,称为解析器的应用程序就能够可靠地提取 相关信息,并根据不同的需要处理。它通常被用在不同的系统或不同 的商务过程之间共享数据。x m l 的发展和j a v a 是相互独立的,但是它 和j a v a 具有相同的目标,即平台独立性。通过j a v a 和x m l 组合,可 以得到一个完美的、具有平台独立性的企业系统解决方案。 ( 7 ) j m s ( j a v am e s s a g es e r v i c e ) :j a v a 消息服务 j m s 是用来和面向消息的中间件通信的应用程序接口,为开发消 息中间件应用程序定义了一套规范,使得j a v a 应用能够和各种消息中 间件进行通信。客户端和中间层访问消息系统只要实现定义的简单的 接口,就可以实现复杂的应用,而不必去关注低级的技术细节i s 。 ( 8 ) r m i ( r e m o t em e t h o di n n o v a t i o n ) :远程方法调用 西南交通大学硕士研究生学位论文第9 页 r m i 是一种远程调用其它计算机商务方法的机制,为分布式计算 提供了一种高级的通用解决方案。在j 2 e e 应用程序中,r m i 的应用非 常广泛,e j b 组件之间、基于j a v a 的客户与服务器之间的互操作都是 基于r m i 的。 2 4 本章小结 j 2 e e 架构已成为目前开发多层w e b 应用系统事实上的标准平台。 本章首先介绍了j 2 e e 技术的基本概论,然后介绍了j 2 e e 的体系结构 和核心技术。 西南交通大学硕士研究生学位论文第1o 页 第3 章应用框架介绍与分析 伴随着软件开发的发展,在多层的软件开发项目中,可重用、易 扩展的,而且是经过良好测试的软件组件,越来越为人们所青睐。这 意味着人们可以将充裕的时间用来分析、构建业务逻辑的应用,而非 繁杂的代码工程。于是人们将相同类型问题的解决途径进行抽象,抽 取成一个应用框架。随着j 2 e e 技术的大规模应用,人们开发了很多框 架,其中比较典型的有s t r u t s 、s p r i n g 和h i b e r n a t e 。本章对这些框架 做详细分析。 3 1 框架概述 框架技术是近年来不断发展成熟起来的一种软件重用技术。框架 是一种可复用、易扩展的组件,可以用来生成用户自定义的应用程序, 具有很好的结构和扩展性,而且它是不断升级的。因此开发者可以将 充裕的时间用来分析、构建业务逻辑的应用,从而能够从繁杂的底层 编码中解脱出来,大大减轻了开发人员的负担。框架通常具有如下的 特性: ( 1 ) 组成框架的类和组件,一般都提供对一些概念、方法的抽象。 ( 2 ) 框架定义了这些抽象如何协作解决问题。 ( 3 ) 框架的组件是可重用的。 ( 4 ) 框架在更高层次上组织模型。 框架通常有一组紧密关联的模块或者类,强调彼此的配合以完成 某种可以重义运用的设计概念。这些类或模块之间以特定的方式合作, 彼此不可缺少。一个框架是一个可复用的设计组件,它规定了应用的 体系结构,阐明了整个设计、协作组件之间的依赖关系、责任分配和 控制流程,表现为一组抽象类及其实例之间协作的方法,它为组件复 用提供了上下文关系。 在很多情况下,框架通常以组件库的形式出现,但组件库只是框 架的一个重要部分。框架的关键还在于框架内对象间的交互模式和控 西南交通大学硕士研究生学位论文第”页 制流模式。框架一般处在低层应用平台( 如j 2 e e ) 和高层业务逻辑之间 的中间层,它强调的是软件的设计重用性和系统的可扩充性,以缩短 大型应用软件系统的开发周期,提高开发质量f 9 】。 使用应用框架有五大优点:模块化( m o d u l a r i t y ) 、可重用性 ( r e u s a b i l i t y ) 、可扩展( e x t e n s i b i l i t y ) 、简单性( s i m p l i c i t y ) 和可维护性 ( m a i n t a i n a b i l i t y ) 。 目前基于j 2 e e 多层架构上已经开发出许多框架,这大大减轻了开 发人员的负担。在构建w e b 应用时,用户请求处理,业务逻辑处理及 数据持久化是必须重点考虑的因素,而且也是大部分应用必须具备且 较为复杂的职责。针对这三个方面,人们开发了很多框架,本文论述 的s t r u t s ,s p r i n g ,h i b e r n a t e 分别是表示层,业务逻辑层,数据持久层 上的框架 i o l 。 3 2m v o 设计模式与s tru ts 框架分析 3 2 1m v c 设计模式 m v c ( m o d e l v i e w c o n t r o l l e r ) 体系结构模式,即模型一视图一控制 器模式,是体系结构模式中重要的一种。它把一个应用的输入、处理、 输出流程按照模型,视图,控制的方法进行分离解耦。这样一个应用 被分成三个组件:模型、视图和控制l ,它们各自处理自己的任务。 ( 1 ) m o d e l :模型是应用程序的核心。它表示解决方案真正的逻辑, 采用面向对象的方法,将问题领域中的对象抽象为应用程序对象。在 这些抽象的对象中封装了对象的属性和这些对象所隐含的逻辑。 ( 2 ) v i e w :视图代表应用和与用户交互界面,视图层只负责系统处 理结果的显示和输入数据的收集,不包括业务逻辑的实现。 ( 3 ) c o n t r o l l e r :控制器是流程控制模块,是视图与模型的接口,控 制模型和视图之间的交互过程。从视图接收用户请求,分析辨别请求, 并将请求的处理结果再还给视图进行显示。控制层的实现和具体应用 无关 1 2 1 。 西南交通大学硕士研究生学位论文第12 页 3 2 2s tru t s 框架体系结构 s t r u t s 是a p a c h e 基金会j a k a r t a 项目组的一个开源项目【1 3 1 ,它采用 m v c 模式,主要由一组相互协作的类、s e r v l e t 和j s p 组成。项目的创 立者希望通过对该项目的研究,改进和提高j s p 、s e r v l e t 、标签库以及 面向对象的技术水准,有助于开发者利用j s p 和s e r v l e t 的优点更加快 速、容易的建立可扩展的多层w e b 应用。s t r u t s 按照m v c 模式的思想, 提供了一种创建w e b 应用程序的框架,对应用程序的界面表示和数据 的后端逻辑处理代码进行了抽象,整合了s e r v l e t 和j s p 在w e b 应用开 发上的优势以建立灵活、扩展性强、利用程度高的应用系统。它的目 的是为了减少运用m v c 设计模式来开发w e b 应用所花费的时间。 s t r u t s 是实现m v c 模式的一个优秀的应用框架,能够很好地帮助开发 者利用j 2 e e 开发w e b 应用。 s t r u t s 是m v c 模式的体现,下面分别从模型、视图、控制器来分 析一下s t r u t s 的体系结构。它的体系结构如图3 1 所示1 : 图3 1s t r u t s 框架体系结构 ( 1 ) 模型 s t r u t s 为模型部分提供了a c t i o n 对象和a c t i o n f o r m 对象,所有的 a c t i o n 处理器对象都是从s t r u t s 的a c t i o n 类派生的子类。a c t i o n 对象 是进行相应处理的普通类。a c t i o n 处理器对象封装了具体的处理逻辑, 调用业务逻辑模块,并且把响应提交到合适的v i e w 组件以产生响应。 a c t i o n f o r m 对象是进行相应的请求数据维护j a v a b e a n s 类,它的各种 西南交通大学硕士研究生学位论文第1 3 页 属性必须要和客户请求的各个字段名称对应,目的是完成客户请求数 据的自动化获取,也就是我们不再需要和r e q u e s t ,r e s p o n s e 对象进行 数据交互 ts l 。通过a c t i o n f o r m 对象实现了对v i e w 和m o d e l 之间交互 的支持。 ( 2 ) 视图 视图是用户看到并与之交互的界面,通过一组j s p 文件来实现。 在这些j s p 文件中没有业务逻辑,也没有模型信息,只有标签。这些 标签可以是标准的j s p 标签或客户化标签,如s t r u t s 标签库中的标签。 s t r u t s 包含扩展自定义标签库( t a g l i b ) ,可以简化创建完全国际化用户 界面的过程。目前的标签库包括:b e a nt a g s ,h t m lt a g s ,l o g i ct a g s , n e s t e dt a g s 以及t e m p l a t et a g s 等。 ( 3 ) 控制器 s t r u t s 中的控制器主要是它自身提供的a c t i o n s e r v l e t ,而 a c t i o n s e r v l e t 的核心是s t r u t s c o n f i g x m l 配置文件,它包含了所有页面 导航的定义。a c t i o n s e r v l e t 接受请求,并根据配置文件中的定义将控 制转移到适当的a c t i o n 类。其余的控制逻辑和对模型的访问由a c t i o n 类来完成( s o l 。 3 2 3s tru t s 框架核心组件 s t r u t s 包含很多组件,这些组件是s t r u t s 框架实现的关键。s t r u t s 中所使用的组件如表3 1 所示 1 6 1 。 表3 1s t r u t s 框架包含的主要组件 s t r u t s 组件作用 a c t i o n s e r v l e t控制器 a c t i o n包含业务逻辑 a c t i o n f o r m显示模块数据 a c t i o n m a p p i n g 帮助控制器将请求映射到操作 a c t i o n f o r w a r d用来指示操作转移的对象 a c t i o n e r r o r用来存储和回收错误 s t r u t s 标记库可以减轻开发表示层的工作 西南交通大学硕士研究生学位论文第1 4 页 1 a c t i o n s e r v l e t a c t i o n s e r v l e t 类是s t r u t s 框架的核心组件,它充当整个框架的控 制器。它的基本功能是截获用户的h t t p 请求,并将用户请求封装到 a c t i o n f o r m 中进行数据校验,校验成功后,将用户数据a c t i o n f o r m 传 送到相应的a c t i o n 中进行业务逻辑处理,并根据处理结果返回一个 a c t i o n f o r w a r d 对象,此对象连接到相应的j s p 页面。 2 a c t i o n a c t i o n 类是业务逻辑的一个包装,真正实现应用程序的业务逻辑, 它们负责处理请求。a c t i o n s e r v l e t 使用e x e c u t e ( ) 方法将参数化的类传 递给a c t i o n f o r m ,完成用户请求的业务逻辑,然后根据执行结果把请 求转发给其他合适的组件。通过继承a c t i o n 类来实现具体的执行类, 具体a c t i o n 类的功能一般都在e x e c u t e ( ) 方法中完成。 3 a c t i o n f o r m a c t i o n f o r m 是一个抽象类,必须通过继承来实现自己的具体类, a c t i o n f o r m 首先利用属性的g e t t e r 和s e t t e r 方法来实现初始化。初始 化完毕之后,a c t i o n f o r m 的v a l i d a t e ( ) 方法被调用,可以在其中来检查 请求参数的正确性和有效性,并且可以将错误信息以a c t i o n e r r o r s 的 形式返回到输入窗体。如果通过v a l i d a t e 方法的验证,a c t i o n f o r m 将 被作为参数传给具体a c t i o n 类的e x e c u t e ( ) 方法以供使用。 4 a c t i o n m a p p i n g a c t i o n m a
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高中一年级信息技术教学设计:数据、信息与知识的概念辨析与内在联系
- 小学四年级综合实践活动学会合作专题教学设计
- 高三化学一轮复习“化学与学科基本素养”教学设计
- 乡村产业配套厂房项目规划选址论证报告
- 小学四年级综合实践活动《学会读书》教学设计
- 小学五年级综合实践活动纸雕花球创意制作教学设计
- 小学五年级综合实践活动《路灯巧设计-生活中的灯活动二》教学设计
- 高中一年级信息技术《感受人工智能的魅力》教学设计
- 高一化学初升高衔接课氯及其化合物教学设计
- 水上活动场所电气安全防护技术方案
- 土壤有效钼含量检测方法验证
- 1.1 1-5数的认识(课件)数学青岛五四版一年级上册(新教材)
- 医院精神二类药品管理
- 2025林业碳汇计量监测技术规程
- 统编版(2024)八年级上册历史全册教材问题参考答案
- 《无人机飞行控制技术》全套教学课件
- 卡西欧手表 PRG-130(3206)说明书
- 工程勘察设计收费标准(2024年修订本)完整版
- 高等代数一课程教学大纲
- 公司TRD施工方案
- FZ/T 81007-2022单、夹服装
评论
0/150
提交评论