




已阅读5页,还剩90页未读, 继续免费阅读
(计算机科学与技术专业论文)一个j2ee架构下的在线增值业务系统的研究实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 摘要 为了寻求新的收益来源,传统的运营商将目光转向潜力巨大的增值业务市 场,增值业务市场进一步细化,竞争加剧。如何将增值业务资源整合起来形成 一种新的共赢的商业模式成了运营商的主要任务,而支撑这一运营模式的核心 问题就是建立一个统一可靠的计费系统,该系统应该能够迅速的整合集成第三 方服务提供商提供的增值服务,能够做到统一灵活的业务配置,并适应多种资 费模式,以支撑运营商增值业务的良好运营。 本文研究介绍的增值业务平台就是为上述目标而设计。该项目是应北京某 增值业务运营商的要求而开发的一套增值业务统一管理的平台。它包括四大部 分,增值业务卡管理;会员管理;会员统计及会员账户信息查询;增值服务提 供商管理。该平台除了整合自己公司开发的上述子系统外,根据需要,还可以 整合其他公司提供的资源和系统,将极大的增强该公司对增值业务的拓展和管 理能力。 5 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 u n 公司提出的一个获得广泛认可的、面向对象的大型 应用开发平台,其s t r u t s + s p r i n g + h i b e r n a t 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 架构能够减轻开发者处理复杂的问题的 负担( “不重复发明轮子”) ;内部定义为可扩展的,能够实现灵活的业务配置: 有一个强大的用户群支持。开发出的系统具有跨平台性( “一次开发,到处运 行”) ;运行可靠性、安全性高。 该平台上的压力测试和一年多的平稳运行,证明了该系统的高效和实用的。 关键词:j 2 e e ,s t r u t g ,s p r i n g ,h i b e r n a t e ,增值服务 a b s t r a ( 了r a b s t r a c t i no r d e rt os e e kn e wi n c o m es o u r c e ,t h et r a d i t i o n a lo p e r a t o r sc o m et os h i f t t h e i re y e so nv a l u e a d d e db u s i n e s s e sw h i c hh a v ep o t e n t i a lm a r k e t v a l u e - a d d e d b u s i n e s sm a r k e t ,h o w e v e r , w a sf u r t h e rr e f i n e m e n t e dd i v i d e da n df u l lo fm o r e i n t e n s i v ec o m p e t i o n s t h ef i r s tt a s kc o n f r o n t e db yt r a d i t i o n a lo p e r a t o r si sh o wt o b u i l du par e l i a b l ec h a r g i n gp l a t f o r m t i l i ss y s t e mc a ni n t e g r a t et h ev a l u e - a d d e d b u s i n e s so r d e r e db yt h et h i r dp a r t i e so fi s p f o rt h eg o o dd e v e l o p m e n to ft h e v a l u e a d d e db u s i n e s s ,t h es y s t e mc a nd ot h eo p e r a t i o n a lc o n f i g u r a t i o na n da d a p t m a n yb i l l i n gm o d e s t h ec h a r g i n gp l a t f o r mi n t o r d u e c db yt h i sp a p e ri sd e s i g n e df o rt h e s eg o a l s d e s c r i b e da b o v e t h i sp l a t e f o r mi si n t e n d e dt om e e tab e i j i n go p e r a t o rd e m a n d s f o ru n i f i yv a r o u sv a l u e - a d d e db u s i n e s ss e r v i c e ,w h i c hc o n s i s t so ff o u rm a i n c o m p o n e n t s 1 :b u s i n e s sc a r dm a n a g e m e n t t h i sm o d u li sd e s i g n e df o ri s s u i n g t h ec a r da n dr e v i s i n gv a r i o u ss t a t e so ft h ec a r d v a r i o u si n q u i r yo ft h ec a r da r e a l s oo p e r a t e di n t h i sm o d u l e 2 :b u s i n e s sm e m b e r sm a n a g e m e n t t h i sm o d u li s d e s i g n e df o rm a n a g i n gt h em e m b e r sr e g i s t r a i t o na n dl o go f f , t h ei n f o r m a t i o n m a i n t a i n c e ,t h ec a r db i n d i n ga n dt h ea c c o u n t ss e a r c ha r ea l s of u l l f i l l e di nt h i s m o d u l e 3 :s e r v i c ep r o v i d e r sm a m a g e m e n t t h i sm o d u l em a i n t a i n t h es e r v i c e p r o v i d e r si n f o r m a t o n sa n dv a r i o u si n f o r m a t i o no f i t sp r o v i d e ds e r v i c e 4 :p a y m e n t m a n g a e m e n t t h i sm o d u l ec a np r o v i d ev a r i o u ss e a r c ho fc h a r g ei n f o r m a t i o ni n t h ep l a t f o r m a n ys e r v i c ec a nb ee a s i l yi n t e g r a t e d i n t ot h i sp l a t e f o r mi fo n l yi t s s e r v i c ec o m p l y s 、i t ht h ec o r r e s p o n d i n gf o r m a t s t r u t s + s p r i n g + h e b e n a t ef r a m e w o r ku n d e rj 2 e ep l a t e f o r ma d o p t e di n t h i s s y s t e md e v e l o p m e n t j 2 e ei s aj a v ad e v e l o p m e n tw h i c hi sp r o d u c e db ys u n a n d a c q u i r ee x t e n s i v ea p p r o b a t i o no fd e v e l o p e r i ti sf a r m o u so f o o pa n d a b i l i t yo f “d e v e l o po n c e ,c i r c u l a t ee v e r y w h e r e s t r u t s + s p r i n g + h e b e n a t ea l s oi s a t p r e s e n tv e r yp o p l u a r0s t r u c u t u r ef o rl a g ew e bd e v e l o p m e n t ,i tc a l lr e d u c et h e d e v e l o p e rp r o c e s s i n gb u r d e n t ( n o ti n v e n tt h ew h e e la g a i n ) o ft h ec o m l p l i c a t e d i t 一。 ! 塑璺! ! 蔓! 兰! 一一 _p_-_-_h_i-l_-_-_-一一一 p r o b l e ma n dd e a lw i t ha l lk i n d so fp r o b l e m se a s i l y i no r d e rt oi m p l e m e n tt h e v a r i o u so p e r r a t i o n a lc o n f i g u r a t i o n s ,l ci n t e n a lo ft h i sp l a t f o r mi sd e f i n e dt ob e e x t e n s i b l e ;a n d i t a l s oh a sa h u g e n u m b e ro fu s e r s s o i ti s a c r o s s - p l a t f o r m ,r e l i a b l ea n ds e c u r i t ys y s t e m t h e e x p a n d i b i l i t y , a d a p t i b i l i t ya n dr e l i a b i l i t yo f t h i ss y s t e ma l s oc a nb e v a l i d a t e db yw e bs t r e s st e s ta n do n e - y e a rp r a t i c eo nt h i sp l a t e f o r m k e yw o r d s :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 ,v a l u e a d d e db u s i n e s s i i i 学位论文版权使用授权书 本人完全了解同济大学关于收集、保存、使用学位论文的规定, 同意如下各项内容:按照学校要求提交学位论文的印刷本和电子版 本;学校有权保存学位论文的印刷本和电子版,并采用影印、缩印、 扫描、数字化或其它手段保存论文;学校有权提供目录检索以及提供 本学位论文全文或者部分的阅览服务;学校有权按有关规定向国家有 关部门或者机构送交论文的复印件和电子版;在不以赢利为目的的前 提下,学校可以适当复制论文的部分或全部内容用于学术活动。 学位论文作者签名:噶磊 沙驴年? 月了日 经指导教师同意,本学位论文属于保密,在年解密后适用 本授权书。 指导教师签名:学位论文作者签名: 年月日年月日 同济大学学位论文原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师指导下,进行 研究工作所取得的成果。除文中已经注明引用的内容外,本学位论文 的研究成果不包含任何他人创作的、已公开发表或者没有公开发表的 作品的内容。对本论文所涉及的研究工作做出贡献的其他个人和集 体,均已在文中以明确方式标明。本学位论文原创性声明的法律责任 由本人承担。 签名:葛 h 8 年3 月j日 第1 章引言 第1 章引言 1 1 系统研究的背景与意义 电信增值业务成为新的利润增长点。电信业现在普遍面临一个传统业务趋 于稳定甚至饱和,期待开发出新的业务增长点,以增加原有客户的a r p u 值,提 高用户的忠诚度的局面。增值业务就是这个被所有运营商看好的新的增长点。 电信现有的增值业务从大的方面分,有语音增值、小灵通增值、互联网增值三 部分。其中互联网增值的含义很广泛,从i s p 、i c p 开始,互联网的增值业务一 直被认为是互联网将来真正的价值所在,宽带网络的兴起加剧了互联网增值服 务的竞争。传统的网络增值服务大多是资源型的增值。包括:存储服务、备份 服务、c a c h e 服务、安全服务、负载均衡等,此部分业务也就是现在数据中心 i d c 的主要功能。互联网增值业务一般有视频点播v o d 、网络电话v o i p 、语 音上网、远程医疗、远程教育等。比较成功的案例有:中国电信的互联星空、 北京四中网校等。 电信增值业务市场前景广阔。从c n n i c 公布的第十六次统计结果来看,在 我国上网用户经常使用的网络服务中,电子邮箱占9 1 3 ,搜索引擎占6 4 5 , 新闻浏览占7 9 3 ,但真正能够体现宽带网络价值的,如视频点播v o d 、网上 教育、网上购物等宽带增值业务应用所占比例分别为3 7 8 、1 0 6 、1 9 6 。 由此可见,目前宽带增值服务应用所占比例远不及在窄带网络上也可以实现的 基础业务价值应用,宽带增值业务发展相对滞后。如何提高活跃用户数,吸引 更多的用户来使用电信推出的增值业务,给电信带来更多的收益是摆在电信面 前急迫的问题。 电信增值业务亟需发展。增值业务平台,其内涵是充分利用中国电信的用 户资源、网络资源、应用支撑平台资源、营销网络、客户服务和宣传渠道等资 源,营造互联网产业良性发展的生态环境,积极推动互联网产业链的可持续发 展,创造互联网服务新的商业模式,通过聚合服务供应商的内容和应用,为互 联网用户提供丰富多彩的信息应用服务,实现用户、i s p i c p 和运营商的多方 共赢。增值业务系统主要的建设目标就是建设一个统一的平台、建设统一的用 第1 章引言 户门户,完成多s p 业务及自营业务的统一管理,为最终用户提供统一的服务平 厶 【2 】 口o 1 2 系统研究的国内外现状 在运营商大力发展增值业务的同时,不仅仅给设备制造厂商,s p 和c p 带 来了很大的商机,对增值运营服务商来说,如何设计出能有效整合各种增值业 务的增值业务管理平台成了一块值得全力一拼的市场。 在国外由于这方面的研究开展的比较早,很多厂商都设计出了性能优越的 比较成熟的产品,技术上也采用比较成熟的b s 三层架构的模式,设计出的平 台具有很好的整和性和跨平台性。在国内虽然很多厂商都看到这块领域的商机, 纷纷研制自己的增值平台,但在技术上只是将比较老的c s 或b s 的两层模型 改进后应用于增值业务,设计出的平台往往不能有效的管理各种增值业务。且 在数据量大和并发请求多的情况下,其应用的速度会大大降低。并且还容易导 致系统瘫痪。3 和国内相比,国外设计的增值平台具有操作简单、界面友好的特点,业务 流程非常清晰,管理非常规范。但是因为国内外电信业务的不同,所以他们的 面向对象的设计思想也不尽相同。所以一味的照搬国外设计好的平台也不能适 应中国的增值服务,必须根据实际需要,参照国外的先进思想和技术自主研发 才能够设计出比较优秀增值业务平台。h 1 1 3 系统研究的主要内容和特点 1 3 1 研究内容 本课题是应北京某增值运营商的要求,对增值业务平台的工作原理、架构、 客户需求和工作流程特点展开研究,概括起来,研究的主要内容包括以下几个 方面: 1 、分析研究增值业务平台的工作原理、客户需求和工作流程特点; 2 、系统中s t r u t s 框架和s p r i n g 、h i b e r n a t e 技术在增值业务平台的w e b 应用表 示层、逻辑层和服务层中的实现; 3 、x m l 技术在增值平台的各种配置文件中的应用; 2 第1 章引言 4 、基于计费信息的决策树挖掘进行客户流失预测; 1 3 2 项目实现特点 采用s u n 公司的j 2 e e 作为该系统的应用平台,并结合最新发展的 s t r u t s + s p r i n g + h i b e m a t e 的开源架构,开发出具有高度可维护性、可重用性、可 扩展性和安全性的应用系统。具体的讲,有如下几点: 1 、将s u n 公司提出的j 2 e e 平台运用到该系统中,构造合理的多层架构; 2 、将当今w e b 开发传统的s t r u t s 技术以及最新的s p r i n g 和h i b e m a g e 技术分 别运用于系统的表示层、业务逻辑层、服务层。构建开放式的多层结构; 3 、将x m l 技术运用于系统,作为主要数据表示格式,以提供其它系统兼容过程 中的数据兼容; 4 、优化该增值业务平台的性能,提高系统的可维护性、可重用性、可扩展性和 安全性; 1 4 论文的组织结构 第一章引言,讨论增值业务系统的的研究背景和意义、系统研究的主要内 容和目标、系统研究的国内外现状;第二章介绍了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 这些框架的介绍和主要特性及优缺点 的讨论;第三章对系统实现过程中的需求分析和概要设计包括数据库设计部分 进行了详细描述;第四章对系统的详细设计和实现进行了阐述;第五章进行了 系统的功能和压力测试;第六章基于决策树c 4 5 算法进行了数据挖掘,对客户 进行了流失预测分析;第七章对全文进行了总结和展望。 第2 章系统的关键技术 2 1j 2 e e 2 1 1j 2 e e 概述 第2 章系统的关键技术 j 2 e e 是s u n 公司推出的用于开发企业应用的多层、分布式应用体系结构。 它的主要技术目标是为企业应用系统提供一个具有高度可移植性和兼容性、安 全性的平台。它具有强大的移植和分布式以及事务处理功能。j 2 e e 已经成为当 今企业w e b 应用开发的标准瞄1 。 当今,企业为了扩展他们的业务范围,吸引更多的客户。必须给客户提供 更优质的服务,这些服务必须具有以下特点:刚 1 、高可用性:以满足现在的全球商业环境 2 、安全性:保护用户的隐私和企业数据的安全 3 、可依赖性和可扩展性:保证商业交易的正确和迅捷 最初这些服务是由两层的应用( 也称为客户服务器或c s 结构) 来实现的。 图2 1 表示的就是一个典型的两层体系。在c s 结构中,服务器往往只提供单 一的数据库服务:客户端负责数据的输入输出、各种复杂的应用业务逻辑控制。 c s 的体系在开始的时候很容易配置,但难于升级或者扩展,而且通常基于私 有的协议一一典型的是私有的数据库协议。商业和表现逻辑的重新使用也很困 难。而且c s 结构的系统中大多要开发独立的客户端程序,后期的客户端升级 和维护等都会耗费大量的网络和系统资源,且客户端的安装、升级和维护过程 都需要用户的参与,增加了用户的负担。客户端获取数据以及w e b 服务器和数 据库的混合部署都会导致数据的不安全。另外在w e b 领域中,可能最重要的就 是扩展,而两层的应用不便于升级扩展,因此c s 结构并不适合用在广域网尤 其是i n t e m e t 中的应用。 4 笫2 章系统的关键技术 r e q u e s t 一 图2 1c s 两层应用架构 j 2 e e 的出现正好解决了两层体系中的不足。j 2 e e 平台使用了一个多层的分 布式应用程序模型。应用程序的逻辑根据其实现的不同功能被封装到组件中, 组成j 2 e e 应用程序的大量应用程序组件根据其所属的层被安装到不同的机器 中。图2 2 描述了一个分布式j 2 e e 应用程序,它可以分为如下四层:口 5 第2 章系统的关键技术 i 协愚r u 一 o 卜b e 删3 8 一 | 【:胁= 0 需要兼容的数据库与系绕一 2 1 2j 2 e e 的关键技术 图2 2j 2 e e 所实现系统结构图 目前j 2 e e 主要由以下几种关键技术组成,现介绍如下: l 、e j b o e j b ( e n t e r p r i s ej a v ab c a n s ) 是j a v a 服务器端服务框架的规范,软件厂商根 据它来实现e j b 服务器。应用程序开发者可以专注于支持应用所需的商业逻辑, 而不用担心周围框架的实现问题。它提供了个框架来开发和实施分布式商务 逻辑,因此显著地简化了具有可伸缩性和高度复杂的企业级应用的开发。它同 6 固固 第2 章系统的关键技术 时又定义了e j b 组件在何时如何与它们的容器进行交互作用。容器负责提供公 用的服务,例如目录服务、事务管理、资源缓冲池等。叫 2 、j s p j s p 页面由h t m l 代码和嵌入其中的j a v a 代码所组成。服务器在页面被客 户端所请求以后对这些j a v a 代码进行处理,然后将生成的h t m l 页面返回给客 户端的浏览器。 3 、j a v as e r v l e t j a v a s e r v l e t 是一种小型的j a v a 程序,它能扩展w e b 服务器的功能。作为一 种服务器端的应用,当被清求时开始执行,这和c g i 的p e r l 脚本很相似。它由 j a v a 写成并生成h t m l 页面。 4 、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 全名叫扩展标记语言,它是一种可以用来定义其它标记语言的语言。 被用来在不同的商务过程中共享数据。x m l 的发展和j a v a 是相互独立的,但 是,它和j a v a 具有的相同目标正是平台独立性。通过将j a v a 和x m l 的组合, 您可以得到一个完美的具有平台独立性的解决方案。 5 、j d b c ( j a v ad a t e b a s ec o r m e e t i v i t y ) j d b ca p i 通过定义的几个数据库访问的类和接口,为访问不同的数据库提 供了种统一的途径,用以建立数据库连接生成语句。像o d b c 和o l e d b 一 样,j d b c 对开发者屏蔽了一些细节问题;另外,j d b c 对数据库的访问也具有 平台无关性,并且支持数据库连接池。 2 2j 2 e e 架构 2 2 1j 2 e e 主流架构 j 2 e e 技术目前发展的主流架构是s t r u t s 、s p r i n g 、t a p e s t r y - - - 种。 7 第2 章系统的关键技术 s t r u t s 就是一个优秀的基于m v c 的架构。它通过一系列的a c t i o n ,a c t i o n f o r m 或者后面的s p r i n g 里面封装的各种j a v ab e a n 来实现模型。通过它的标记库来实现 视图,通过它的s r t u t s - c o n f i g x m l 配置文件实现控制。 s t r u t s 是a p a c h e 基金会j a k a r t a 项目组的一个o p e ns o u r c e 项目,它能够 很好地帮助j a v a 开发者利用j 2 e e 开发w e b 应用。和其他的j a v a 架构一样,s t r u t s 也是面向对象设计,将m v c 模式”分离显示逻辑和业务逻辑”的能力发挥得淋 漓尽致。s t r u t s 框架的核心是一个弹性的控制层,基于如j a v as e r v l e t s , j a v a b e a n s ,r e s o u r c e b t m d l e s 与x m l 等标准技术,以及j a k a r t ac o m m o n s 的一 些类库。s t r u t s 有一组相互协作的类( 组件) 、s e r l v e t 以及j s pt a gl i b 组成。基于 s t r u t s 构架的w e b 应用程序基本上符合j s pm o d e l 2 的设计标准,可以说是一个 传统m v c 设计模式的一种变化类型。s t r u t s 有其自己的控制器( c o n t r o l l e r ) , 同时整合了其他的一些技术去实现模型层( m o d e l ) 和视图层( v i e w ) 。在模型 层,s t r u t s 可以很容易的与数据访问技术相结合,如j d b c e j b ,以及其它 第三方类库,如h i b e r n a t e i b a t i s ,或者o b j e c tr e l a t i o n a lb r i d g e ( 对象关系 桥) 。在视图层,s t r u t s 能够与j s p ,包括j s t l 与j s f ,以及v e l o c i t y 模板, x s l t 与其它表示层技术。s t r u t s 为每个专业的w e b 应用程序做背后的支撑, 帮助为你的应用创建一个扩展的开发环境。本系统的设计与实现也采用了这种 传统的s t r u t s 架构。s t r u t s 架构图2 3 如下: r e o r g y 图2 3s t r u _ t s 体系结构图 2 2 2s t r u t s 架构的主要类和标记库 第2 章系统的关键技术 1 、类和配置文件 1 ) s t r u t s c o n f i g x m l 配置文件:它是s t r u t s 框架的控制器。它整合了s t r u t s 的所 有组件。它是连接a c t i o n 、表单、j s p 页面的一个共同点。通过它内部的 a c t i o n _ f o r mb e a n 来得到用户请求的各种参数。通过a c t i o l l m a p p i n g 把不同j s p 页面的请求跳转到相应的a c t i o n 类来处理。 2 ) a c t i o n s e r v l c t 类:s t r u t s 框架的控制器组件,是j a v a x s e r v l e t ,h t t p h t t p s e r v l e t 类的扩展。它负责截获用户的h r r p 请求,并把这个请求映射到相应的a c t i o n 类,同时可以创建或发现一个a c t i o n f o r mb e a n 实例( 看配置文件是否定义) ,然 后将请求过程移植到b e a n 。 3 ) a c t i o n m a p p i n g 类:将特定请求映射到特定a c t i o n 的相关信息存储在 a c t i o n m a p p i n g 中,a c t i o n s e r v l e t 将a c t i o n m a p p i n g 传送到a c t i o n 类的p e r f o r m0 方法,a c t i o n 将使用a c t i o n m a p p i n g 的f i n d f o r w a r d 0 方法,此方法返回一个指 定名称的a c t i o n f o r w a r d ,这样a c t i o n 就完成了本地转发。若没有找到具体的 a c t i o n f o r w a r d ,就返回一个n u l l 。 4 ) a c t i o n 类:a c t i o n 类真正实现应用程序的事务逻辑,它们负责处理请求在收 到请求后,a c f i o n es e t - v l e t 会为这个请求选择适当的a c t i o n ,如果需要,则创建 a c t i o n 的一个实例调用a c t i o n 的p e r f o r m0 方法。 5 ) a c t o i n f o r m 类:s t r u t s 将h t m l 表单与为表单操作而定义的a c t i o n f o r mb e a n 紧密联系在一起。表单输入字段的名称与a c t i o n f o r mb e a n 里定义的属性名称是 对应的。当第一次显示表单时,表单的输入字段是从a c t i o n f o r mb e a n 中移植过 来的,当表单被提交时,请求参数将移植到a c t i o n f o r mb e a n 实例。 6 ) a c t i o n f o w r a r d 类:它通过控制器将a c t i o n 类的处理结果转发到目的地。a c t i o n 类获得a c t i o n f o r w a r d 实例的旬柄,通过f i n d f o r w a r d 方法返回到相应的 a c t i o n s e r v l e t 。 7 ) 错误处理类:s t r u t s 提供了两个类来处理错误:a c t i o n e r r o r s 和a e t i o n e r r o r , 它们都扩展o r g a p a c h e s t r u t s a c t i o n 。a c t i o n e r o r r s 保存着a c t i o n e r r o r 对象的集合, 9 第2 章系统的关键技术 其中每一个代表了独立的错误信息。每个a c t i o ne r r o r 都包含了关键字,能够映 射到资源文件中存储的错误信息,而这个资源文件是在a c t i o n s e r v l e t 初始化参 数中指定的。 2 、架构标记库 s t r u t s 标记库是s t r u t s 框架中很大的一部分。它简化了v i e w 组件o s p 页面) 的开发,并将v i e w 与框架的其他部分衔接在一起。 1 ) b e a n 标记:这个标记库中包含用于定义新b e a n 、访问b e a n 及其属性的标记。 s t r u m 框架提供了多种自定义标记用来在j s p 页中处理j a v a b e a n 。这些标记被 封装在一个普通的标记库中,在文件s t r u t s b e a n t l d 中定义了它的标记库描述 器。b e a n 标记库将标记定义在四个子类别中,创建和复制b e a n 的标记、脚本 变量定义标记、b e a n 翻译标记、消息国际化标记。 2 ) 逻辑标记:逻辑标记能够用来处理外观逻辑而不需要使用s c r i p f l e t 。s t r u t s 逻 辑标签库包含的标记能够有条件地产生输出文本,在对象集合中循环从而重复 地产生输出文本,以及应用程序流程控制。它也提供了一组在3 s p 页中处理流 程控制的标记。这些标记封装在文件名为s t r u t s - l o g i c f l d 的标记包中。逻辑标 记库定义的标记能够执行下列三个功能,条件逻辑、重复、转发重定向响应。 3 ) h t m l 标记:用来生成h t m l 标记,在表单中显示数据,使用会话i d 对u r l 进行编程。它封装在文件名为s t r u t s - h t m l r i d 的标记包中。常用的如 、 、 h t m l :h i d d e n ) 、 和( h l r n l :o p f i o n ) 、 等标记, 在传统h t m l 中定义的八个f o r m 表单的元素在h t m l 系列标记中都有对应的标记。 其实现的功能和传统h t m l 中定义的基本相同。 4 ) 模板标记:它使用动态模板构造普通格式的页。该标记主要用于模块化w e b 页布局设计,可以统一多个页面或整个网站的风格,方便维护。类似于传统j s p 页面中的i n c l u d e 标记指令。封装在文件名为s t r u t s - t e m p l a t e f l d 的标记包中。呻1 2 2 3s p rin g 架构 1 0 , 第2 章系统的关键技术 s p r i n g 是一个轻量级的容器,同时也是一个开源框架,是为了解决企业应 用程序复杂性而创建的。框架的主要优势就是期分层结构,s p n n g 就是一个分 层结构,由七个定义良好的模块组成。如下图2 4 所示:n 们 固 回 回 固 图2 4s p r i n g 的分层结构 组成s p r i n g 框架的每个模块( 或组件) 都可以单独存在,或者与其他一个或 多个模块联合实现。每个模块的功能如下: 1 、核心容器:核一t l , 容器提供s p r i n g 框架的基本功能。核心容器的主要组件是 b e a n f a c t o r y ,它是工厂模式的实现。b e a n f a c t o r y 使用控制反转( i c 0 ) 模式将应 用程序的配置和依赖性规范与实际的应用程序代码分开。 2 、s p r i n g 上下文:s p r i n g 上下文是一个配置文件,向s p r i n g 框架提供上下文信 息。s p r i n g 上下文包括企业服务,例如j n d i 、e b j 、电子邮件、国际化、校验 和调度功能。 3 、s p r i n ga o p :通过配置管理特性,s p r i n ga o p 模块直接将面向方面的编程功 能集成到了s p r i n g 框架中。所以,可以很容易地使s p r i n g 框架管理的任何对象 支持a o p 。s p r i n ga o p 模块为基于s p r i n g 的应用程序中的对象提供了事务管理 服务。通过使用s p r i n ga o p ,不用依赖e j b 组件,就可以将声明性事务管理集 成到应用程序中。 第2 章系统的关键技术 4 、 s p n n gd a o :j d b cd a o 抽象层提供了有意义的异常层次结构,可用该结 构来管理异常处理和不同数据库供应商抛出的错误消息。异常层次结构简化了 错误处理,并且极大地降低了需要编写的异常代码数量( 例如打开和关闭连接) 。 s p r i n gd a o 的面向j d b c 的异常遵从通用的d a o 异常层次结构。 5 、s p r i n go r m :s p r i n g 框架插入了若干个o r m 框架,从而提供了o r m 的对 象关系工具,其中包括j d o 、h i b e r n a t e 和i b a t i ss q lm a p 。所有这些都遵从s p r i n g 的通用事务和d a o 异常层次结构。 6 、s p r i n gw e b 模块:w e b 上下文模块建立在应用程序上下文模块之上,为基于 w e b 的应用程序提供了上下文。所以,s p r i n g 框架支持与j a k a r t as t r u t s 的集成。 w c b 模块还简化了处理多部分请求以及将请求参数绑定到域对象的工作。 7 、s p r i n gm v c 框架:m v c 框架是一个全功能的构建w e b 应用程序的m v c 实 现。通过策略接口,m v c 框架变成为高度可配置的,m v c 容纳了大量视图技 术,其中包括j s p 、v e l o c i t y 、t i l e s 、i t e x t 和p o i 。 s p r i n g 之所以流行,就是因为它采用了依赖注入( i o c ) 和面向对象编程 a o p 的技术。使得它很容易的实现j a v ab e a n 的重用和程序代码的读写测试。 依赖注入( i o c ) 就是指不创建对象,但是描述创建它们的方式。在代码中 不直接与对象和服务连接,但在配置文件中描述哪一个组件需要哪一项服务。 容器( 在s p r i n g 框架中是i o c 容器) 负责将这些联系在一起。i o c 容器的核心是 o r g s p r i n g f r a m e w o r k b a e n s 包,它的设计目标是与j a v a b e a n 组件一起使用。这 个包通常不是由用户直接使用,而是由服务器将其用作其他多数功能的底层中 介。下一个展高级抽象是b e a n f a c t o r y 接i z i ,它是工厂设计模式的实现,允许通 过名称创建和检索对象。b e a n f a c t o r y 也可以管理对象之间的关系。 面向方面的编程,即a o p ,是一种编程技术,它允许程序员对横切关注点 或横切典型的职责分界线的行为( 例如同志和事务管理) 进行模块化。a o p 的核 心构造是方面,它将那些影响多个类的行为封装到可重用的模块中。a o p 和t o c 是补充性的技术,它们都运用模块化方式解决企业应用程序开发中的复杂问题。 在典型的面向对象开发方式中,可能要将日志记录语句放在所有方法和j a v a 类 1 2 第2 章系统的关键技术 中才能实现日志功能。在a o p 方式中,可以反过来将日志服务模块化,并以声 明的方式将它们应用到需要日志的组件上。当然,优势就是j a v a 类不需要知道 日志服务的存在,也不需要考虑相关的代码。所以,用s p r i n g a o p 编写的应用 程序代码是松散耦合的。a o p 的功能完全集成到了s p r i n g 事务管理、日志和其 他各种特性的上下文中n 。 2 2 4 川b e r n a t e 框架 h i b e r n a t e 是一个优秀的开放源代码的j a v a 对象持久层轻量级封装框架, 它对j d b c 进行了非常轻量级的对象封装,使得j a v a 程序员可以随心所欲的使 用对象编程思维来操纵数据库。他的工作原理是通过文件把值对象和数据库表 之间建立起一个映射关系,这样,只需要通过操作这些值对象和h i b e r n a t e 提供 的一些基本类,就可以达到使用数据库的目的。例如,使用h i b e r n a t e 的查询, 可以直接返回包含某个值对象的列表( l i s t ) ,而不必向传统的j d b c 访问方式一 样把结果集的数据逐个装载到一个值对象中,为编码工作节省了大量的劳动。 h i b e r n a e t e 提供的h q l 是一种类s q l 语言,他和e i b o l 样都是提供对象化 的数据库查询方式,但h q l 在功能和使用方式上都非常接近于标准的s q l 。n 2 1 h i b e r n a t e 极大地减少数据持久化相关的编程工作量,消除或者封装那些针 对特定厂商的s q l 代码,并且使数据结果集从表格的形式转换成一系列的对 象,从而实现业务逻辑的计算与流程控制。h i b e r n a t e 可咀应用在任何使用j d b c 的场合,既可以在j a v a 的客户端程序实用,也可以在s e r v l e t j s p 的w 曲应用 中使用,最具革命意义的是,h i b e r n a t e 己经在j e e e 架构中取代c m p ,成为数 据持久层,完成数据持久化的重任。 h i b e r n a t e 的完整的体系结构图2 5 所示: 1 3 第2 章系统的关键技术 图2 5h i b e r n a t e 体系结构图 通过上图可以看到应用程序通过h i b e r n a t e 与数据库发生关系,对数据进行 操作。h i b e r n a t e 自身通过p r o p e r t i e s 和类的映射文件( m a p p i n gx m l ) 将类映射到 数据库的行。因此a p p l i c a t i 0 1 1 ( 客户端) 可以通过持久化的对象类直接访问数据 库,而不必使用j d b c 和s o l 进行数据的操作n 引。映射描述文档( x m lm a p p i n g ) 是一个x m l 格式的文本,由开发人员根据h i b e r n m e 定义的映射规则定制。文 档描述了如何将对象映射到数据库表,将类中的属性( f l e d ) 映射到数据表中的 字段,以及对象之间关系的映射等。编译的文档在系统启动时生成相应的数据 库表信息。p r o p e r t i e s 是一个配置文件,因为对象最终被映射到数据库中, h i b e r n a t e 框架必须能处理各种不同的数据库。目前大多数的主流数据库,如 o r a c l e 、d b 2 、s q ls e r v e r 、m y s q l 等等都被很好的支持。 2 3 本系统所使用的开源架构 2 3 1 开源架构概述 j a v a 是当今很流行的网络编程语言,但在建造一个中大规模的w e b 应用 程序时,也要在在编写这个应用程序时综合考虑以下问题: 1 、如何建立用户接e l ( u s e r i n t e r f a c e s ) 1 4 第2 章系统的关键技术 2 、怎样处理业务逻辑 3 、如何处理持久化应用数据 这就是我们常说的三层结构,前台表示层,业务逻辑层和后台服务层。这 三层每一层都有它们各自的问题需要解决。如各个层次应该使用什么技术才能 把应用程序设计得松耦合和能灵活改变,构架允许层的替换不会影响到其它层 吗,应用程序能够方便的处理容器级的服务( c o n t a i n e rl e v e ls e r v i c e s ) ,例如事务 处理( t r a n s a c t i o n s ) 。1 4 1 这是为w e b 应用程序创
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年事业单位工勤技能-江苏-江苏保健按摩师四级(中级工)历年参考题库含答案解析(5套)
- 2025年事业单位工勤技能-广西-广西地图绘制员五级(初级工)历年参考题库含答案解析
- 2025年事业单位工勤技能-广东-广东热处理工一级(高级技师)历年参考题库含答案解析
- 2025年事业单位工勤技能-广东-广东机械热加工四级(中级工)历年参考题库典型考点含答案解析
- 2025年事业单位工勤技能-广东-广东地质勘查员五级(初级工)历年参考题库典型考点含答案解析
- 2025年事业单位工勤技能-广东-广东保育员五级(初级工)历年参考题库含答案解析
- 2020-2025年初级经济师之初级建筑与房地产经济通关题库(附答案)
- 2025年驾驶证考试-客车理论考试-客车驾驶证(科目一)历年参考题库含答案解析(5套)
- 2025年职业技能鉴定-铁路职业技能鉴定-铁路职业技能鉴定(铁路钢轨探伤工)技师历年参考题库含答案解析(5套)
- 2025年职业技能鉴定-铁路职业技能鉴定-变电值班员(初级工)历年参考题库含答案解析(5套)
- GB/T 18029.7-2009轮椅车第7部分:座位和车轮尺寸的测量
- FZ/T 01034-2008纺织品机织物拉伸弹性试验方法
- 《百团大战》历史课件
- 脓毒症诊断和治疗进展课件
- 马克思主义基本原理课件- (全套完整课件)全版
- 【优秀】脑膜瘤护理查房课件
- 初中数学教材解读人教八年级上册(2023年修订)第十三章轴对称等边三角形 导学案
- GB∕T 3480.3-2021 直齿轮和斜齿轮承载能力计算 第3部分:轮齿弯曲强度计算
- 社区居民信息登记卡
- 小金库治理-PPT优秀课件
- 水稳层施工方案(完整版)
评论
0/150
提交评论