




已阅读5页,还剩76页未读, 继续免费阅读
(计算机应用技术专业论文)基于struts和hibernate构建gsm电子运行维护系统.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
阴川人学硕上学位论文 綦于s t r u t s 和h i b e r n a t e 构建g s m 电子运行维 护系统 计算机应用技术专业 研究生美昊攒导教师李志蜀 摘要】 随着我凿通信事业豹发展和基础逶信设麓的建设,电信嘲的甄模迅 速扩大,同时国内电信市场的竞争也f 1 涟激烈。对于中国电信遮营商的 核心业务一一网络运行维护工作来说,传绞的电话、邮件、传囊方式主 要存在三点獒端:首先,传统方式下的运行维护工 乍无法跟踪鼗降清况; 熬次,历史龇障发生的频率、类型、处理情况、解决办法等运维经验得 不到有效利用;再次,无法对故障瓣处理遴行效率谬馈帮绩效考棱。瘊 以,传统方式下的运行维护工辛乍在进行省肉、省际的故障协调鞠维护工 作时存在诸多缺陷,它已缀不能满足当代电信业的发展需要。为了解决 这些闻题,追切需要建立一套钉之有效蕊服务流攫支撑系统。隧此,电 子运行维护系统( e o m s ) 应运而车。它是从电信运营商的运维部门的 工作模式和特点出发,专门针对其运维工作而设计的电子化、流程化的 应瘸系统。它可以协助电臻运黄商提麓运维质量,全瑟提跫金韭的骚务 旗量和核心竞争力。 在e o m s 系统的开发实践过程中,本文作者同时参与了该系统体系 絮橡夔设汁秘系统模块懿实王蹙。在设计e o m s 系绞体系梅契时,本文作 者提出了在m v c 设计模式釉s t r u t s 构絮的基础上,将传统的s t r u t s 构 四川人学硕上学位论文 黎的蔷层进一步细分,并在数提持久屡融入h i b e r n a t e 来进行数据操 乍 的w e b 应用擒絮方式。在系统模块开发上,本文作者主要承担了系统最 核心的t 单模坟的开发。根据工单模块的特点,本文作者在设计中采用 摸投方法模式( t e m p l a t em e t h o dp a t t e r n ) ,使德代码可以最大限度娥被复 弼一【单模块分为b o ( b u s i n e s so b i e c t ) 、d a o ( d a t aa c c e s so b j e c t ) 、 p o ( p e r s i s t e n c eo b j e c t ) 、v o ( v i e w0 b j e c t ) 、q o ( q u e r yo b j e c t ) 等部分。其 中p o 和v o 的应用,大大降低了m v c 模式中各滕驹藕合牲;弱乡 , e o 的提蠢帮设诗,极大简纯了在程序中对数据痒套谗的代码。该模块 约1 1 8 个类,代码量超过3 0 0 0 0 行。 本文的组织结梅如f :蛰先分绍了j 2 e e 抟基本鳃识和m v c 设计模 式,在此基础上,详细阐述了s t r u t s 桶絮的俸系结构和基本原璐,并通 过数据持久层概念的提出,介绍了h i b e r n a t e 的基本知识。然后通过应 爆s t r u t s 和h i b e r n a t e 框架技术开发中謦移动酌g s m 电子运行维护系统 ( e o m s ) 静实铡,分李厅奢颁技术在实酝开发中的应j ; j 方式,竣露讨论 了s t r u t s 和h i b e r n a t e 的优缺点,并总结了项目中的各项体会。 美键字:j 2 e e ,m v c ,s t r u t s ,h i b e r n a t e ,e o m s 羽埘人学硕士学位论文 b u i l d i n gg s m e l e c t r o n i co p e r a t i o na n dm a i n t e n a n c e s y s t e mb a s e do ns t r u t sa n dh i b e r n a t e s p e c i a l t yo fc o m p u t e ra p p l i c a t i o n p o s t g r a d u a t e :h a ow u s u p e r v i s o r :p r o f f z h i s h ul i a l o n g w i t h d e v e l o p m e n t o ft h ec o m m u n i c a t i o n e n t e r p r i s e s a n d c o n s t r u c t i o no ft h ef o u n d a t i o n a lc o m m u n i c a t i o n se q u i p m e n ti no u rc o u n t r y , t h es c a l eo fc o m m u n i c a t i o nn e t w o r ke x p a n d sr a p i d l y ,a n dt h ec o m p e t i t i o n s o fd o m e s t i ct e l e c o m m u n i c a t i o n sm a r k e tb e c o m em o r ea n dm o r ei n t e n s i v e a st h ec o r eb u s i n e s so ft h et r a d e r s ,t h e r ea r et h r e ed e f i c i e n c i e si nt h e o p e r a t i o na n dm a i n t e n a n c eo ft h en e t w o r kb yt r a d i t i o n a lw a y s ,s u c ha s t e l e p h o n e ,m a i la n df a c s i m i l e f i r s t ,i ti sh a r dt ot r a c kt h e s em a l f u n c t i o n s s e c o n d ,t h eu t i l i z a t i o no ft h ei n f o r m a t i o na b o u to c c u r r i n gf f e q u e n c nt y p e s , p r o c e s s i n gw o r k s ,a n ds o l u t i o n so fh i s t o r i c a lf a u l t si si n e f f i c i e n t t h i r d , t h e r ei sn ow a yt o a p p r a i s e t h e e f f i c i e n c y o fm a l f u n c t i o ns o l u t i o n s t h e r e f o r e ,c o n s i d e r i n gt h ed i f f i c u l t i e si nt h ec o o r d i n a t i o na n dr e p a i ro ft h e p r o v i n c i a la n di n t e r p r o v i n c i a lm a l f u n c t i o n s ,t h et r a d i t i o n a lw a y sc a n n o t s a t i s f yt h en e e d so fd e v e l o p m e n to fc o m m u n i c a t i o n se n t e r p r i s e sa n y m o r e i no r d e rt os o l v et h e s ep r o b l e m s ,i ti s n e c e s s a r yt oe s t a b l i s h as e to f e f f e c t i v es u p p o r t i n gs y s t e mf o rs e r v i c ef l o w t h u s ,e l e c t r o n i c o p e r a t i o n m a i n t e n a n c es y s t e m ( e o m s ) e m e r g e sa st h et i m e sr e q u i r e a c c o r d i n gt ot h e w o r k i n gp a t t e r n sa n dt h ec h a r a c t e r i s t i c so ft h eo p e r a t i o na n dm a i n t e n a n c e d e p a r t m e n to ft h e c o m m u n i c a t i o n st r a d e r s ,e o m si s d e s i g n e d a sa n e l e c t r o n i cf l o w e da p p l i c a t i o ns y s t e m t h ea p p l i c a t i o no fe o m sc a na s s i s t t h ei m p r o v e m e n to ft h e o p e r a t i o na n dm a i n t e n a n c eq u a i l t y ,p r o m o t et h e s e r v i c eq u a l i t yo fc o m m u n i c a t i o n se n t e r p r i s e s ,a n du p g r a d et h ec o m p e t i t i v e p o w e r s i nt h ew h o l ep r o c e s so fe o m sd e v e l o p m e n t ,t h ea u t h o rp a r t i c i p a t e di n 嚣川允学礤i 学位论文 b o t ht h ed e s i g na n dt h er e a l i z a t i o no ft h es y s t e m ,d u r i n gt h ed e s i g n i n g ,t h e a u t h o rp u tf o r w a r dt h ea p p l i c a t i o no fm v c m o d e li n t ot h es y s t e ms t r u c t u r e , w h i c hd e t a i l st h ei e v e l so ft h ew e bo f ft h eb a s eo ft r a d i t i o n a ls t r u t sl e v e l s 1 nt h er e a l i z a t i o n t h ea u t h o ru s e dh i b e r n a t ei n t h e o p e r a t i o n o fd a t a p e r s i s t e n c el a y e r i nt h ed e v e l o p m e n to fs y s t e mm o d u l e ,t h ea u t h o rw a sr e s p o n s i b l ef o r w o r k s h e e tm o d u l e ,w h i c hi st h ec o r ep a r to fe o m s a c c o r d i n gt ot h e f e a t u r eo fw o r k s h e e tm o d u l e ,t h et e m p l a t em e t h o dp a t t e r ni su s e di nt h e d e s i g n i n g ,w h i c hm a k e sp o s s i b l et h em a x i m a lr e u s e o fc o d e s t h em o d u l ei s d i v i d e di n t of i v ep a r t s ,b o ( b u s i n e s so b j e c t ) 、d a o ( d a t aa c c e s so b j e c t ) 、 p o ( p e r s i s t e n e eo b j e c t ) 、v o ( v i e wo b j e c t ) 、q o ( q u e r y0 b j e c t ) ,t h e a p p l i c a t i o no fp oa n dv o r e d u c e st h ec o u p l i n ga m o n gt h el a y e r so fm v c m o d u l e ,t h ed e s i g no fq os i m p l i f i e st h ec o d e so fa c c e s so fd a t a b a s e w o r k s h e e tm o d u l e n c l u d e s1l8c l a s s e sa n d3 0 0 0 0l i n e s t h i s p a p e rf i r s t l y d e s c r i b e dt h ea r c h i t e c t u r ea n d p r i n c i p l e o fs t r u t s f r a m e w o r kb a s i n go nt h ei n t r o d u c i n go fj 2 e ea n dm v cm o d e l s e c o n d l y , t h r o u g hr a i s i n g t h e c o n c e p t i o n o fd a t a p e r s i s t e n c e l a y e r ,t h i sp a p e r i n t r o d u c e dt h eb a s i ck n o w l e d g eo fh i b e r n a t e 。t h i r d l y ,t h r o u g ha ne x a m p l e o f a p p l y i n g s t r u t sa n dh i b e r n a t ef r a m e w o r kt o c h i n am o b i l e c o m m u n i c a t i o n sc o r p o r a t i o n sg s me l e c t r o n i c o p e r a t i o n m a i n t e n a n c e s y s t e m ( e o m s ) ,t h i sp a p e ra n a l y z e di nd e t a i lt h ea p p l i c a t i o no fs t r u t sa n d h i b e r n a t ef r a m e w o r ki n t op r a c t i c a ld e v e l o p i n gp r o c e s s a te n d ,i td i s c u s s e d a d v a n t a g e sa n dd i s a d v a n t a g e so fs t r u t sa n dh i b e r n a t ef r a m e w o r k ,a n d s u m m a r i z et h ee x p e r i e n c e si nt h ep r o j e e td e v e l o p m e n t , k e y w o r d s :j 2 e e ,m v c ,s t r u t s ,h i b e r n a t e ,e o m s 鼯列大学碗t 学位论文 1 引言 髓着w e b 应1 爵j 翡普及帮企鼗诗舞技术静逐猛菱矮,鲡今企监越寐越依赖各 种不同的w e b 应用程序来掇高管理效能。传统韵w e b 应用开发是将页面箍示、业 务逻辑和数据箍理大部分都集中在页面代码中,导致了业务逻辑、数据处理和 页面显示的耦合性很强,w e b 应用扩展与维护都比较困难,同时也不利于开发 人员分工协作。传统的w e b 应用开发在开发大型的企业级w e b 应用中愈加显得力 不从心所以迫切需要一种全新的w e b 应用设计技术和开发:i :具能够熄页面 显示、业务逻辑和数据处理相分离,最大限度地降低系统各模块之间的辐合性, 从髓增强系统熬可扩戚性与可维护性,提菇代码重用攀,锼系统爨层次结搀受 朋清曦,鬟于开发人员黪分工协作,充分发挥开发久员的各鑫特长。 为了降羝袋本、挪挟反鬟程序瓣开发帮设计,j 2 e e 平台提供了一释基予组 件的方法。对予一个多层的应蠲模登,掖器功驻将箕应稻逻辑翊分成不同的组 件,如应鬻客户组件、e j b 组件、w e b 组件( s e r v l e t 、j s p ) 和a p p l e t 。我们要做 的就是如何组装这些组件饺之成为一个易予开发、易于维护、可扩展性好的软 件体系结构,从而以更小的成本、更少的资源、更快地完成应用的设计和开发。 最早在s m , d l t a l k 一8 0 中被提出的m v c 设计模式就体现了这样的恩想。m v c 即:模型( m o d e l ) 、视图( v i e w ) 、控制器( c o n r o l l e r ) 。模型表示业务逻辑; 视陶是应用程序中用户界碟相关的瓤分;控制器的传用是从客户蝼接受请求, 著且选择执行相应的业务逻辑,然螽撼响应结鬃送隧到客户端。这种设诗模式 把应用逻辑、楚理过程秘显示逻辑分残不溺豹缀箨实瑶,遗过三者之阉的分离 达到屡阉静松散藕合,戳实现代码蓬用和易于修改,提高系统的灵活往、复用 程和可维护侄,达弼提高软件须量的目的。 另一方面,o rm a p p i n g ( o b j e c tr e l a t i o nm a p p i n g ) 对j d b c 进行了轻量级 的对象封装,使j a v a 程序员可以随心所欲地使用对象编程思维来操纵数据库。 它具有自我存储到关系数据库的能力,使对象的改变能哆直接褥以存储,而不 硒川太掌预t 学位论殳 考虑数据库存取代鹃。这样,把全部精力集中到对对象和类进行编程,孵决q 2 务问题。在整个系统中除了这一+ 个层次外,没有1 旬数摆艨存取代码。其中, h i b e r n a t e 作为o rm a p p i n g 中袋好的开源王篡,受到越寒越多的程序员的捅护。 2 鞠川大学礤| 学位冷文 2j 2 e e 撅述 j 2 e e 遐一萃中利用j a v a2 乎台来麓化企业鳃决方寨的开发、部署弱蛰理相 关的复杂问题的体系结构,提供了企业计算所必须的服务如事务、安全性、消 怠照务等。j 2 e e 应惩熬终 孛鲡e n t e r p r i s ej a v a b e a n ( e j b ) 、j s p 耧s e r v l e t 运行 于j 2 e e 容器之中,通过连接器访问企业信息系统,如数据库系统、e r p 系统 和萁能应蛹稔序系统。j 2 e e 应羽可以熊成一舔翔酌客户端,包括独立运行的台 式客户端、炙线客户端,以及基于w e b 浏览器的客户端等。 j 2 e e 技术的基础就是核心j a v a 平台或j a v a2 平台的标准版,它不仅巩固 了掭攥版中灼许多馋点,例如”缡写一次、隧处运行”豹特瞧、方鹱存取数据库 的j d b ca p i 、c o r b a 技术以及能够在i n t e r n e t 应用中保护数据的安全模式等 等;鼷对还掇供了对e j b ( e n t e r p r i s ej a v a b e a n s ) 、j a v a s e r v l e t s a p 、j s p ( j a v a s e r v e rp a g e s ) 以及x m l 技术的全面支持。其最终目的就是成为一个能够使企 、监开发者大襁缩短投放市场时间的体系结构。 j 2 e e 体系结构提供的中间层集成撼絮,可用于满足无鬟太多费用藤又需要 高可用性、高可靠性以及诃扩展性的应用的需求。通过提供统一的开发平台, j 2 e e 降低了牙发多屡应鼹戆费躅积复杂经,露鞋提供对现努瘟翅糕痔集成强有 力支持,完全支持e n t e r p r i s ej a v a b e a n s ,有良好的向导支持打包和部署应用, 添葫疆录支持,璜强了安众瓿翻,提高了往麓。 2 1j 2 e e 的优势 j 2 e e 挺供了一个金攮缓静诗算模黧帮运露舔凌稻予开发窝部署多嚣体系 结构的应用,如图2 ,l 所示。它通过提供企业计算环境所必需的各种服务,使 得帮磬在j 2 e e 平台上静多层应蹋可以实现高可甭瞧、安全性、可扩展髓和可 靠性。 翻埘 学礤 学位论曼 客户端表示 服务器端表示服务器端商业逻辑企业信息系统 i 萤= 1 圉2 一 j 2 e e 应用模型图 j 2 e e 技术与英袍w e b 应灞开发技术褶眈,箕优越往在于: 1 j 2 e e 海搭建其有可 率缩髓、灵滔往、易维护洼酶裔务系统掇供了良好 的税制。 2 傈餐淡存静弹资产:囱予企渡必须邋应新酌商鳖需求,嗣蠲已商的企 选倍惑系统方褥静投资,丽不憝璧薪制定全盘方案就变褥很骧要。这祥,个 醴渐进的( 雨不是激逡韵,全盘否定的) 方式建立在已有系统之上的服务器端 平台税涮趸企照掰需求扮。两遥避健甏j 2 e e 粲稳,孺户可敬充分髑甭艨有的 投资来避行新需求的开发。这之所黻成为w 能是因为j 2 e e 拥有广泛的业界支持 帮一鍪蓬要煎“企娃计箕”领域供应穗的参与。簿一个供应商都对蠛有瀚客户 提供了不用废弃已有投资,进入霄移植的j 2 e e 领域酌升级途径。由于基于j 2 e e 平台酌产晶几乎莪够在任何操作系统和硬箨醚置上运行,现存的操作系统和硬 件也能被僳蟹後篇。 3 高教的开发:j 2 e e 技术允许企业将一照通用的、狠繁琐的服务端任务 交给中淘箨供疵商去完成,从而傻开发a 员可以将精力集中在如何实现商业逻 固固 鞘川大学碳主学位论文 辑上,稳应遮绩矮了开发时闻。赢级中闽传供应巍提供良下复杂酌中闻侔鼹务: 1 ) 状态管理服务:让开发人员写更少的代码,不用关心如何管理状态, 这样麓够更快缝完成程序开发。 2 ) 持续性服务:让开发人员不用对数据访问逻辑避行编妈就能缡写应 用程序,能生成更轻巧、与数据库无关的应掰程序,这种应用程序更易于开发 与维护。 3 ) 分布式共享数据对象c a c h e 服务:、止开发人员编制商性能的系统, 援大摄毫整体部署靛 串缭经。 4 。支持异构环境:j 2 e e 能够开发部署在异构环境中的可移植程序。基于 j 2 e e 的应用程序不依赖任何特定操作系统、中间件、硬件,因此设计台鞭的基 于j 2 e e 的稷序只器开发一次就可部署到各釉警台。这在典型的异梅企业计算巧 境中鼹十分关键的。j 2 e e 标准也允许客户订购与j 2 e e 兼容的第三方的现成的 缀l 孛,把链们部署刘曩构坯壤中,节嚣了圭爨已铡订整令方案矮鬟的费瘸。 5 可伸缩性:企业必须要选择一种服务器端平台,这种平台应能提供极 佳静可 宰缩梅去满足都些在德们系统上进彳亍巍泣运俸的大撬新客户。基予j 2 e e 平台的应用程序可被部署到各种操作系统上。例如可被部署到高端u n l x 与大 型杭系统,遮种系统单枫可支持6 4 至2 5 6 个处理器。j 2 e e 领域豹供应商提供 了更为广泛的负载平锈繁略,能消除系统中的瓶颈,允许多台照务器囊成部署。 这种部署可达数千个处理器,实现可商度伸缩的系统,满足未来商业应用的需 要。 6 稳定的可用性:个服务器端平台必须能全天候运转以满足公司客户、 台作软律静需要。黼为i n t e r n e t 是全球纯韵、无处不在的,即使在夜间接诗 划停机也可能造成严重损失。若是意外停机,郧会有灾难性后果。j 2 e e 部署到 可靠的操作环境中,他们支持长期的可用性。一些】2 e e 部署在w i n d o w s 环 壤中,客户也可选择健壮性能更好的操作系绫如s u ns o l a r i s 、毋mo s 3 9 0 。最 健壮的操作系统可达到9 9 9 9 9 的可用性或每年只需5 分钟停机时间。这是实 对蝰缀强鬻数系统瑗悲辫选择。 j 2 e e 平台能提供多层分布式应用模型,重复利用组件,提供统安全模式, 并灵活遣控镧事务处理。借助j 2 e e ,不但能爨侠地将客户解决方案推向市场, 还能馒基于j 2 e e 组件、不依赖于平台的孵决方案不被锁定至h 任 可厂商的产娃秘 蠲川大学颧学能论文 a 鞭上。 j 2 e e 的多麓分森式髂系结构,之所以= 毫= 育离可用性、离可靠经以发可扩耧 申耋,这是禹为: 1 、 j a v as e r v l e t 嬲j s p 都要编译为j a v ac l a s s 才馋必s e r v l e t 运行,因此 捷行糕髓会明曼提瓷。 2 ) j a v as e r v l e t 和j s p 中可以完全使鹚j a v a 进行编搂,可以完成谗多麓 单的商业逻辑,特别是j s p ,可以直接书写h t m l ,因此简化了页面的输出, 这样就保留了脚本谣言荔于使用酌优点。 3 )复杂的商鼗逻辑以缝件的形式部署在e j bs e r v e r 中。踟于e j b s e r v e r 提供了多种绦俘事务服务,使系统受能够应付大羹韵并发溺户和管理复 杂瓣誊务逻辑。 4 ) e j bs e r v e r 中集成戆缀传翕名鼹务霹敷键线箨袋蘩透裙亿,麓纯了 缀件的部署积客户端应用的维护。 5 )开发过程易于分工,可以由专人负责编麓组件,其他人维装页面。 6 )j 2 e e 平台全蕊支持和实施x m l ,这种强大的缀合可使x m l 具备 跨平台的兼容憔,甚至羯于对x m l 代码遴行语法检查和调试的工具也可与平 台无关。j 2 e e 技术和x m l 技术分剐憝企渡开发的阴阳两极,因为x m l 可实 藏独立予平台豹数撂,蔼j 2 e 嚣平台剽可实憝独立予平台熬解决方案。飙可 透过移撞弱方式袭巍数据,爨挖魏黠j a v a 技术瓣爵移檀瞧构成了 竞。 2 。2j 2 e e 的分屡模型 j 2 e 基使用多层的分糍式嶷用模型,应趣逻辍按凌s 划分为缝 孛,务令应嗣 组件根据他们所在的层分布在不同的机器上。事实上,s u n 设计j 2 e e 斡初衷 正是为了解决两层模式( c l i e n t s e r v e r ) 的弊端。 在传统模式中,客户端掇当了过多的角色丽显得臃舯。在这种模式中,第 一次部署的时候魄较容荔,毯难予升缀或改进,可伸展槛也不理想,而且是经 常蒸予菜释专裔瓣协议,通常逶菜释数据露 秀议。它使褥重雨业务遂辑和界面 逻辑嚣鬻困难。 璐在,j 2 e e 熬多是企数级寝霜模黧,褥硬层纯摸燮中爨不溺爱襟溺分茂 许多层,一个多屡化应用能够为不同蟾每釉暇务提供一个獭立敷层。竣下是 6 强列天学鞭圭学位论文 j 2 e e 典型的三层结构: 1 、运行在j 2 e e 黢务器上的w e b 拦缀件。 2 、运雩j = 在j 2 e e 溅务器上瀚堑务逐瓣屡组件。 3 、运行在h s 般务器上憋基础极架屡软 孛。 w e b 熔 霉2 _ 2 露户朦体系围 j 2 e e 应建疆垮怒由鍪种不弼豹组传掰梭残。j 2 e e 缀 孛是蒸有獭立功能 钓软件肇元,它们通过褶关韵粪和文彳牛缀装成j 2 e e 应用程序,并能与其他组 件送行交互。 w e b 层缝髂霹默楚j s p 页瑟藏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 鬣缀件。如图2 - 2 掰示的客户罄粥棒,w e b 艨可能包 含某些j a v a b e a n 对象来处理用户输入,并把输入发送给运行在、煦务屡上的 e n t e r p r i s eb e a n 泉进行处邂。 妲务层代强瓣逻辑翔来满足锻李亍、零售、鑫融等特殊裔务矮域盼需要,溱 运行在业务瑶上的e n t e r p r i s eb e a n 避行处理。有三种企啦级的b e a n :会话( s e s s i o n ) b e a n s 、实 4 k ( e n t i t y ) b e a n s 、鄹消息驱动( m e s s a g e - d r i v e n ) b e a n s 。其中,会活b e a n 表示与客户端程序懿糕对交互。誊客户端稷彦执零亍宠螽,会活b e a n 秘稳关数 据簸会消失;实俸b e a n 表示数精窿酌表中一括永久的记录。当窑户端程序中 止或服务器关闭时,就会有潜在的服务保证窝体b e a n 的数攥德以保存。消息驱 动b e a n 结会了会诿b e a n _ 羊爨j m s 的港爨黢瞬器瀚特豫,龛诲一个照务整缀件异 步接牧j m s 满意。 阳川人学硕士学位论文 基础构架滕处理企业信息系统软件,包箍企地基石 | 建设系统,如:企、瀣资 源浮划( e r p ) 、大登梳事务怒壤、数螽蓐系统帮其它魏遗翅售惠系统,如:j 2 e e 应用组件可能为了数据库连接需要访问企舭信息系统。 褥川大学颥i 学位论宣 3m v c 简介 3 1b l v c 设计模式 设计模式描述了在甏淘对象较 孛设计过程。p 针对特定润趣静蕊洁纛优雅酌 解决方案。设计模式捕获了这鍪解决方案,并朔简洁翁用的方式表达出来。软 件领域中的设计模式为开发人员罐供了一种使爝专家设计经验的有效途径。 “模式是三三段值,表示特写情境、问题弓方案之间的关系”即模式是多神 情形中可以馊用的越题勰,模式楚从经骏巾总缕基采豹,基于经过滠实瓣方案, 模式只有在实际系绞中多次得到骏证之朦才8 成为模式。 模型一睾燕强一按铡器( m v c ) 是x e r o xp a r c 在整纪8 0 年代为编程语言 s m a l l t a l k - 8 0 发明的一种软俘设计模式,至今墨梭广泛使用,簸近豇年被推荐为 s u n 公司j 2 e e ( j a v a 2e n t e r p r i s ee d i t i o n ) 平台的设计模式。m v c 模式弱化了业务 逶辚接口和数据接口之啕的耦台,使逻瓣与墨现穗分蕊,从砸让表现层更为独 立和更富于变化,增强了代码的可维护性与扩展性。 m v c 楚砖设计模式,它强豢4 挂地援应鼷程序黪辕入、处璞秘徐出分开。 其应用架构划分为3 个担夏铃调的核心模块:模型、撬阁霹控制嚣,它们分爨攒 受不鬻酌任务。萄3 一l 嚣示了这三个模浚各裔的功能阻及它们的褶甄关系。 方注谣耀一一事件 匿3 1m v c 设计模式 蕊巴蚕我髓哥强涛跨i 穗看密整个m v c 瀚楚龚遥程是:蕾先控黼器接收用 户的请求,并决定痰该调焉漆个模登束遴孪亍鲶瑗t 然簸模鼙掇据粥户的请求进 强蚓太学硕士学位论文 行裙应的韭务逻辑焚理,并返回数据;最后控制器调用稻应麓褫胬格式化模型 返回的数疆,势通过表示堪譬躐绘溺户。 模型( m o d e l ) 爱瘟趱翟廖煞圭俸部分,表示盈务数据帮业务逻辑。它包含 应燧程序的核心功熊,封装系统救状态。一个模型栽为多个视图提供数据,由 于围个模犁司以坡多个褪豳藿蠲,鼹以掇赢了应髑的可羹用性。 视图( v i e w ) 是模型的动态表示,并提供用户交互界磷。视图f 句用户显示 相关的数据,并能接收用户的输入数据,但是它并不进行任何实际的业务处理。 丽时当模型状态发生变化时,视黼应该得刘通知,以便曩新视图。 控制器( c o n t r o l l e r ) 接受璃户的输入并调髑模型和褫图来完成蠲户的需求。 当w e b 用户点击w e b 页西中豹提交按锈来发送h t m l 裹革对,控制器缀收请求 并调用甥应的搂型缝l 牛去处理潺裳,然蜃调用樽应的褪瘸袋鑫示模型返圈戆数 摄。 3 2j s pm o d e l l 翱j s pm o d e 2 虽然m v c 竣诗模式锻旱赣盘糯了,健在w e b 应蠲静开发中弓| 入m v c 帮是步 灌壤漤。这是因炎w 痨座鼹系统懿开发其鸯黧鲜赞匏褥杰。其一是客户梳与 服务器间的无状态逡接。h t t p 的底层是t c p 豫协议,藤t c p i p 楚一秘无状态 连接的捺议,这荦孛连接状态镶褥模型缀难将曼渡通麴视图。为了搜视辫戆网步 表达模型的状态,客户端必颁不断向服务器进行查询,这样会急剧加熬服务器 端的负担。另一个特点是,传统的设计方式即页面到页灏( p a g e t o p a g e ) 方式 将数粥鑫示、效务邋辑、流程控翻藕数据持久键处理等模块强耦合在一个代码 模块中,采臻这嵇摸鼙在开发中容易产生镄多游题,两懿会随着斑搿稷穿筑模 约不繇扩大露热捌系统开发、维护黪复杂箨度。这些褥趱主烫包括: 1 ) h 伽l 秘j a v a 代码强鹚台在一起:爨改j s p 页露布局慰震要更改j a v a 代 鼹,网更浸计人员不能鸯接参与受嚣开发,露时j a v a 找鹞编写者毖颁丽时关注 网页设计,1 丽不能专注于开发灵滔高效的皮用程序接口,给合理分配开发角色 和划分责任带来很大困难。 2 ) 肉嵌韵流瑕遥辑:癸理群应用程序的整体流雅,妊颁浏览所有阐页, 缀难对大数滚网页帮错综复杂的避辑邋行开发维护。 1 0 鞠川天学弼士学位论文 3 ) 滔试困难:调试过程中毖蔟萦蹶这些簇中予阉一潮页文 牛中的h t m l 标记、j a v a 代码f f 口j a v a s c r i p t 代码,使调试变得相当困难。 4 ) 强藕台注:没有对应用系统的各实瑶模块进行摘象和分离,更改业务 逻辑绒数据将牵涉剐相关的每个网页,需要逐个页藤进行修改,非常不利于对 应用系统进行扩展、更新和维护。 为了熊决以上瓣题,s u n 公蠲先后制定了溅砖娥菠,熬为j s p m o d e l l 靼j s p m o d e l 2 。虽然m o d e l l 在定程度上实现了m v c ,但怒它的运用并不理想;直到 基予j 2 e e 豹j s p m o d e l 2 麓键蠢耩隧改蕊。 在j s p m o d e l l 的体系中,如图3 2 所示,j s p 页蕊负责响应用户请求并将处 理结粱返回用户。j s p 既要负责渡务流释控箭,又要负责提供表示艨数据,同时 充当视图和控卷4 器,未能实现这两个模块之间的独立和分离。尽鸷m o d e l i 体系 十分避合简单应用的需要,它却不适合开发复杂的大型应用程序。不加选择地 隧意运月m o d e l l ,会导致j s p 廷漆嵌入大量逸l a v a 饯璐,会绘激蜃静维妒带来垂 难。 图3 2 d e i1 体系结构圉 j s pm o d e l2 体系结构( 如图3 3 所示) 是种联合使用j s p 和s e r v l e t 来提供 动态内容服务的方法。它吸取了,s p 葶吁s $ f v l e t 瓣秘技术鑫囊熬突爨馕点,耀j s p 生成裘示层的内容,让s e r v l e t 完成深层次的处理任务。在这里,s e r v l e t 充当控 霉器瓣角色,受麦楚理瘸户请求,镯建j s p 茭鬻要使麓静l a v a b e a n 对象,搬据瘸 户请求选择合适的j s p 页返回给用户。在j s p 页内没有处理逻辑,它仅负责检索 藤宠幽s e r v l e t 怠j j 建瀚j a v a b e a n 对象,扶s e r v l e t 中提取动态内容插入弱静态模块。 这是一种有突破性的软件设计方法,它清啦地分离了表达和内容,明确了角色 弼川 学醺士学位论文 定义以及开发考与瓣夏设诗者熬分:。事实上,顼鹫邈复杂,使固m o d e l2 设诗 模式的好处就越大。 莲3 - - 3m v om o d e l2 揍于m v c 设计模式的m o d e l2 应用框架,完美蚋解决m o d e ll 应用中出现 静溺怒。宅不仅实凝了系统韭务逻辑功髓模块、显示模浃和数据持久瑟楚理模 块的分离,同时还提高了应用系统的司维护性、可扩展性、可移植性和缀件的 可复鞭性。 髑川a 学顿_ 学位论文 4s t r u t s 捱桨分析 一个成功麓软 串霉要有令或功鳇艇稳,毽赣 牛挺梅鹣建立慧令复杂恧 义持续改迸的过程,软件开发者们不可能对每个不问的项圈设计4 ;同的架构, 蠢惑是尽量羹髑以翦豹袈掬,城秀发出尽蠢邋嗣的絮秘方絮。s t r u t s 就蹙其中之 ,它是流行黔熬予m v c 的w e b 应用架鞫方褰。s t r u t s 跫鼹前j a v a w e b m v c 梃 槊中不争豹王省。经过长达五年的发震,s t r u t s 已经逐渐成长为一个稳定、成熟 的框架。并麒占有了m v c 框架中最大的市场份颧。其他常用的基于j 2 e e 的架构 方案还有t u r b i n e 、r e a l m o t h o d s 释。 4 1s t r u t s 的体系结构 s t r u t s 是a p a c h ei a k a r t a 项西短提供的个开源顼鞫,项留的创立者希望通过 对渡颈疆豹骚究,菠避黧撬裹j a v as e r v e rp a g e s ( j s p s ) 、s e r v l e t 、标签瘴隧及瑟 向对壤的技术水准。它的目的魑为了减少在遮用m v c 设计模型来开发w e b 应用 时簌菝费嚣瓣翔。s t r u t s 楚m - v c 豹一释实王燕,它继承了m v c 懿各璞褥瞧,并禳 据j 2 e e 的特点,微了稷应赡变化与扩展。s t r u t s 酶工传原理,如下爨4 一l 腰示: 圈4 1s t r u t s 架构图 四川人学硕上学位论义 4 2s 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 m a p p i n g 、a c t i o nb e a n 、 a c t i o n f o r mb e a n 、s t r u t s 标记库。 a c t i o n s e r v l e t : 控制器组件是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 s e r v l e t 类实现的,这个类是 i a v a x s e r v l e t h t t p h t t r s e r v l e t 类的扩展,它是这一框架的核心。我们可以把它看 作是s t r u t s 结构的w e b 应用的调度程序,调度的依据a c t i o n m a p p i n g 对象提 供。它的基本功能是截获用户的h t t p 请求,并将用户请求封装至l j 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 o r d 对象,此对象 连接到相应的( v i e w ) j s p 页面。 a c t i o n m a p p i n g : 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 s e r v l e t 是控制器任务的具体执行者,a c t i o n m a p p i n g 则为a c f i o n s e r v l e t 指明了具体执行路线,是s t r u t s 体系结构的具体体现者。 s t r u t s c o n f i g x m l 是一组响应用户请求的a c t i o n m a p p i n g 对象集合,每一个用户 请求都有一个a c t i o n m a p p i n g 对象与之相对应。它需要应用开发者配置与用户请 求相对应的a c t i o n f o r m 数据属性、是否需要进行数据校验和回写、a c t i o n 数据 处理、输入页面、以及处理完成后可能跳转的页面等一组属性信息,这组属性 信息构成一个a c t i o n m a p p i n g 对象,它决定了该项请求的处理过程。 a c f i o n f o r m i a c t i o n f o r m 类是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 f o r m 扩展类,程序开发人员 为每个表单都创建的一个a c t i o n f o r mb e a n ,以维护w e b 应用程序的会话状态, 但一个a c t i o r l f o r m 可以对应多个表单,具有很好的重用性。它要求为表单中出 现的每个字段定义一个属性,是视图与模型进行数据交换的桥梁。使用它的目 的是为了存储用户在相关表单中输入的数据,在数据校验通过后,由控制器传 送给相应的a c t i o n 方法进行业务逻辑操作,同时在数据校验失败后,将同一网 四川大学硕十学位论文 页进行再生,并提供一组错误信息,这样就可以让用户只修改错误的录入数据。 a c t i o n 所有a c t i o n 类都是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 扩展类,是业务逻辑的一个 包装,它是s t r u t s 应用程序开发的核心,用途是接收控制器传送的a c t i
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025学年高三上学期第三次模拟考试地理试题(含答案解析)
- 工勤考试收银审核员考试题库附答案
- 2025年美容整形医师应聘面试指南及专业问题解答技巧总结
- 2025年A特种设备相关管理(锅炉压力容器压力管道)操作证考试题库及答案
- 2025年企业安全生产管理知识培训资料及模拟题集
- 2025年电子商务运营团队负责人选拔面试题集与答案详解
- 2026届甘肃省玉门市一中化学高三上期中综合测试试题含解析
- 2025年旅游行业营销策划部招聘面试模拟题及解析
- 桌面运维高级知识培训课件
- 2025年陪诊师考试医学知识试题及答案
- 31个工种安全技术交底
- 糖尿病人的麻醉课件
- 2024年哈尔滨租房落户协议书模板
- 专项14-因式分解-专题训练(30道)
- 异位妊娠的课件
- 人教版2024年小学升学考试数学模拟测试卷(共5套)(含答案解析)
- (2024年)肺栓塞的护理课件
- (高清版)TDT 1031.6-2011 土地复垦方案编制规程 第6部分:建设项目
- 遥感数字图像处理课件
- 检验科实验室生物安全培训课件
- 《宠物解剖生理》课程标准
评论
0/150
提交评论