(信号与信息处理专业论文)基于jsf、hibernate和ajax的web应用研究与实现.pdf_第1页
(信号与信息处理专业论文)基于jsf、hibernate和ajax的web应用研究与实现.pdf_第2页
(信号与信息处理专业论文)基于jsf、hibernate和ajax的web应用研究与实现.pdf_第3页
(信号与信息处理专业论文)基于jsf、hibernate和ajax的web应用研究与实现.pdf_第4页
(信号与信息处理专业论文)基于jsf、hibernate和ajax的web应用研究与实现.pdf_第5页
已阅读5页,还剩49页未读 继续免费阅读

(信号与信息处理专业论文)基于jsf、hibernate和ajax的web应用研究与实现.pdf.pdf 免费下载

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

文档简介

武汉理i :人学硕士学位论文 摘要 自w o r l dw i d ew e b 诞生以来,这种全新的生活方式已经改变了世界,无论 是经济、政治、文化,还是人们的同常生活。w e b 改变了世界,同样,w e b 也 改变了整个软件行业,应用系统的主流架构已经从c s 架构过渡到b s 架构, 时至今日,一个小小的浏览器,已经俨然是一个微型的操作系统,并且在w e b2 0 浪潮的冲击下,这种影响会更加的持续与深刻。 在这种大潮下,企业也越来越重视w e b 应用,纷纷开发结合自身业务的 w e b 应用系统,同时由于w e b 系统的复杂度越来越高,要求w e b 应用能够不 断的扩展来满足业务的变化,在性能和安全性方面的要求也到了空前的地步。 如何使应用系统快速适应需求的变化,同时满足可用性、高可靠性、可维护性 以及可扩展性等特点,这些都成为软件开发过程中需要着重解决的问题。 针对以上问题,论文结合w 曲应用系统多层次体系结构发展的现状,对 j s f 、h i b e r n a t e 和a j a x 框架进行了分析。j s f 是一种基于m v c 设计模式的w e b u i 框架,在系统开发中应用j s f ,实现了表示层与业务逻辑层的分离,提高了 系统的开发效率。而h i b e r n a t e 作为一个面向j a v a 应用的对象关系数据库映射 的工具,它提供的o r m 机制可以把一个对象映射到多个数据库表,可以实现 多种实体关联关系的映射,也可以实现继承映射;它提供的查询语言h q l 实现 了o r m 的多态连接查询和动态查询。a j a x 打破了使用页面重载的惯例技术组 合,使用x m l h t t p r e q u e s t 对象进行异步数据读取,完成了浏览器和服务器之 间的异步通信,成为w e b 开发的重要武器。 本文首先结合w e b 应用系统多层次体系结构发展的现状分析了j s f 、 h i b e r n a t e 和a j a x 的相关技术在构建w e b 应用中的优势,阐述了m v c 设计模 式并对j s f 框架、h i b e r n a t e 框架和a j a x 框架进行了简要的分析,详细说明了 系统平台的搭建,详解分析了j s f 的框架开发方法和流程,结合相关课题,应 用j s f 、h i b e r n a t e 和a j a x 集成框架实现了高速公路养护办公系统,并对各个模 块的设计中所用的关键技术进行了分析说明。实践表明,基于j s f 、h i b e r n a t e 和a i 叙框架可以极大地提高系统丌发效率,同时满足系统可扩展性、可维护性 和高交互性的要求。 关键词:j s f ,h i b e r n a t e ,a j a x ,组件 武汉理i :人学硕士学位论文 a b s t r a c t s i n c ew o r l dw i d ew e bc o m e si n t ob e i n g ,t h i sn e ww a yo fl i f er e v o l v e sa r o u n d i th a sc h a n g e dt h ew o r l d ,c o v e t i n gt h er e a l m so fe c o n o m y , p o l i t i c s ,c u l t u r eo r p e o p l e sd a i l yl i v e s ,e t c w e bc h a n g e st h ew o r l d ,a n di t a l s oc h a n g e st h ew h o l e s o f t w a r ei n d u s t r y t h em a i na r c h i t e c t u r eo fa p p l i c a t i o n sh a sa l r e a d yt r a n s i t e df r o m c sa r c h i t e c t u r et ob sa r c h i t e c t u r e n o w a d a y s ,t h i sl i t t l eb r o w s e rh a sa l r e a d y b e c o m eam i n i a t u r e o p e r a t i n gs y s t e m ,a n du n d e rt h en e wb o u to fw 曲2 0 ,i t s i n f l u e n c ew i l lb em o r es u s t a i n e da n dd e e p e r i nt h i st i d e ,e n t e r p r i s e sp a ym o r ea n dm o r ea t t e n t i o nt ow e ba p p l i c a t i o n t h e y d e v e l o pw e ba p p l i c a t i o n ss y s t e m sa p p l i c a b l et ot h e i ro w nb u s i n e s s ,a tt h es a n l et i m e , a st h ei n c r e a s i n gc o m p l e x i t yo fw e ba p p l i c a t i o n ss y s t e m s ,t h ec o n t i n u o u se x p a n s i o n o fw e ba p p l i c a t i o n sn e e d st ob ed o n et om e e tt h ec h a n g i n gb u s i n e s sd e m a n d s ,t h e r e q u i r e m e n t so np e r f o r m a n c ea n ds e c u r i t ya l s or e a c h e su n p r e c e d e n t e dn e wh i g h h o wt om a k ea p p l i c a t i o n sq u i c k l ya d a p tt oc h a n g i n gd e m a n d s ,w h i l em e e t i n gt h e a v a i l a b i l i t y , r e l i a b i l i t y , m a i n t a i n a b i l i t ya n ds c a l a b i l i t yf e a t u r e s ? i no r d e rt os o l v e t h o s ep r o b l e m sa b o v e ,m o r ee m p h a s i z e ss h o u l db ep u ti nt h es o f t w a r ed e v e l o p m e n t p r o c e s s t os o l v et h ep r o b l e m sa b o v e ,t h i sp a p e rb a s e do nt h ed e v e l o p m e n ts t a t u so f m u l t i l e v e la r c h i t e c t u r eo fa p p l i c a t i o ns y s t e m s ,a n a l y z e st h ej s f h i b e r n a t ea n da j a x f r a m e w o r k j s fi saw e bu if r a m e w o r kb a s e do nt h em v cd e s i g np a t t e r n ,j s f m a k e st h ed i f f e r e n tr o l e so fv i e w t i e ra n db u s i n e s sl o g i ct i e r , o n ei sm o d i f i e db u t d o n te f f e c tt h eo t h e r , i no r d e rt oi n c r e a s et h ee f f i c i e n c yo fs y s t e md e v e l o p m e n t h i b e r n a t e ,a no r mt o o lf o rj a v ae n v i r o n m e n t ,m a n a g e st h em a p p i n gf r o mj a v a c l a s s e st od a t a b a s et a b l e sa n dt h eo p e r a t i o no fp e r s i s t e n to b j e c t s o r mo fh i b e r n a t e c a nm a po n eo b j e c tt om a n yt a b l e s ,c a nm a pa m o n gs e v e r a lt y p e so fa s s o c i a t i o n sa n d c l a s si n h e r i t a n c e h i b e m a t eq u e r yl a n g u a g er e a l i z e dp o l y m o r p h i ca s s o c i a t i o nq u e r y a n dd y n a m i cq u e r y a j a xh a sb r o k e nt h ec o n v e n t i o no f u s i n gr e l o a d e du s a g ep a g ea s ac o m p o s i t et e c h n o l o g y d a t aa leu s u a l l yr e t r i e v e du s i n gt h ex m l h t t p r e q u e s t o b j e c ta n da c c o m p l i s h e st h ea s y n c h r o n o u sc o m m u n i c a t i o nb e t w e e n t h eb r o w s e ra n d t h es e r v e r i th a sb e c o m ei m p o r t a n tw e a p o no fw e bd e v e l o p m e n t i i 武汉理1 :人学硕十学位论文 t h i sp a p e rb a s e do nt h ed e v e l o p m e n ts t a t u so ft h em u l t i - l e v e ls t r u c t u r eo f a p p l i c a t i o ns y s t e m ,a n a l y z e dt h ea d v a n t a g e sj s f , h i b e r n a t ea n da j a xi nb u i l d i n g w e ba p p l i c a t i o n s ,e x p o u n d e dt h em v cd e s i g n p a r e r n sa n d j s ff r a m e w o r k , h i b e r n a t ef r a m e w o r ka n da j a xf r a m e w o r kb r i e f l y , d e s c r i b e dt h o r o u g h l yt h e d e v e l o p m e n tm e t h o d s a n dp r o c e s s e so fj s ff r a m e w o r k ,b a s e d0 1 1r e l e v a n t a p p l i c a t i o np r o j e c t s ,a c h i e v e dt h er e a l i z a t i o no fh i g h w a ym a i n t e n a n c eo f f i c ew i t h j s f , h i b e r n a t ea n da j a xi n t e g r a t i o nf r a m e w o r ka n da n a l y z e dt h o r o u g h l yt h ec r i t i c a l t e c h n i q u e si ne a c hm o d u l e p r a c t i c es h o w st h a tt h ea p p l i c a t i o no fj s fa n dh i b e r n a t e f r a m e w o r kc a ni m p r o v et h ee f f i c i e n c yo fw e bs y s t e m sd e v e l o p m e n t ,w h i l em e e t i n g s y s t e ms c a l a b i l i t y , m a i n t a i n a b i l i t ya n dh i g ha l t e r n a t i o nr e q u i r e m e n t s k e y w o r d s :j s f ,h i b e r n a t e ,a j a x ,c o m p o n e n t i l l 独创性声明 本人声明,所呈交的论文是本人在导师指导下进行的研究工作 及取得的研究成果。尽我所知,除了文中特别加以标注和致谢的地 方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包 含为获得武汉理工大学或其他教育机构的学位或证书而使用过的材 料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作 了明确的说明并表示了谢意。 签名:融秀苎日期:塑! :兰:2 学位论文使用授权书 本人完全了解武汉理工大学有关保留、使用学位论文的规定, 即学校有权保留并向国家有关部门或机构送交论文的复印件和电子 版,允许论文被查阅和借阅。本人授权武汉理工大学可以将本学位 论文的全部内容编入有关数据库进行检索,可以采用影印、缩印或 其他复制手段保存或汇编本学位论文。同时授权经武汉理工大学认 可的国家有关机构或论文数据库使用或收录本学位论文,并向社会 公众提供信息服务。 ( 保密的论文在解密后应遵守此规定) 研究生( 签名) :懈导师( 签名)日期型7 武汉理丁大学硕士学位论文 1 1 研究背景 第1 章绪论 自w b r l dw i d ew e b 诞生以来,这种全新的生活方式已经改变了世界,无论 是经济、政治、文化,还是人们的日常生活。w e b 改变了世界,同样,w e b 也 改变了整个软件行业,应用系统的主流架构已经从c s 架构过渡到b s 架构, 时至今日,一个小小的浏览器,己经俨然是一个微型的操作系统,并且在w e b2 0 浪潮的冲击下,这种影响会更加的持续与深刻【l 】。 在这种大潮下,企业也越来越重视w e b 应用,纷纷开发结合自身业务的 w e b 应用系统,同时由于w e b 系统的复杂度越来越高,要求w e b 应用能够不 断的扩展来满足业务的变化,在性能和安全性方面的要求也到了空前的地步。 如何使应用系统快速适应需求的变化,同时满足可用性、高可靠性、可维护性 以及可扩展性等特点【2 】。这些都成为软件开发过程中需要着重解决的问题。 j a v a e e5 是目前最成熟的企业级信息系统的解决方案。j a v a e e 并非是一 个产品,而是一系列技术和标准的集合。具体的j a v a e e 平台产品由厂商实现并 遵循同一个标准【3 】。j a v a e e 以j a v a 为核心技术,更接近或者满足于互联网在智 能化w e b 服务上对分布性、开放性和平台无关性的要求,同时它在安全性、健 壮性、组件化等方面也更为成熟稳定,获得了众多i t 厂商如i b m 、o r a c l e 、b e a 等共同制定标准并提供技术支持,因此具有强大的功能,是企业级应用开发的 首选平刽4 1 。 1 2 研究的意义 多层w e b 应用是当前i n t e m e t 上使用最为广泛的应用丌发技术,它支持实 时的信息发布,动态的用户交互以及与后台系统灵活的安全的连接,有较高的 执行效率【5 】。因此如何构建功能更加强大、应用更为灵活、开发更为简便的应 用程序成为当前i n t e r n e t 技术开发人员非常关心的问题。 w e b 应用的丌发需要借助一些应用框架,用于w e b 层的开发主要有s t r u t s 和j s f 框架,s t r u t s 是a p a c h e 基金会j a k a r t a 项目组的一个o p e n s o u r c e 项目, 武汉理t 大学硕十学位论文 它采用了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 模式利用控制器来分离模 型和视图,达到一种层间松散耦合的效果,从而减弱了业务逻辑接口和数据接 口之间的耦合性,提高了系统灵活性、复用性和可维护性【酬。不过,s t r u t s 在j a v a w e b 用户界面的设计方面没有太大的创新,仍然需要直接操作j s p 标签,而且 s t r u t s 所扩展的j s p 标签有限,用户界面表现能力较差,这就很难满足快速高效 的开发w e b 层组件的需求,因此,s u n 决定制订一项新的技术标准,来支持组 件化的u i 设计,以弥补j s p 技术的不足。这就是j a v a s e r v e rf a c e s 规范,简称 j s f 7 j 2 。3 。j s f 首次在j a v aw e b 应用编程中引入了u i 组件模型和事件驱动模式。 在工具的支撑下,j s f 可实现w e b 应用的可视化编程,降低代码强度,是一种 敏捷开发手段。j s f 可重用、可扩展、基于组件的用户界面框架,大大降低基 于j a v a 的w e b 应用的开发难度,提高开发效率【8 j 。 j a v a 应用通常用j a v a 类来实现业务逻辑中模型组件的操作,同时需要用对 象关系映射来把对象模型所表示的类映射到基于s q l 的关系型数据库中去。 e j b 组件技术提供了容器管理持久( c m p ) 模型完成对象关系的映射,但需要庞 大的e j b 容器的支持,e j b 标准的复杂性同时增加了开发的难度。h i b e r n a t e 是 一个面向j a v a 环境免费的对象关系数据库映射工具,它对j d b c 进行了非常轻 量级的封装,使得j a v a 程序员可以随心所欲地使用对象编程的思维来操纵数据 库,可以在用e j b 的j a v a e e 架构中取代c m p 完成数据持久化的重任【9 】。 j s f 和h i b e r n a t e 、a j a x 技术的集成,能有效地缩短开发周期,既能实现 w e b 层页面代码和功能代码的分离,又保证了在业务逻辑层有良好的对象关系 映射机制实现数据库的操作,对于w e b 应用系统的开发有几个主要的优点: ( 1 ) 清晰的角色分工。网页制作者只负责创w 曲应用的用户界面,他们 可以在开发工具支持下,通过拖放,很简单地添加u i 组件到网页上,然后设置某 些显示属性来满足视觉要求。网页制作者不需要知道u i 组件背后的复杂代码。 应用程序开发者不需要再处理任何与视觉相关的细节,只需给u i 组件绑定类的 属性或方法l lo j 。 ( 2 ) 用户界面到业务逻辑的直接映射。j s f 采用的是事件驱动机制,可以 将用户界面到业务逻辑的直接映射【l o 】1 0 。1 1 。j s f 框架承担了h t t p 请求所经历的 解码、类型转换、有效性验证、状态保存、数据更新等环节中的很大一部分, 程序员要做的只是集中精力编写事件处理例程。 ( 3 ) 集中式页面导航。所有的j s f 导航规则都放在一个x m l 文件中,对支 持可视化导航设计的工具非常友好,而且还改进了应用程序的管理【l 。j s f 导 2 武汉理工人学硕士学位论文 航还与它的事件模型紧密结合,除了能处理静态导航和动态导航外,还能处理 通配符和重定向等类型的导航。 ( 4 ) 可重用性和可扩展性。j s f 将所有的用户界面元素抽象为u i 组件, 而且允许程序员在j s f 内置u i 组件的基础上,根据程序需要开发自己的u i 组 件事件处理器、数据校验和转换组件等,而且这些组件同样是可以重用的。j s f 用户界面组件的呈现并不局限于特定的脚本技术或标记语言【l2 1 ,在表示层可以 采用其他的技术代替j s p 。 ( 5 ) 稳定性和可维护性。j s f 和h i b e r n a t e 技术是对于原有j a v a 技术的扩 充,由j s f 和h i b e r n a t e 构建的应用程序能够很好的在j a v a e e 应用服务器中运 行,j s f 和h i b e r n a t e 都通过标准的配置文件来部署应用程序,增加了程序的可 维护性。h i b e r n a t e 对j d b c 进行了轻量级的对象封装,能大大的提高操作数据 库的效率。 ( 6 ) a j a x 技术可以弥补j s f 框架在客户端应用的弱点,能够一定程度上 减轻服务器负载,提高系统的响应。 1 3 国内外研究现状 近年来,国内外软件领域开始以高内聚、低耦合的原则,整合现有开源框 架,提出高质量j a v a e e 应用架构,现在这种架构已成国内外众多知名软件企业 最主流的应用技术,也是j a v a e e 未来发展的趋势。 j s f ( j a v a s e r v e rf a c e s ) 是由j c p ( j a v ac o m m u n i t yp r o c e s s ,即j a v a 社区进程) 制定的j a v aw 曲表示层的标准规范【l3 ,是一种面向组件和事件驱动模型的w 曲 开发技术,它借鉴了包括s t r u t s 在内的很多j a v aw e b 框架技术的优点,具有良 好定义的请求处理生命周期和丰富的组件层次结构,目的是为了简化高性能 j a v aw e b 应用程序用户界面创建和开发流程【l4 1 。与其他所有j a v aw e b 框架不同 的是,j s f 不是具体的实现,它只是一个规范,各个厂商可以在规范之下提出 自己独特的实现,因此得到了s u n 、o r a c l e 、i b m 和b e a 等全球知名软件厂商 的大力支持,正是因为如此,决定了j s f 在j a v a 开源框架中的领导地位l l 引。有 一个基本的框框,又留出足够的自由空间,这正是规范的魅力所在。 j s f 诞生于2 0 0 1 年,而j s f 规范的1 0 到2 0 0 4 年3 月才得以面世。直到 j a v a e e5 的发布,j s f 推出1 2 版本并作为j a v a e e5 的一部分同时发布。j s f 2 0 于2 0 0 9 年7 月发布并成为j a v a e e6 的一部分。在国外,j s f 已经和s t r u t s 平分 武汉理j i :人学硕士学位论文 秋色,甚至略有超出,但在国内,s t r u t s 还是占据第一的位置。与s t r u t s 相比, j s f 包含s t r u t s 的所有m o d e l2 特性,更引入了s t r u t s 所不具备的用户界面组件 ( u i ) 、事件模式以及前台界面和后台业务逻辑的集成等,在快速开发工具的支 持下,可以用拖放组件的方式对w 曲用户界面进行可视化编辑,将用户界面上 的组件与一个数据源绑定,并将客户端用户界面所产生的事件交给服务器端去 处理,从而大大降低基于j a v a 的w e b 应用的开发难度,提高了开发效率【8 】。 h i b e r n a t e 是一个很流行的开源o r m ( o b j e c t r e l a t i o n m a p p i n g ,即对象关 系映射) 框架,可以把一个普通j a v a 对象p o j o 映射为关系数据库中的表,很 好的解决了面向对象应用程序和关系型数据库系统之问的阻抗不匹配问题【l 6 1 。 h i b e r n a t e 作为轻量级o r m 模型逐步确立了在j a v ao r m 架构中领导地位,甚 至取代复杂而又繁琐的e j b 模型而成为事实上的j a v ao r m 工业标准。h i b e r n a t e 提供了强大、高性能的对象到关系数据库的持久化服务,它不仅仅管理j a v a 类 到数据库表的映射,还提供数据查询和获取数据的方法,可以大幅度减少丌发 时使用s q l 和j d b c 处理数据的时问【l 。它对j d b c 进行了轻量级的对象封装, 使程序员可以用对象编程思想来操作数据库。 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 ) 是多种技术的综合,是由a d a p t i v e p a t h 的咨询顾问j e s s ej a m e sg a r r e t t 于2 0 0 5 年2 月首先提出来的。a j a x 并没有 创造出某种具体的新技术,它所采用的是一系列已经存在的甚至是老旧的技术, 把它们重新锻造、延伸,超越其原有的概念,使得古老的基于b s 方式的w 曲 开发焕发了新的活力【l 引。a j a x 由c s s 和x h t m l 、j a v a s c r i p t 、x m l h t t p r e q u e s t 和d o m 技术组成,其中x m l h t t p r e q u e s t 是a j a x 的核心机制。a j a x 使用x h t m l 和c s s 提供一致的外观,使用j a v a s c r i p t 来传递用户界面上的数据到服务端并 返回结果,使用x m l h t t p r e q u e s t 对象与服务器进行异步通信,在用户工作时 提交用户的请求并获得最新的数据,用户甚至不知道浏览器正在与服务器通信, 同时使用d o m 实现动态显示和交互【l 圳。a j a x 应用相当广泛,其中最著名当属 g o o g l e 在它著名的交互应用程序中使用了异步通信,如g o o g l em a p s 、g o o g l e 搜索、g m a i l 等。a j a x 打破了使用页面重载的惯例,成为w e b 开发的重要武器。 1 4 研究的主要内容 本文主要的研究内容: ( 1 ) 研究和分析j s f 框架的基本组成以及开发方法。 4 武汉理r :人学硕士学位论文 ( 2 ) 分析h i b e r n a t e 在数据持久层上的工作原理。 ( 3 ) 研究j s f 和h i b e r n a t e 、a j a x 框架的整合。 ( 4 ) 设计并实现基于a j a x 、j s f 和h i b e r n a t e 的w e b 信息管理系统。 武汉理t 大学硕仁学位论文 第2 章高速公路养护办公系统需求分析及技术路线 2 1 系统需求分析 高速公路不仅是交通运输现代化的重要标志,同时也是一个国家现代化的 重要标志。目前,我国高速公路总里程正在迅猛增长,交通运输的发展有力地 推动着国民经济和社会的进一步发展。与此同时,高速公路的运营管理显的越 来越重要。其中高速公路养护管理最为关键,但在实际养护管理工作中,存在 着以下问题:( 1 ) 养护管理滞后。目前的管理模式基于较传统或单机辅助管理, 作为养护管理部门不能及时了解高速公路全线路面病害情况与路面养护状况, 因为大量的巡检数据不能及时更新,故无法及时、真实地了解养护工程的质量、 养护进度等信息,只能事后处理和控制。( 2 ) 养护工程管理较为复杂。路面信 息的及时反映及汇总,修复信息的改变,养护方案、历史数据的存储、查询, 养护工程计划及费用预算、实施等,以及路面养护质量的评定、规范统一的各 种类型的统计报表、随机的信息汇总等,只有用现代计算机及其网络技术构成 先进的管理系统和工作流程才能建立在大量的数据收集、统计、分析的基础上 实现,而这一方面没有管理的信息化是无法完成的。 高速公路养护信息管理系统能实现养护现代化、决策科学化、管理规范化、 服务人性化的要求,有效地实施高速公路运营管理,及时掌握和了解公路的运 营状态,进一步提高高速公路运营、养护管理的信息化、智能化。 高速公路养护信息管理统的功能主要涵盖高速公路养护管理所涉及的业务 属性数据及业务报表的管理、养护办公、项目工程管理、计划管理、计量支付 管理、信息查询、桥涵数据管理、业务数据的g i s 分析、系统管理等。本文以 汉十高速公路养护信息管理系统课题为依托,主要研究养护信息管理系统中的 数据采集、养护办公等系统功能。 养护办公系统的功能需求包括病害及项目数据类型定义、病害数据采集入 库、确认病害类型、对病害下达维修计划通知单、验收完成的维修工程和查询 相关信息。系统数据流程如图2 一l 所示。 6 武汉理1 人学硕l 学位论文 2 2 系统功能划分 图2 1系统数据流程罔 养护办公系统的功能需求包括数栅管理、养护办公、信息查询和系统管理 这四个模块。系统总体功能框图如图2 - 2 所示: 罔2 - 2 系统功能图 武汉理一r = 大学硕十学位论文 2 2 1 数据管理模块功能 ( 1 ) 巡检病害的定义、修改、删除。 ( 2 ) 项目类型的定义、修改、删除。该定义按合同分别来定义,在合同下 定义各种项目类型。 ( 3 ) 合同管理,对养护管理单位与养护施工单位签订的合同进行管理,包 括增加、修改和删除。 2 2 2 养护办公模块功能 ( 1 ) 同常巡检病害信息的录入、修改、删除。 ( 2 ) 病害项目类型确认,把录入系统的日常巡检病害确认为合同的工程量 清单上的类型,在保持巡查病害数据不变的情况下把数据存入病害库。 ( 3 ) 工作指令,对病害数据库中的同常巡检病害按合同号向养护施工单位 下达施工计划通知单。 ( 4 ) 验收管理,养护监理单位、养护管理站和养护科依次对已完成的维修工 程进行验收。 ( 5 ) 计划管理,养护科制定各个养护管理站的养护年计划,养护管理站对 年计划进行分解。 2 2 3 信息查询模块功能 ( 1 ) 项目数据查询,可以按合同、时间、病害类型、是否处理( 维修) 等 查询条件对病害数据等进行查询。 ( 2 ) 养护计划查询,对养护计划按年或计划类型查询。 2 2 4 系统管理模块功能 ( 1 ) 用户组管理,建立不同的用户组,并对不同的用户组赋予不同的权限。 ( 2 ) 用户管理,在用户组下增加、修改和删除用户。 ( 3 ) 同志管理,系统同志记录用户对系统的各种操作,便于系统管理员进 行系统管理。 武汉理1 :人学硕+ 学位论文 2 3 系统技术路线 2 3 1 系统技术路线 本系统采用b s 架构,采用t o m c a t 6 0 2 4 作为w e b 应用服务器,用w e b 浏览器( i e ) 作为客户端,数据库系统采用的是s q ls e r v e r2 0 0 0 ,集成开发环 境为m y e c l i p s e 6 5 完全版。系统基于m v c 设计模式开发。 m v c 2 0 】是m o d e l v i e w c o n t r o l l e r 的简称,即模型视图一控制器,是一个被 广泛使用,并成为s u n 公司j a v a e e 平台的设计模式。 在本系统中模型是由h i b e r n a t e 从数据库映射的类构成,它们定义了w e b 应用中的操作对象,还有一部分是受控的j a v a b e a n ,用于在视图和控制器之间 传递数据。h i b e r n a t e 进行j a v a 类到数据库表以及j a v a 类之间的映射。视图则 由j s f 的u i 组件树以及与u i 绑定的转换器、验证器加上a j a x 来实现,j s f 和 a j a x 为本系统提供了美观的用户交互式界面。控制层由f a c e s s e r v l e t 类和一些 实现业务逻辑功能的a c t i o n 控制器来实现。 此技术架构的优势在于: ( 1 ) 低耦合 j s f 技术做到了应用程序逻辑和表示的完全分离。虽然一些基于j a v a 的 w e b 应用开发框架也能部分地实现这种分离,但它们无法将h t t p 请求映射为 具体组件的事件处理,也无法在服务器上管理有状态的u i 组件,而j s f 就能做 到这一点。 ( 2 ) 代码重用性高 j s f 提供了一组丰富的、可重用的服务器端用户界面组件。在开发工具的 支持下,用户可以很容易地在可视化环境中利用这些组件构建w e b 用户界面, 处理组件的数据校验、事件处理等用户界面管理问题。 ( 3 ) 模块化设计 j s f 是一个开放的标准,而且具有很好的可扩展性。依照j s f 的规范,用 户完全可以根据需求定制自己的用户界面组件、事件处理器、数据校验和转换 组件等,这些组件和标准的j s f 组件一样是可重用的【2 1 1 。 ( 4 ) 减少开发时间 集成j s f 和h i b e r n a t e 能减少构造模型层实体模型的时间。因为h i b e r n a t e 实现了对象持久层轻量级封装,它不仅仅管理j a v a 类到数据库表的映射,还提 9 武汉理r :人学硕十学位论文 供数据查询和获取数据的方法,可以大幅度减少开发时人工使用j d b c 处理数 据的时洲1 7 】3 2 _ 3 舶。 ( 5 ) 隔离数据源 h i b e r n a t e 框架可以将业务逻辑层与数据层分离开来,程序员面对的是持久 层对象,而不是复杂的s q l 代码,便与逻辑层的交互。持久层框架封装了数据 库持久层的大多数技术细节,如事务管理、数据库连接管理、s q l 生成等【2 2 1 。 有了这些成熟优秀的底层实现,开发人员可以从j d b c 编码中解脱出来,把他 们的精力和创造力投入到真正有价值的工作中,使业务逻辑实现变的更加清晰。 2 3 2 系统关键技术 2 3 2 1m v c 模式 m v c 把应用程序分成三个核心模块:模型、视图和控制器,它们分别担负 不同的任务。图2 3 显示了这几个模块各自的功能以及它们的相互关系【2 3 1 。 。一一。一一一一一。一 事件 图2 3m v c 设计模式 m v c 处理过程【2 4 】:首先控制器接收用户的请求,并决定应该调用哪个模 型来进行处理;然后模型根据用户请求进行相应的业务逻辑处理,并返回数据; 最后控制器调用相应的视图来格式化模型返回的数据,并通过视图呈现给用户。 1 0 武汉理工大学硕士学位论文 2 3 2 2j s f 框架 j s f 技术是构建基于j a v a 技术的w e b 应用的一种服务器端u i 框架。它主 要包括两部分【2 5 】:一部分是一组a p i ,用于表示u i 组件并管理它们的状态、处 理事件和输入验证、定义页面导航、以及支持国际化和可访问性;另一部分是 在j s p 页面中描述j s f 接口的用户定制标签库。 1 ) j s f 的工作原理 在基于j s f 的应用程序中,处理请求的s e r v l e t 名为f a c e s s e r v l e t ,它是应 用程序的前端控制器,在w e b 模块部署描述符文件w e b x m l 中配置,只要一个 特定u r l 模式的请求能与s e r v l e t 的映射u r l p a t t e r n 匹配( 例如车f a c e s ) ,这个请 求就可以被当成“f a c e s 请求 ,f a c e s 控制器s e r v l e t 就能拦截这个请求,从而 对它进行处理。 当j s f 应用的f a c e s s e r v l e t 接收到一个f a c e s 请求时,就调用在初始化时获 得并存储的f a c e s c o n t e x t f a c t o r y 实例的g e t f a c e s c o n t e x t o 方法获得f a c e s 上下文 的实例,用f a c e s 上下文实例来处理当前进入的请求,然后再获取生命周期实 例( l i f e c y c l e ) 。f a c e s s e r v l e t 将包含请求以及对应的响应信息的f a c e s 上下文 实例作为参数调用请求处理生命周期的e x e c u t e ( ) 方法 2 6 1 。当e x e c u t e ( ) 执行后, 再以f a c e s 上下文作为参数,调用请求处理生命周期实例的r e n d e r ( ) 方法,该方 法执行请求处理生命周期中的呈现响应阶段。呈现响应后,标志着对一个请求 处理的完结,当一个请求处理生命周期完成后,j s f 实现就会调用f a c e s 上下文 的r e l e a s e 方法,将f a c e s 上下文实例释放掉。实际上,释放f a c e s 上下文的大 多数情形是将它放回池中,以便有新的请求进来时再从池中取用,而不必在每 个请求到来时都创建一个新的1 2 7 】。 2 ) j s f 的生命周期 上面提到了j s f 请求处理生命周期,它在j s f 开发中担当着使j a v a s e r v e r f a c e s 运行起来的幕后引擎角色。j s f 请求处理生命周期能把服务器端的 j a v a b e a n 属性自动同步到有层次的组件集的能力,是它与其他w e b 技术相比的 主要优势【2 引。下面分别分析说明一下j s f 请求处理生命周期的每个阶段,包括 事件处理和检验。 武汉理j :大学硕士学位论文 - 一t i 图2 - 4j s f 请求处理生命周期 ( 1 ) 恢复视图。这一阶段也叫重建请求树阶段。当j s f 应用接收到一个请 求时,f a c e s s e r v l e t 提取视图的i d ,并用这个1 d 来查找视图。若视图不存在, j s f 控制器就会创建它,并将事件处理程序以及注册的转换器、验证器绑定到 相应组件上。若该视图存在,j s f 控制器就会使用它。一旦视图被创建或获得, 便被保存在f a c e s c o n t e x t 中 2 9 1 。 ( 2 ) 应用请求值。用来自客户端的最新数据更新这些服务器端组件。即在 用户界面组件视图p ”( 或u i v i e w r o o t ) 上调用高级方法p r o e e s s d e e o d e s o 把 请求值应用到u i 组件( 所有子组件都会递归调用它们的p r o c e s s d e e o d e s o ,进 行请求名称一值对的“解码”,把匹配的新值应用到u j 组件的v a l u e 属性) 。 ( 3 ) 处理验证。对进入数据进行转换和验证一般发生在该阶段,j s f 调用 验证器或组件自身的v a l i d a t o r 0 j y 法x 寸_ 数据进行有效性验证j 。 ( 4 ) 更新模型值。把通过转换和验证的数据更新到与组件相关的后台b e a n 对象的属性中。通过更新后台b e a n 的属性,更新服务器端模型的实际值。 ( 5 ) 调用应用程序。j s f 向激活的监听器广播本阶段的所有事件,调用注 册的动作监听器和动作方法执行应用程序的业务逻辑,根据导航规则确定接下 柬要显示的页面,然后把控制传递到下一阶段4 0 书。 ( 6 ) 渲染响应。将响应呈现给客户端,还要保存视图的当前状态,以便在 后续w e b 请求中可以访问和恢复泼视图。 2 323 h i b e r n a t e 框架 1 ) h i b e r n a t e 的体系结构 h i b e r n a t e 的体系结构,如图2 5 所示。h i b e r n a t e 根据h i b e r n a t e 配置和 武汉理t 大学硕十学位论文 h 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 接收从应用程序传 过来的持久化对象,经过处理后,保存对象到数据库中【3 2 】。另一方面,h i b e r n a t e 能够从数据库中装载数据行,转化为持久化类的实例并提供给应用程序使用。 图2 5h i b e m a t e 体系结构 h i b e r n a t e 的架构有三个主要部分组成【3 3 】: ( 1 ) 连接管理:h i b e r n a t e 的连接管理服务提供了有效的数据库连接管理。 数据库连接是与数据库交互的最重要的部分,因为有很多资源需要打开和关闭 数据库连接。 ( 2 ) 事务管理:事务管理服务可以让用户在同一时间执行多个数据库报表 操作。 ( 3 ) 对象关系映射:对象关系映射是将一个对象模型的数据表示为关系数 据模型的技术。用于选择,插入,更新和删除数据库表的记录。 2 ) h i b e m a t e 核心接口 h i b e r n a t e 的核心接口主要有以下几个: ( 1 ) c o n f i g u r a t i o n 类的主要作用是解析h i b e r n a t e 的配置文件和持久化映 射文件中的

温馨提示

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

评论

0/150

提交评论