(控制理论与控制工程专业论文)基于struts、spring和hibernate的帐票系统的设计与实现.pdf_第1页
(控制理论与控制工程专业论文)基于struts、spring和hibernate的帐票系统的设计与实现.pdf_第2页
(控制理论与控制工程专业论文)基于struts、spring和hibernate的帐票系统的设计与实现.pdf_第3页
(控制理论与控制工程专业论文)基于struts、spring和hibernate的帐票系统的设计与实现.pdf_第4页
(控制理论与控制工程专业论文)基于struts、spring和hibernate的帐票系统的设计与实现.pdf_第5页
已阅读5页,还剩52页未读 继续免费阅读

(控制理论与控制工程专业论文)基于struts、spring和hibernate的帐票系统的设计与实现.pdf.pdf 免费下载

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

文档简介

大连理工大学硕士学位论文 摘要 随着计算机技术和网络技术的飞速发展,世界进入了前所未有的全球信息化时代, 企业信息化成为企业现代化管理的标志。开发伸缩性强、可维护性、可扩展性、可重用 性和易管理性的w e b 应用是当前w c b 技术发展的热点之一。本文开发了一个基于w e b 应用的b r o w s e s e r v e r 结构的电子帐票系统,取代了基于客户朋艮务器( c l i e n t s e r v e r ) 结构 的原有系统。所谓的电子帐票系统,就是把传统的纸质帐票电子化,用计算机来进行帐 票的管理。电子帐票系统不仅实现了企业的无纸化管理节省了开支,而且加速了企业的 订购物流进程,使得业务流程得到精简,从而提高了企业效率。 传统的c s 结构系统在维护、升级和改造中,作业任务繁杂工作量巨大。基于此背 景,提出了以s t r u t s 、s p d n g 框架和h i b e r n a t e 技术来开发w e b 电子帐票系统。首先介 绍了w c b 应用开发的发展简史,介绍了当前广泛使用的j 2 e e 体系结构和m v c 设计模 式,主要研究了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 三者进行结合来进行w e b 应用开发的s s h 模型。论文接着详细的阐述了电子帐票系统。 分别从用户模块和管理员模块进行了说明。通过对业务的研究和分析以及对w e b 应用 开发模型s s h 模型的研究,设计了w c b 应用电子帐票系统。最后围绕着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 d 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 :m v c ;帐票 基于s t r u t s 、s p r i n g 春nh i b e r n a t e 的帐票系统的设计与实现 d e s i g na n di m p l e m e n t a t i o no fs t a t e m e n ts y s t e mb a s e d o ns t r u t ss p r i n g a n dh i b e r n a t e a b s t r a c t a st h ef a s td e v e l o p m e n to fc o m p u t e rs c i e n c ea n dc o m p u t e rn e t w o r k ,t h ew o r l dh a s e n t e r e da l l u n p r e c e d e n t e dg l o b a li n f o r m a t i o na g e ,e n t e r p r i s ei n f o r m a t i o n i z a t i o nb e c o m e s s y m b o lo fm o d e mm a n a g e m e n t t h ed e v e l o p m e n to fw e ba p p l i c a t i o nw i t hh i g hr e t r a c t i l i t y , 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 dl o wm a n a g e m e n tc o s tb e c o m e sah o ts p o ti nw e b t e c h n o l o g yu t i l i z a t i o n t h i sp a p e rm a i n l yd i s c u s s e saw e be l e c t r o n i cs t a t e m e n ts y s t e mb a s e d o nb r o w s e r s e r v e rm o d e l w h i c hi s d e v e l o p e d t o r e p l a c e t h eo l ds y s t e mb a s e do n c l i e n t s e r v e rm o d e l n ee l e c t r o n i cs t a t e m e n t s y s t e m u s e s c o m p u t e rf o rs t a t e m e n t m a n a g e m e n t ,i st h ee l e c t r o n i f i c a t i o no ft r a d i t i o n a lp a p e rs t a t e m e n t sm a n a g e m e n t e l e c t r o n i c s t a t e m e n ts y s t e mc u t se n t e r p r i s e sc o s ti nt h ep a p e f l e s sp r o c e s s ,s p e e d su pe n t e r p r i s e s e f f i c i e n c yi na c c e l e r a t i n gt h el o g i s t i c sf l o wo fp u r c h a s i n g ,s i m p l i f y i n go p e r a t i o nf l o w ,e t c t r a d i t i o n a ls y s t e mb a s e do nc sm o d e lh a st h ep r o b l e m so fh i g hw o r k l o a da n dr e t i c u l a t a s k sd u r i n gm a i n t e n a n c ea n du p d a t i n g , t or e s o l v et h e s ep r o b l e m s ,t h i sp a p e rb r i n g su pa d e s i g ns c h e m eo fe l e c t r o n i cs t a t e m e n ts y s t e mu s i n gs t r u t s ,s p r i n ga n dh i b e r n a t ef r a m e w o r k s f i r s t ,t h ep a p e rd e s c r i b e st h eh i s t o r yo fw e ba p p l i c a t i o nd e v e l o p m e n t ,b r i e f l yd i s c u s s e st h e p o p u l a rj 2 e ea r c h i t e c t u r ea n dm v cd e s i g np a t t e r n ,a n ds t u d i e st h es t r u t s ,s p d n ga n d h i b e r n a t et e c h n o l o g i e si nd e t a i l ,i n t r o d u c e st h es s hm o d ef o rw e b a p p l i c a t i o nd e v e l o pu s i n g t h et h r e ef r a m e w o r k s t h ep a p e rt h e nc a r e f u l l yd e s c r i b e st h ee l e c t r o n i cs t a t e m e n ts y s t e m , e s p e c i a l l yt h eu s e rm o d u l ea n da d m i n i s t r a t o rm o d u l e a f t e ra n a l y z ea n ds t u d yo fo p e r a t i o n s , s t u d yo fs s h w e ba p p l i c a t i o nd e v e l o pm o d e l ,t h ep a p e rd e s i g n st h ew e be l e c t r o n i cs t a t e m e n t s y s t e m a c c o r d i n gt ot h es t r u c t u r eo fs t r u t s ,s p r i n ga n dh i b e r n a t e ,t h ep a p e rt h e nd i s c u s s e s t h er e a l i z a t i o no fe l e c t r o n i cs t a t e m e n ts y s t e m ,f r o mp r e s e n t a t i o nl a y e r , b u s i n e s sl a y e rt o p e r s i s t e n c el a y e r w i t he x a m p l eo fa c t u a ls t a t e m e n t ,f u n c t i o n so ft h es y s t e ma r ei n t r o d u c e d , a n dt h er e s u l tm e e t sa n t i c i p a t e dr e q u i r e m e n t c o m p a r i n gt o t h et r a d i t i o n a lc sm o d e ls y s t e m ,n e ws y s t e mb a s e do nb sm o d e l s i m p l i f i e sm a i n t e n a c ea n dr e f i n ep r o c e s s ,c a nb e m o r ee f f e c t i v ei nm a i n t a i n i n gm u l t i p l e d a t a b a s e s ,f u l l ye x h i b i t st h ea d v a n t a g e so fc o m b i n e dd e v e l o pu s i n gs t r u t s ,s p r i n g a n d h i b e r n a t e k e yw o r d s :s t r u t s ;s p r i n g ;h i b e r n a t e ;m v c ;s t a t e m e n t 大连理工大学学位论文独创性声明 作者郑重声明:所呈交的学位论文,是本人在导师的指导下进行研究 工作所取得的成果。尽我所知,除文中已经注明引用内容和致谢的地方外, 本论文不包含其他个人或集体已经发表的研究成果,也不包含其他已申请 学位或其他用途使用过的成果。与我一同工作的同志对本研究所做的贡献 均已在论文中做了明确的说明并表示了谢意。 若有不实之处,本人愿意承担相关法律责任。 学位论文题目:望互巡理i 3 必垒丝! 照 咝盘邀象叁亟鱼选猛查垒丝 作者签名: 圣磁日期:圣丝垒年生月二生日 大连理工大学硕士研究生学位论文 大连理工大学学位论文版权使用授权书 本人完全了解学校有关学位论文知识产权的规定,在校攻读学位期间 论文工作的知识产权属于大连理工大学,允许论文被查阅和借阅。学校有 权保留论文并向国家有关部门或机构送交论文的复印件和电子版,可以将 本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、 缩印、或扫描等复制手段保存和汇编本学位论文。 学位论文题目:垫至墅坐:巡垒丛生丝丝坚鍪垂丝蔓墨整堕兰窒鲨 作者签名: 至盛 日期: 兰:! 至年生月三,l 日 导师签名:厅驾圣 大连理工大学硕士学位论文 1绪论 1 1 研究背景和目的 本文是源于已运行多年的电子帐票系统为适应当前的需要进行的改造任务。这个项 目是在1 9 9 5 年开始设计开发的c l i e n t s e r v e r 型系统,客户端程序是用v c + + 编写的,服 务器端是用c 语言编写的,随着该项目的不断进行市场拓展,在日本市场已有5 0 0 多个 企业客户采用,但是每个企业客户的需求又不尽相同,所以需要针对不同的客户的情况 对系统进行改造,对于传统的c s 型系统来说,客户端的变更必然要使服务器端也跟着 改动,同时服务器端对应的包括o r a c l e 、s q l 、h i r d b 三种数据库以及这三个数据库的 不同版本( 如o r a c l e8 0o r a c l e 9 io r a c l e l o g 等) ,所以维护工作相当繁琐、应变能力较 弱。 另一方面,现如今随着企业信息化的发展,企业对信息、数据的管理要求也越来越 高,针对这些企业需要对帐票进行分类管理,针对性发放,打印存档以及授权浏览等问 题,旨在建立一个通过浏览器能够方便的对帐票进行表示、检索、印刷、审核的 b r o w s e s e r v e r 型w e b 应用电子帐票系统,用以解决帐票业务改造应用中的各种相关问 题。随着j a v a 技术的成熟,为这个难题提供了一个解决方案。为了降低成本、加快应用 程序的开发和设计,依据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 很好的实现了 m v c 即分离显示逻辑和业务逻辑,s p r i n g 贯穿整个中间层,它将各层进行无缝整合, h i b e r n a t e 作为持久层技术可以完全以面向对象的方式进行分析和设计。s t r u t s 、s p d n g 都是比较成熟的开发框架,把它们运用到系统的开发过程中,将使开发过程变得更加简 单和轻松。 1 2 国内外研究现状和相关技术简介 从1 9 9 5 年3 月2 3 日太阳微系统公司( s u nm i c r o s y s t e m s ) 在s u nw o d d 大会上发布 j a v a 开始,在最近的十几年中j a v a 技术得到了迅猛发展,尤其是在互联网的服务器端 和手持设备上,j a v a 应用也变得越来越活跃。随着j a v a 的应用,一些伴随着j a v a 的开 发框架在j a v a 开发者中逐渐被使用。j a v a 语言的优良特性使得j a v a 应用具有很强的健 壮性和可靠性,这也减少了应用系统的维护费用。j a v a 对对象技术的全面支持和j a v a 平台内嵌的a p i 能缩短应用系统的开发时间并降低成本。j a v a 的编译一次,到处可运行 的特性使得它能够提供一个随处可用的开放结构和在多平台之间传递信息的低成本方 基于s t r u t s 、s p r i n g 和i - 1 1 1 m a t e 的帐票系统的设计与实现 式。特别是j a v a 企业应用编程接口( j a v ae n t e r p r i s ea v i s ) 为企业计算及电子商务应用 系统提供了有关技术和丰富的类库。近些年,为了使开发过程变得更加简单,s t r u t s 、 s p r i n g 框架的出现使得j a v a 的开发越来越流行起来【l 】。下面简单介绍一下s t r u t s 、s p r i n g 框架和h i b e r n a t e 技术。 1 2 1s t r u t s 框架 s t r u t s 的含义是“支柱、支干,来源于在建筑和旧式飞机中使用的金属支架。它 的目的是为了减少程序开发的时间。项目的创立者认为j s p 、s e r v l e t 的存在虽然可以帮 助用户解决大部分的问题,但是基于他们的编码对项目的开发带来了很多不便,可重用 性也差,提出了s t r u t s 框架。s t r u t s 是一个基于s u nj 2 e e 平台的m v c 框架,主要是采 用s e r v l e t 和j s p 技术来实现的。由于s t r u t s 能充分满足应用开发的需求,简单易用,敏 捷迅速,越来越受到关注。s t r u t s 把s e r v l e t 、j s p 、自定义标签和信息资源( m e s s a g e r e s o u r c e s ) 整合到一个统一的框架中,开发人员利用其进行开发时不用再自己编码实现 全套m v c 模式,极大的节省了时间,所以说s t r u t s 是一个非常不错的应用框架【列。 1 2 2 s p r in g 框架 s p r i n g 是一个开源框架,它由r o dj o h n s o n 创建。它是为了解决企业应用开发的复 杂性而创建的。s p r i n g 使用基本的j a v ab e a n 来完成以前只可能由f _ j b 完成的事情。然 而,s p r i n g 的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言, 任何j a v a 应用都可以从s p r i n g 中受益。 r o dj o h n s o n 在2 0 0 2 年编著的( e x p e ao n et oo n ej 2 e ed e s i g na n dd e v e l o p m e n t ) ) 一 书中,对j a v ae e 正统框架臃肿、低效、脱离现实的种种现状提出了质疑,并积极寻求 探索革新之道。以此书为指导思想,他编写了i n t e r f a c e 2 1 框架,这是一个力图冲破j a v a e e 传统开发的困境,从实际需求出发,着眼于轻便、灵巧,易于开发、测试和部署的 轻量级开发框架。不断改变着j a v a 开发者程序设计和开发的思考方式。r o dj o h n s o n 根 据自己多年丰富的实践经验,对e j b 的各种笨重臃肿的结构进行了逐一的分析和否定, 并分别以简洁实用的方式替换之。 传统j 2 e e 应用的开发效率低,应用服务器厂商对各种技术的支持并没有真正统一, 导致j 2 e e 的应用没有真正实现w r i t eo n c e 及r u na n y w h e r e 的承诺。s p r i n g 作为开源的 中间件,独立于各种应用服务器,甚至无须应用服务器的支持,也能提供应用服务器的 功能,如声明式事务等。s p d n g 致力于j 2 e e 应用的各层的解决方案,而不是仅仅专注 于某一层的方案。可以说s p r i n g 是企业应用开发的“一站式”选择,并贯穿表现层、业务 大连理工大学硕士学位论文 层及持久层。然而,s p r i n g 并不想取代那些已有的框架,而只是把它们进行无缝地整合 【3 】 o 1 2 3h ib e r n a t e 技术 h i b e r n a t e 是一个开放源代码的对象关系映射框架,它对j d b c 进行了非常轻量级的 对象封装,使得j a v a 程序员可以随心所欲的使用对象编程思维来操纵数据库。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 e b 应用中使用,最具革命意义的是,h i b e r n a t e 可以在应用e j b 的j 2 e e 架构中取代c m p ,完成数据持久化的重任。 i - l i b e m a t e 的核心接口一共有5 个,分别为:s e s s i o n 、s e s s i o n f a c t o r y 、t r a n s a c t i o n 、 q u e r y 和c o n f i g u r a t i o n 。这5 个核心接口在任何开发中都会用到。通过这些接口,不仅 可以对持久化对象进行存取,还能够进行事务控制。它的设计目标是将软件开发人员从 大量相同的数据持久层相关编程工作中解放出来。无论是从设计草案还是从一个遗留数 据库开始,开发人员都可以采用h i b e r n a t e 。h i b e r n a t e 不仅负责从j a v a 类到数据库表的 映射( 还包括从j a v a 数据类型到s q l 数据类型的映射) ,还提供了面向对象的数据查 询检索机制,从而极大地缩短的手动处理s q l 和j d b c 上的开发时剐4 】。 1 3 论文研究的内容 本文主要完成以下几个方面的工作: ( 1 ) m v c 模型的研究以及对s t r u t s 、s p r i n g 框架和h i b e r n a t e 技术的研究。 ( 2 ) 结合s t r u t s 、s p d n g 框架和h i b e r n a t e 技术实现w e b 应用程序的开发方法,即 s s h 模型。 ( 3 ) 运用s s h 模型,实现w e b 电子帐票系统。 1 4 论文的组织 本文的章节安排如下: 第一章绪论。介绍了本文的研究背景、目的以及的来源,研究的内容以及论文的 组织结构。 第二章w e b 应用的开发技术。通过介绍w e b 应用开发简史和j 2 e e 体系结构,研 究了m v c 设计模式及其实现s t m t s 框架和实现事务管理的s p r i n g 框架,以及基于 o r m 的h i b e r n a t e 技术来实现数据持久化工作。 基于s t r u t s 、s p r i n g 和h f o e m a t e 的帐票系统的设计与实现 第三章系统分析与设计。研究了结合s t r u t s 框架、s p r i n g 框架和h i b e r n a t e 技术来 开发w c b 应用的s s h 模型。详细分析了帐票系统的需求,划分了功能模块及每个功能 模块需要实现的功能。 第四章系统实现。详细介绍了如何利用s s h 模型实现电子帐票系统。通过具体的 帐票实例演示了实现效果,也验证了利用s s h 模型实现w e b 应用帐票系统的实用性。 大连理工大学硕士学位论文 2w e b 应用的开发技术 2 1w e b 应用开发简史 i n t e m e t 最初主要由科研和军事部门用于共享科研信息,这些信息中的大部分都是 静态文档。因此,i n t e m e t 一开始主要是作为一种文化共享机制出现的。 1 9 9 5 年,i n t e m e t 开始进入商业化,w e b 上出现了信息大爆炸。与w e b 上共享的研 究内容相似,早先的商业内容也主要是由加入了简单图形的文本构成。使用超连接后, 用户可以从一个页面连接到另一个页面,但是页面上的内容仍然是静态文档,不支持其 他形式的用户交互操作。但是不久以后,企业就希望能够向用户提供动态内容,带给用 户更丰富和更具吸引力的i n t e m e t 体验。动态内容就是专门为特定用户提供的数据。例 如,某个用户要查看在线商品信息,用户输入商品名称后,服务器将对此做出响应。响 应是基于请求即时生成的,因而内容是动态的。 为填写动态内容方面的空白,w e b 服务器软件开始使用c g i 脚本来创建应用程序; 这些应用程序可以在w e b 服务器上运行,同时生成动态内容并将其返回浏览器。通过 c g i ,即通用网关接口,w e b 服务器可以接受请求,并运行服务器端程序,该程序将执 行某些操作,然后以标准格式输出信息。w e b 服务器软件然后会读取输出信息,并将该 信息返回给请求浏览器。最初,许多c g i 脚本都是使用p e r l 或其他基于u n i x 的脚本语 言编写的。但是随着时间的推移,构建的用来运行c g i 脚本的程序逐渐变得越来越复杂, 因此许多诸如c 等面向应用的语言就被用来创建具有更多功能的应用程序。随着h t m l 表单的出现,c g i 脚本还可以接收来自浏览器的数据,并对这些数据进行处理。 在基于c g i 的应用程序开发在服务器端广泛应用起来的同时,j a v a 编程语言开始被 人所知,起初主要是a p p l e t 。a p p l e t 使w e b 开发人员能够向w e b 页面添加丰富的动态 功能。因为j a v a 程序具有“编写一次,随处运行 机制,因此任何支持j a v a 的浏览器 都能运行a p p l e t 。开发人员从此就能在w e b 页面中轻松地加入动态内容。基于同样的 原因,j a v aa p p l e t 不仅在客户端遍地开花,并且在1 9 9 7 年,随着s e r v l e t 技术的出现, 它的触角也开始延伸导服务器端。s e r v l e t 解决了c g i 中的许多不足的地方,例如不可 移植性和效率低下,并为w e b 应用程序范例提供了基于j a v a 的解决方案。s e r v l e t 可在 操作系统间移植,并能在任何装有j a v a 虚拟机( j v m ) 的服务器上运行。因此,它们也 得益于j a v a 的“编写一次,随处运行 机制。由于s e r v l e t 采用多线程操作,而不是单 独处理每个请求,因此s e r v l e t 比c g i 具有更有效的执行模型。s e r v l e t 还能访问j a v a 的 各种库,包括j d b ca p i 。 基于s t r u t s 、s p r i n g 和1 4 e b e m a t e 的帐票系统的设计与实现 引入s e r v l e t 后,s u n 发布了j a v as e r v e rp a g e s ( j s p ) 技术,以此作为s e r v l e t 技术 的延伸。j s p 构建w e b 应用程序的思路与s e r v l e t 相反:通过在基于h t m l 的页面中内 嵌j a v a 代码,向服务器发送j s p 请求时,j a v a 服务器容器将检查j s p 是否已编译到某 个s e r v l e t 中。如果已经编译,则服务器将继续执行该s e r v l e t :如果尚未编译,服务器 容器将把j s p 代码转换为j a v a 源文件并编译该文件,这样后续的j s p 请求就将发现 s e r v l e t 已经编译并可随时执行。 这样的好处是无需手动重新编译代码即可对j s ph t m l 进行更改。服务器容器对编 译过程进行管理,并将对j s p 中的h t m l 是否已更改进行识别,然后重新将j s p 编译 到s e r v l e t 中。j s p 解决了在s e r v l e t 中嵌如显示代码( h t m l ) 的问题,该问题使得开发 过程变得麻烦,因为h t m l 的开发人员不得不费劲地使用j a v a 代码编辑h t m l 。采用 j s p 以后,h t m l 开发人员可以直接使用j s p ,而无需使用j a v a 代码。 2 2j 2 e e 体系结构 通常编写w e b 应用程序之所以困难是因为许多复杂代码需要交互工作,以处置数 据交易和管理程序状态( 如多线程操作、资源共享,以及其他底层细节) 。j 2 e e 所提 供得基于组件和平台独立的编程环境简化了程序的编写。业务逻辑采用程序模块形式编 程,并且j 2 e e 服务器以容器的形式提供底层服务【5 1 。由于编程人员无需自己开发这些 底层服务,可以更专注解决手头的业务问题。 2 2 1 j 2 e e 体系结构 j 2 e e ( j a v a2p l a t f o r m ,e n t e r p r i s ee d i t i o n ) 是s u n 公司发布的一个开发分布式企业 级应用的规范。它提供了一个多层次的分布式应用模型和一系列开发技术规范。多层次 分布式应用模型是指根据功能把应用逻辑分成多个层次,每个层次支持相应的服务器和 组件,组件在分布式服务器的组件容器中运行( 如s e r v l e t 组件在s e r v l e t 容器上运行, e j b 组件在e j b 容器上运行) ,容器间通过相关的协议进行通讯,实现组件间的相互调 用。遵从这个规范的开发者将得到行业的广泛支持,使企业级应用的开发变得简单、快 速【6 1 。 2 2 2j 2 e e 层次结构 j 2 e e 规范定义了以下四个层次,典型的j 2 e e 四层结构如图2 1 所示【7 】嗍: 大连理工大学硕士学位论文 图2 1j 2 e e 四层体系结构 f i g 2 1l a y e r e ds t r u c t u r eo fj 2 e e ( 1 ) 客户端层 客户端层用来实现企业级应用系统的操作界面和显示层。另外,某些客户端程序也 可实现业务逻辑。可分为基于w e b 的和非基于w e b 的客户端两种情况。基于w e b 的情 况下主要作为企业w c b 服务器的浏览器。非基于w e b 的客户层则是独立的应用程序, 可以完成瘦客户机无法完成的任务。 ( 2 ) w c b 层 为企业提供w e b 服务。包括企业信息发布等。w e b 层由w e b 组件组成。j 2 e ew c b 组件包括j s p 页面和s e r v l e t s 。w e b 层也可以包括一些j a v a b e a n s 。w c b 层主要用来处理 客户请求,调用相应的逻辑块,并把结果以动态网页的形式返回到客户端。 ( 3 ) 业务层 业务层也叫f _ j b 层或应用层,它由e j b 服务器和e j b 组件组成。一般情况下许多 开发商把w e b 服务器和e j b 服务器产品结合在一起发布,称为应用服务器。e j b 层用 来实现企业级信息系统的业务逻辑。这是企业级应用的核心,由运行在业务层中的e j b 来处理。一个b e a n 从客户端接收数据进行处理,然后把数据送到企业信息系统层存储 起来。同样,一个b e a n 也可以从企业信息系统取出数据,发送到客户端程序。业务层 中的e j b 要运行在容器中,容器解决了底层的问题,如事务处理、生命周期、状态管理、 多线程安全管理、资源池等。 ( 4 ) 企业信息系统层 基于s t r u t s 、s p r i n g 和i - f i b e m a t e 的帐票系统的设计与实现 处理企业系统软件,包括企业基础系统、数据库系统及其他遗留的系统。j 2 e e 将 来的版本支持连接架构( c o n n e c t o ra r c h i t e c t u r e ) 。它是连接j 2 e e 平台和企业信息系统 层的标准a p l t 9 。 业务层和w e b 层共同组成了三层j 2 e e 应用的中间层,其他两层是客户端层和存储 层或企业信息系统层。因此很多时候也将其考虑为三层结构。这是因为它们分布在三个 不同的位置:客户端机器、j 2 e e 服务器机器和后端的传统机器。 2 3 设计模式 2 3 1 设计模式简介 什么是设计模式? 不同的观点会影响什么是设计模式的解释,建筑学家c h r i s t o p h e r a l e x a n d e r 给出一个广泛意义上的设计模式概念:“每一个模式描述了一个在我们周围 不断重复发生的问题,以及该问题的解决方案的核心。这样,你就能一次又一次的使用 该方案而不必做重复劳动” 1 0 1 。从建筑设计领域引入到计算机科学领域。是对软件设计 中普遍存在( 反覆出现) 的各种问题,所提出的解决方案。设计模式并不直接用来完成 程序代码的编写,而是描述在各种不同情况下,要怎么解决问题的一种方案。设计模式 主要是使不稳定的依赖于相对稳定、具体依赖于相对抽象,避免会引起麻烦的紧耦合, 以增强软件设计适应变化的能力。在软件设计方面,随着面向对象技术的出现和广泛应 用,一方面软件的可重用性在一定程度上已经有所解决,另一方面对软件可重用性的要 求也越来越高。设计面向对象软件比较困难,而设计可重用的面向对象软件就更困难。 有经验的设计者知道:不是解决任何问题都要从头做起,他们更愿意重用以前使用过的 解决方案。因此,可以将这些面向对象软件的设计经验称为设计模式。具体到设计面向 对象软件这一领域,可以这样认为:设计模式就是对被用来在特定场景下解决一般设计 问题的类和相互通信的对象的描述。 设计模式可以有助于更加简单方便地重用成功的设计和体系结构,将已证实的技术 表达成设计模式也会使新系统开发者更加容易理解其设计思路;同时设计模式还可以有 助于选择有利于系统重用的设计,避免设计损害了系统重用性;设计模式甚至能够提高 已有系统的文档管理和系统维护的有效性。总之,设计模式可以帮助设计者更快更好地 完成系统设计。 把设计模式处理到一定的抽象程度,它不用于直接编码或类的重用,也不是复杂到 可作为一个完整的应用或子系统的领域专用的设计,而是对一定的对象与类的关系进行 描述,进而可对其进行一定程度的修改,使之可解决在一定条件下的通用设计问题。 不同的设计模式具有下面一些共性【1 1 li t 2 1 : 大连理工大学硕士学位论文 ( 1 ) 设计模式都是从实践中获得的。设计模式是被“发现 的,而不是被“写作 出来的。 ( 2 ) 设计模式是表达好的设计。设计模式并不仅是关于对象的设计,而且关于对象 间的通信,因此有时也称为“通信模式。 ( 3 ) 提出设计模式的目的之一是避免重复的劳动,提高软件的可重用性。 ( 4 ) 孤立地使用某个设计模式还不能够充分发挥设计模式的优势,通常都是将多个 设计模式联合使用,一起用来解决更大的问题。 2 3 2g v o 设计模式 s u n 在引入j s p 技术后,提出了有关使用j s p 技术的开发蓝图,并定义了构建基于 j s p 的w e b 应用程序的两种模型,即模型1 和模型2 。 模型1 体系结构十分简单,如图2 2 所示【1 3 j : 请求 处理请求 彤”。劢 - l 验证数据k 一 事务逻辑 处理数据 响应 生成响应 - 浏览器 j s p s e r v l e t 数据库朋艮务 图2 2 模型1 体系结构 f i g 2 2a r c h i t e c t u r eo fm o d e l1 首先浏览器向j s p 或s e r v l e t 发出请求,接着j s p 或s e r v l e t 将会对请求进行各种处 理,包括处理请求、确认数据有效性、处理事务逻辑及生成响应。从概念上讲很简单, 但该体系结构不适合大型应用程序的开发,因为不可避免地要复制每个j s p 中的许多功 能。此外,模型1 体系结构还将应用程序的事务逻辑和显示逻辑不必要地联系在一起, 从而使得很难在应用程序中引入“视图”或访问点。例如,要进行无线访问,除了h t m l 界面,还需要添加无线标记语言( w m l ) 界面。在这种情况下,使用模型1 将需要复 制业务逻辑和各个显示代码实例,而这是不必要的。 模型2 或现在通常所指的模型一视图一控制器( m v c ) ,通过明确的应用程序功能 分工解决了起初模型1 设计的许多内在问题。如图2 3 所示: 基于s t r u t s 、s p d n g 和i - l a i b e - r n a t e 的帐票系统的设计与实现 控制器( s e r v l e t )孵嬲鸭 请求 处理请求 艮 :夕 卜 验证数据 _ 参荔 模型 :。 名 事务逻辑 络零 , 9 1 一 一p 处理数据 黎; 响应 视图( j s ” 琵, 毳 生成响应飞魄:茏幺i 磁:j 少 浏览器 图2 3 模型2 体系结构 f i g 2 3a r c h i t e c t u r eo fm o d e l2 在m v c 体系结构中,s e r v l e t ( 又称控制器) 接收所有的应用程序请求。然后控制 器将请求进行处理,同时使用模型2 准备视图( 通常是j s p ) 所需的任何数据,并将此 数据转发给j s p 。接着j s p 使用由控制器准备的数据生成浏览器的响应。本体系结构中, 事务逻辑和显示逻辑彼此相互独立。事务代码和显示代码的相互独立使得可以向应用程 序中添加多个界面,例如w e b 、无线或g u i ( s w i n g ) 。此外这种相互独立也提高了代 码的可重用性1 1 4 j 。 m v c 设计模式为构建可扩展、可重用的代码打下了坚实的基础。其最吸引入之处 在于它迫使用户必须抽象自己的代码,把项目分解为表示、逻辑和控制三部分,各部分 间的关联较小,内聚度高、耦合度低。以m v c 设计模式构造软件,可以使软件结构灵 活、重用性好、扩展性好。 2 4 s t r u t s 、s p r in g 框架和b e r n a t e 技术 2 4 1s t r u t s 框架 s t r u t s 是a p a c h e 软件基金会( a s f ) 赞助的一个开源项目。它最初是j a k a r t a 项目 中的一个子项目,并在2 0 0 4 年3 月成为a s f 的顶级项目。它通过采用j a v as e r v l e t j s p 技术,实现了基于j 2 e ew e b 应用的m o d e l - v i e w c o n t r o l l e r ( m v c ) 设计模式的应用框 架( w e bf r a m e w o r k ) ,能够很好地帮助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 eb u n 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 p 、t a g l i b 组成。基于s t r u t s 构架的 大连理工大学硕士学位论文 w e b 应用程序基本上符合j s pm o d e l 2 的设计标准,可以说是一个传统m v c 设计模式 的一种变化类型。是m v c 经典设计模式中的一个经典产品。 在s t r u t s 中,已经由一个名为a c t i o n s e r v l e t 的s e r v l e t 充当控制器( c o n t r o l l e r ) 的 角色,根据描述模型、视图、控制器对应关系的s t r u t s c o n f i g x m l 的配置文件,转发视 图( v i e w ) 的请求,组装响应数据模型( m o d e l ) 。在m v c 的模型( m o d e l ) 部分,经常 划分为两个主要子系统( 系统的内部数据状态与改变数据状态的逻辑动作) ,这两个概 念子系统分别具体对应s t r u t s 里的a c t i o n f o r m 与a c t i o n 两个需要继承实现超类。在这 里,s t r u t s 可以与各种标准的数据访问技术结合在一起,包括e n t e r p r i s ej a v ab e a n s ( e b ) , j d b c 与j n d i 。在s t r u t s 的视图( v i e w ) 端,除了使用标准的j a v as e r v e rp a g e s ( j s p ) 以外,还提供了大量的标签库使用,同时也可以与其他表现层组件技术产品进行整合, 比如v e l o c i t yt e m p l a t e s ,x s l t 等。通过应用s t r u t s 的框架,最终用户可以把大部分的 关注点放在自己的业务逻辑( a c t i o n ) 与映射关系的配置文件( s t r u t s - c o n f i g x m l ) r 中【1 5 1 。 客户端浏览器向c o n t r o l l e r ( s e r v l e t ) 发送一个帅请求;c o n t r o l l e r 根据 s t r u t s - c o n f i g x m l 文件定制转向,使用a c t i o n 来处理逻辑;m o d e l 组件与永久数据存储或 者远程系统进行实际的交互,并管理交互过程;基于m o d e l 组件的处理结果以及返回的 数据,再由c o n t r o l l e r 决定哪个v i e w 组件用于用户显示的渲染,数据则是准备给v i e w 对象渲染的;被选择的v i e w 组件渲染h 1 瞪响应并将之发送到用户。图2 4 是s t r u t s 体系结构图。 由臣丑 图2 4s t r u t s 体系结构图 f i g 2 4s t r u c t u r a lr e p r e s e n t a t i o no fs t r u t s 早期s m a l l t

温馨提示

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

评论

0/150

提交评论