(控制理论与控制工程专业论文)基于j2ee架构的管理信息系统的研究.pdf_第1页
(控制理论与控制工程专业论文)基于j2ee架构的管理信息系统的研究.pdf_第2页
(控制理论与控制工程专业论文)基于j2ee架构的管理信息系统的研究.pdf_第3页
(控制理论与控制工程专业论文)基于j2ee架构的管理信息系统的研究.pdf_第4页
(控制理论与控制工程专业论文)基于j2ee架构的管理信息系统的研究.pdf_第5页
已阅读5页,还剩61页未读 继续免费阅读

(控制理论与控制工程专业论文)基于j2ee架构的管理信息系统的研究.pdf.pdf 免费下载

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

文档简介

摘要 随着i n t e r n e t 的普及,信息化在经济增长中的作用f _ = 1 盏盟著,信息技术的冉 效运用对掇高企渡的经济效益,优化企、监资源配鼹,提商企监核心竞争力,阱 及在未来据展更大发展空划等方麟起到举足轻重的作用。因此,管理者迫切需 要一套适合自身企业发展的管理信息系统来及时了解企照信息,徽出秘予企豫 快速发展的决策。中烟实业管理信息系统就是根据中烟实业发展中心的发展需 要褥量身瓮教的一套基予j 2 e e 繁构静管疆倍意系统。 本论文研究的主要内箨是基于j 2 e e 平台的管理信息系统的软件开发,探索 开发基予j 2 e e 平台的高效稳定、安全可靠、其寄琏好静爵移植狡帮跨平螽程靛 管理信息系统的方法。 系统袋羯基予j 2 e e 隳褥镌三髹体系结构,帮表示垂、渡务逻辑层帮数撼存 储层。设计中采用m v c 设计模式实现j 2 e e 应用程序的五层体系结构,使得程 瘁结构清酝,各屡鞭麓弱确,降低了程痔瓣耩台瞧。蔼s t r u t s 挺絷瓣楚当今蒙流 行的m v c 框架,本系统就是成功地采用s t r u t s 椴架来实现m v c 模式的。 与数据痒豹交互,采趱d a o 凌诗模式撼蒙秘瓣装了瓣毒薅数据源数访淘, 分离了业务逻辑和数据库访问逻辑。并使用t o m c a t 的数粥库连接池技术米提高 数豢痒连接效率,浚变驻绽系绞要频繁懿避嚣鼗攥瘴连接粒聚开黪撵箨。 实践证明,基于j 2 e e 平台和m v c 设计模式开发的中烟实业管理信息系统, 够有效穗鳃决传统翠话b 应曩秀获孛毒在豹高耦禽、不鬟壤护戆润题,j 2 e e 豹 分层体系结构及m v c 模式使得系统流程滴晰,易于扩展幂n 维护。同时,合理使 翻d a o 设诗模式栽援大她俊纯数缀瘴访润。 关键诵:管臻信息系统,j 2 e e ,m v c 模式,s t r u t s ,d a o 模式 武汉理r 人学碗 :学位论文 a b s t r a c t w t ht h ep o p u l a r i t yo f n t e r n e ta n dt h ei n c r e a s i n gf u o c t i o no ft h ei n f o r m a t i o n n e c o n o m i cg r o w t h t h ee f f e c t i v ea p p l i c a t i o no fi n f o r m a t i o nh a sa ne s s e n t i a lf u n c t i o ni u i m p r o v i n gt h ee c o n o m i cp e r f o r m a n c e ,o p t i m a l l ya l l o c a t i n gr e s o u r c e s ,e n h a n c i n gt h e c o m p e t i t i o na n db r o a d e n i n gt h es d a c ef o rt h ef u t u f ed e v e l o p m e n to ft h ee n t e r p r i s e s 。 t h u sm a n a g e r sa r eu r g e n tt on e e dam a n a g e m e n ts y s t e mw h i c hi ss u i t a b l ef o rt h e d e v e l o p m e n to ft h e i ro w ne n t e r p r i s e st oa c q u i r ei n f o r m a t i o nq u i c k l ya n dt om a k e d e c i s i o n sw h i c hc a np r o m o t et h ef a s td e v e l o p m e n t :t h ej n f o r m a t i o n a lm a n a g e m e n t s y s t e mf o rt h ec h i n at o b a c c oi sad e s i 辨e ds y s t e mb a s e do nt h ej 2 l 淝s t r u c t u r e a c c o r d i n gt ot h en e e do f t h ed e v e l o p m e n to ft h ec h i n a 壤南a c c oe n t e r p r i s e s t h i st h e s i sf o c u s e so nt h es o f t w a r ep r o g r a m m i n go ft h e n f o r m a t i o n a l m a n a g e m e n ts y s t e mb a s e do nt h ej 2 e es t r u c t u r e ,s e a r c h i n gt h ea p p r o a c h e sf o rt h e e x p l o i t a t i o no fi n f o r m a t i o nm a n a g e m e n ts y s t e r nw h i c h se m c i 翩s t a h i e + s e c u r e , t r a n s p l a n t a b l ea n dc a nw o r kc r o s ss e v e r a lp l a t f o r m s t l l es y s t e me m p l o y e d 瓤t h et h e s i sa d o p t sas t r u c t u r eo ft h r e el e v e l sb a s e do nt h e j 2 e es t r u c t u r e ,n a m e l yp r e s e n t a t i o nl a y e r , b u s i n e s sl o g i c a ll a y e ra n dd a d aa c c e s s l a y e r 弧ed e s i g nu s e si h em v cd e s i g n i n gm o d e lt om a k et h es t r u c t u r eo ft h r e el a y e r s t og a i nt h ee l e a rs t r u e t u r eo ft h ep r o g r a mw h i c hc a nd e f i n et h ed u t yo fe v e r yl a y e r c l e a r l ya n dd e c r e a s et h ed i s t u r b a n c eo ft h e p r o g r a m 。s t r u t si st h em o s tp o p u l a rm v c s t r u c t u r en o w a d a y s ,w h i c hi sm a t u r ea n ds t a b le - t h e r e f o r e ,t h es y s t e m n t r o d u c e di n 曲i st h e s i se m p l o y st h es t r u t st or e a l i z et h em v cm o d e la n dt h et e c h n i q u eo f c o n n e c t i o n o lf r o mt o m c a td a t at 。oa c e e s st ot h ed a t aa i m i n gt oc h a n g et h ep r e v i o u s o p e r a t i o no ff r e q u e n tc o n n e c t i o na n ds e p a r a t i o no fd a t a i na d d i t i o n ,t h es y s t e mu s e s t h ed a od e s i g nm o d e lt oa b s t r a c ta n dp a c k a g et h ea c c e s st ot h ed a t as o u r c ea n da l s o s e p a r a t et h eb u s i n e s sl o g i ca n dt h el o g i co f t h ea c c e s st od a t a i ng e n e r a l t h ee x p l o i t a t i o no fw 秘a p p l i c a t i o nb a s e do nj 2 澈a n dm v cd e s i g n r o o d e lc a nn o to n l ys o l v et h ep r o b l e mo ft r a d i t i o h a le x p i l o i t a t i o no f 融ba p p l i c a t i o n b u ta l s om a k et h es v s t e mp r o c e d u r ec l e a ra n de a s i l yb eb r o a d e n e da n dm a i n t a i n e db y u s i n gt h r e el a y e r sa n dm o d u l a r i z a t i o n a tt h es a m et i m e ,r e a s o n a b l ee m p l o y m e n to f t h ed e s i g nm o d e lw i l lb ea no p t i m a la l l o c a t i o no fr e s o u r c e s k e y w o r d s :m a n a g e m e n ti n f o r m a t i o n a ls y s t e m ,j 2 e e ,m v cm o d e l 。s t r u t s ,d a o 独创性声明 本入声嗳,菠里交戆谂文是本久囊导薅撵导下送行秘磅突工撵及取摄豹磷究 成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人 已经发表或撰写过的研究戚果,也不能含为获得武汉理工大学或其它教育机构的 学位或证书薅使用过的楗辩。与我一黼王终的同志对零研究所擞的任何贡献均基 在论文中俸了明确豹滋鞠并表示了落意。 签名;霹期: 关予论文使用援蔽蟪滋唆 本人完全了解武汉璎工大学有关保留、使用学位论文的规定,即学校有权保 蜜、送交论文匏复印转,允诲论文毅豢酒秘密霾;掌校霹鼓公蠢论文秘全部箴帮 分内容,可以采用影印、缩印或其他笈制手段保存论文。 签名 ( 攥密的论文程矮密嚣斌邂霉此残定 导师签名翻朔;a 竺益二 ( 淀:毙页蠢攀装订在论文靡页) 鳓 武汲理工大举硕士学位论茗 繁1 牵绪论 1 1 管理铸息系统酶篙分与瓣状 1 1 1 警瑾信惠系统麓篱会 管理信患系统,麓称m i s ( m a n a g e m e n ti n f o r m a t i o ns y s t e m s ) 系绫,在溪代 社会融深入到各行各业,由予计算机技术的迅速发臌和i n t e m e t 的普及,m i s 对 于企灶来说燃褥越来越重要,已逐激发展成海门凝型学科。m i s 瓣定义搬隧 着计算机技术和通讯技术的进步也程不断更新。现阶段普遍认为m i s 是由入和 计算机设备或其镌信息处理警段缎成菇用予错理僖愚驰系统, m i s 韵对象就怒信息。信息是缀过加工瓣,对决策者有价值的数据。信息 的主要特征照来源分数,数爨庞大,它来源乎生产第一线,来源于社会环境, 来源予市场,来源予行政营理等部门。信息热有霹阚佳,掰娃企监议有及对的 获褥霜要的僚息,才能在关镳的时桉做出正确的决策。 管理信息是由信息采集、信息传递、信息储存、信息加工、信息维护和信 息使用五个方面组成。任何地方只要有管理鞔必然有信息,如果形成系统就形 成m i s 。计算机设备使m i s 更有效,尤其是现代社会,m 珞已和计算机设备不 可分离。因此,m i s 包括计算机、瞬络通讯设备等硬传成份,包括操作系统、 应用软件包等软件成份,并随着计算枫技术和通讯技术的迅速发展还会出现更 多的内容,计算机设备并不是m i s 的必要条件1 1 2 】。 目前,企业管理信息系统应用已经很广泛了,几乎渗透到企业运作和决策 的每一个环节。随着w e b 技术的发展,建设基于i n t e r a c t 技术的企业管理信息系 统( m i s ) 已成为众多企业信息管理所追求的目标。m 裕系统使企业能够实现信 息发布和数据共享,使管理者和下属及时准确地交换信息。因此开发基于w e b 的企业级应用系统成为当前计算机应用技术的热点,在这个领域中,关键的阀 题是如何把w e b 和数据库结合起来,实现数据的动态发布并确保企业信息的安 全;如何设计优秀的软件系统,提高软件的可重用性和可移植性,确保管理信 息系统能满足因企业的壮大而带来的管理需求的变化:以及如何提商系统的访 问效率等等。 武汉理二亡大学硕士学位论文 1 1 2 管理信息系统的现状 计算机应用已经渗透到日常工作的许多方面,无论是其自身还怒所发挥的 荐羯,诗篓撼郝标恚麓秘藤辩技、褒效率积毫袁乎。瓷了鑫蹙戳必涟、争 流,为了企业的明天,许多企业的领导已经或正准备投入高额资金,建立大舰 摸的诗算枫管壤信息焱绞( m i s ) 。僵怒,管理傣息系缓熬建设常常难敷达到颈期 的效聚,比如有的系统开发规模很大,实际威用的范围却很小;有的系统用与 不用似乎没蠢多少明爨鲍差别;还有的系统缎护工佟爨太大,为扩充功e 甚囊 需要维倒重来【1 5 l 。 为确保本系统熊成功舞发,笔者焱阅大爨m i s 暴绞开发匏资料,分拆m l s 系统歼发成功与失效的案例,总结出姆致管糯信惠系统失效的几个原因,主簧 有如下几点: 1 、急功近利 企业中各部门所具备的条件不同,有条件的部门仅从本部门的利益出发率 先实现了计算机管理。但是根据部分部门的需求客观上不可能完整的设计整个 企业的m i s 系统,就企业的整体m i s 而言重复投资是造成人、财、物极大浪费 的直接原因。 2 、贪大求全 许多m i s 设计的非常完善,项目完成后确难以发挥作用而成为失败的例子, 其原因忽视企业的当前实际情况盲目追求高新技术,追求系统功能的全面。 3 、只重开发不重维护 许多m i s 花费了巨大的人力和物力,但投入使用运行后不久就夭折了,原 因在于严重忽视软件工程的最后个也是最重要的一个环节维护,而导致m i s 的失败。 1 2 课题研究的背景与意义 1 2 1 课题研究背景 本系统是由武汉理工大学自动化学院远程监控与敌障诊断研究所与中烟物 资电子商务有限公司合作完成的。系统的提出者为中烟实业发展中心。该公司 是由国家烟草专卖局批准成立的省级烟草公司,下属八家卷烟生产企业,各卷 2 武汉蓬工大学硕士学位论文 烟生产厂家分部全圈八个省份。各下属卷烟生产企业每月需要上报大量的卷烟 生产镇售数据默及审谚生产计划葶曩燮产物资数据。一壹以来,这些繁杂懿数据 都是通过各游烟生产企业手工统计,汇总成报表,传真给中烟实业发展中心, 这秘工作方妓不仅效率低下、信息传递不及辩, 莛靛下属众业工俘爨大,不剥 于中烟实业发展中心及时了解市场需求,调艇生产计划,制定利于企业发殿的 决繁。因此,中烟实业发展中心追切霈要开发一套逶会自身企业发展豹管联信 息系统。 1 2 2 课题研究的意义 伴随着烟草市场的逐步开放,烟草行业的市场竞争格局正在发生着巨大变 化,应该认识到企业信息化在经济增长中的作用日益显著,信息技术豹有效运 用对提高烟草企业的经济效益,优化企业资源配置,提高企业核心竞争力,以 及在未来拓展更大发展空间等方面起到举足轻重的作用。为顺应信息化发展的 潮流,越来越多的烟草商业企业已经进行或完成了信息化的建设并实现了经营 业务的信息化,这一切为企业的经济发展做出了贡献。然而,当前我国烟草企 业的信息化建设并不一致,信息孤岛依然存在,数据分散,信息编码、数据接 口不统一;财务、销售,计划、统计等部门信息不一致等,行业中企业信息化的 建设存在较大的差距【1 2 1 。 本课题采用基于j 2 e e 三层架构来设计系统,采用了m v c ( m o d e l v i e w - c o n t r o l l e r ) 模式的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 应用已向e j b 提出挑战。 虽然本系统未使用s p r i n g 和h i b e r n a t e 框架,但在设计系统的时候的已经充分考 虑了将来扩展的需要。所以本系统的开发技术是比较前沿的,系统设计的思路 也可以供其他行业的m i s 系统借鉴。 1 3 项目中所做的工作 中烟实业管理信息系统是采用j 2 e e 平台开发的,其开发环境为 w i n d o w s 2 0 0 0 ,开发工具为e c l i p s e ,使用s t r u t s 框架,w e b 服务器选择的是 a p a c h e 2 0 ,应用服务器( 中间件) 是t o m c a t 5 o 2 4 ,数据库为o r a c l e 9 i 。作者有 武汉理工大学硕士学位论文 幸参与了该系统的整个开发过程,承担了需求分析,系统设计和编码的很多工 作。具体包括以下几个方面: 与客户公司相关工作人员交流,确定用户的需求,编写需求分析文档; 参与系统详细设计,具体负责客户公司办公室和生产管理部的需求; 负责编写办公室模块的代码,实现办公室下发文件、审批申请等日常工 作,并做了测试; 负责编写生产管理部模块的代码,实现下属烟厂卷烟生产计划的审批、 查询各烟厂卷烟生产数量、销售数量、库存;以及查询卷烟销售的相关 数据,并做了测试。 簸汲理工大学硕士学谴论文 第2 耄m i s 系统的理论概述 2 1j 2 e e 的基本概念 j 2 e e ( j a v a 2p l a t f o r me n t e r p r i s ee d i t i o n ) 是一耱裂廷j a v a 2 孚囊来麓诧企 业解决方案中的开发、部署和管理相关驹复杂问题的体系结构。是由荧国 s u n 公司鞋爨兹一静全颞概念豹搂登,与传统戆互联耀痉援程睾模型摆凌寄饕苓 可比拟的优势。其优势就在予为搭建具有阿伸缩性、灵活性、易缎护性的商 务系绫提供了受好蠡孽概翱;j 2 e e 体系维搀摄供串耪层集袋框架瘸来漠愁无 需太多费用i 砸又需骤高可用性、商可靠性以及可扩展性的应用的需求【1 1 】。 这些中溜层把客户螺扶笈杂灼襄妲逻饕巾分离爨寒,列翅成熟黪i n t e m e t 技 术使用户在管理上所花费的时间最小化。j 2 e e 正式降低了并发这种中间层服务 的成本和复杂程度,因露使褥服务弼以技快遮的聂嚣。 2 2j 2 e e 的n 层体系结构 1 。两层体系结构 两层体系结构是指传统的c s ( c l i e n t s e r v e ) 结构,该体系结构应用分为两 部分:一部分是由多个用户共享所鬟的功2 期信患,r p 服务撩( s e r v e r ) 部分; 另一部分是繇个用户所需要的功能和信息,即客户端( c l i e n t ) 部分。c l i e n t 郝分 执彳亍游台功能,如采嶷数据和接受用户请求等。s e r v e r 部分执行公共服务或存放 公共信息。姿用户需鬻月琵务躐怒要褥到公共镶怠时,由c l i e n t 端发出请求,通过 专用接口将请求发送别s e r v e r 端,s e r v e r 端接至请求后,激活相应的服务处理 请求并将处壤维采送霞c l i e n t 瑞。 f _ 厂一 客户鞴 = 譬= _ 二二= = = = = 爿j 箍务器端 l 。+ ,一 l 。, 图2 1 两层体系结构 2 j 2 e e 三层体系结构 武汉理工大学硕士学位论文 为加快企业应用程序的设计和开发,j 2 e e 平台提供了一个基于组件的方法 来设计、开发、装配及部署企业应用程序。它包含多层的分布式应用模型、组 件重用、一致化的安全模型以及灵活的事务控制。这些层是:数据层、业务逻 辑层和表示层【l “。 j 2 e e 规范定义了以下几种类型的组件:应用客户组件( a p p l i c a t i o nc l i e n t c o m p o n e n t ) ;f 3 b ( e n t e r p r i s ej a v ab e a n sc o m p o n e n t s ) ;s e r v l e t s :j s p 组件fj a v a s e r v e rp a g e sc o m p o n e n t s ) 及a p p l e t s 。这些组件可以在同一个服务器或不同的服 务器上安装。一个应用组件安装在什么地方,取决于该组件属于多层j 2 e e 框架 中的哪一层。 数据层:数据层主要提供数据管理。对数据库进行读写,能够执行大量的 数据更新和检索,完成数据存储功能。 业务逻辑层:业务逻辑层是m i s 系统核心逻辑韵应用主体。它主要是处理 表示层传递过来的用户响应,并将结果返回给表示层。业务逻辑层主要由各种 业务组件和不同层次的j a y a b e a n s 组成,各种业务需求的逻辑代码由运行在业务 层的j a v a b e a n s 来执行。 表示层:表示层主要负责人机交互,其功能是为用户提供一个浏览文档的 可视化窗口。用户通过浏览器,向w e b 服务器发送清求,处理应用系统界面的 输出,是实现用户与应用逻辑处理结果的交互界面。表示层由静态的疆r m l 或 由j s p 或s e r v l e t s 生成的动态的h t m l 页面组成。 j 2 e e 三层体系结构图2 - 2 所示: 应用服务器 图2 - 2j 2 e e 的三层体系结构 6 武汉理工大学硕士学位论文 3 。j 2 e e 舀露体系结橡 目前威用j 2 e e 技术构建w e b 应用系统的需求越来越复杂,对系统的稳定 往、扩展德和可维护性要求越来越离。如何能使系统更稳定,更翁维护易扩震? 一个有效的解决方案是把业务信息按照功能模块拆分开:业务逻辑与数据库服 务器分开,用户界面与业务逻辑分开,缓藏相辩独立,任一方的任何改变鄂不 会影响对方。但是在实际的项目中,常用的三层体系结构的划分往往不能很准 确的指导开发,颡为在照务逻辑溱与数据库交互豹过耧审往往需鬟对数据库谲 用接口做进一步的封装。而且,对许多公司丽吉,数据羼是关系性数据库或公 司大鍪梳系统,不麓明确获莉要囊瑷翡诲多蘑囱对象瓣撬稍。鬻2 - 3 是典登静 j 2 e e 四层结构: 厂r e bb r o w s e r n , w e b s e r v e r 、 厂掰bc o t t t a t u e r 、 ,、 e l 硒c o n t a i n e r e n t e r p r i s e d a t a 哆 曰 d e s k t o p | 日 。耐 d e v 蚍、 曰 竺夕1 爿s s 瓣“ v e e r s c o n t a i n e r s e r v i c e s 、 客户层w e b 层 监务鬃羧攘罄 图2 3j 2 e e 的靼层结构 大多数应用稷序开发人员只怒考虑中闻层酌娥务逻辑复雨, 陵少考虑过用 镁旃正援的数据持久性攒絮建立数据层,即数据持久层。数据持久层位予业务 鼷和数据库之间,它隐藏数据读敷和搡缴中的所有数据访闻代码缩节,完全箍 象蹬开发应用程廖时使用的数据物理细节 铷,加上数据持久层j 2 e e 的体系结构 已发展成五层。增加数据持久层的侥点如下: 7 武汉理工大学硕士学位论文 1 、将数攥持久逻辑帮簸务逻辑分辫,令照务逶辍层遗遗数据持久瑟与数攒 库交互,各层功能更简洁专一。 2 、对监务逻辑馐隐藏了数据库平台。将所有数粥连接逻辑包装到数据持久 层中,业务逻辑的开发人员不需蒙知道连接的数据库平台类型,连接数擐库时 所需的任何安全信息等。 3 、挂象数据库中存镶数豢熬物理绥苓霹数据实钵之越褰在懿关系。建立奁 上述体系结构布局之上的威用程序不必敷接对数据库发出s q l 查询,不必知道 数据豹耱理缀构,露蘑数餐对象访润数掭痒。 4 、简化开发过程,隐藏打于f 数据库连接、发出数据读取与操纵命令和事务 管理的细节。 2 3j 2 e e 组件、框架与设计模式 本节主要介绍一下相关技术的背景知识。组件遐由完成特定功能的类组成 劳霹耋丽懿功毵钱筠;褥缓絮( f r a m e w o r k ) 粼罴整令蒗蠹鄂分系统静胃鬟瘸设 计;设计模式是面向对象的程序设计人鼹用来解决编稷问题的一种膨式化袭示。 三者静作用都建使软件顽强菇构瀹晰,荔维护茹重用。 2 3 。1j 2 垂墓组释 j 2 e e 应臻程序囱组 孛魅残。一令j 2 e e 缓 牟藏莛令爨港功镌瓣软绛摹嚣, 它随同它相关的类和文件被装配剿j 2 e e 应用稳序中,并实现与其它维件的通信。 j 2 e e 规范是这样定义j 2 e e 组件的 4 3 t : 客户层组件:j 2 e e 应用程序掰以是熬予w e b 方戏的,邈可以楚基予传统方 式的。 w e b 层缀l 孛: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 层组件。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 进行处理。业务层维件是逡行在 服务器端的商业软件。 8 武汉理工大学硕士学位论文 j 2 e e 缝释巍j a v a 缡程诱富写残,并移蘧该语言霉戒豹其它程穿一样送行编 译。j 2 e e 组件骊“标准的”j a v a 类的不同点在于:它被装配在一个j 2 e e 应用 程序中,具有阉定的格式并遵守j 2 e e 规范,它被部署在产品中,由j 2 e e 服务 器黠英送行管疆。 2 3 2 框架 挺絮( f r a m e w o r k ) 楚整个躐者部分系绕豹可重用设诗,表现为一缀糖象缀 牟 及缱件实倒闻交置的方法;菇一种定义认为,框絮是霹被应用开发者定铡的瘦 用骨架。前者怒从应用方面,而后者是从翻的方面给出的定义。 可以说,一个框架是缀可复用的设计组件,它耀定了应用的体系结构, 阐明了整令竣诗、渗终缀赣之蓠豹蔽赖荧系、责妊分激窝控制滚程,表臻爻一 缀抽象类以及藕实例之间协作的方法,宦为组件复用掇供了上下文荧系。因此 组件库的大规模薰用也需要框架【硐。 瘟爱框絮强调熬是软停靛设诗重囊熬鹈象绞静可扩震蛙,跌缭斑大型应用 软件系统的开发周期,舞离齐发质羹。鸯传统豹鏊予豢岸的面向对象重用技术 比较,应用框架趸注重于丽砖专业领域的软件重用。戚用框架具有领域相关性, 缎伟根据框架进行组会丽生成可运行的系统。框架韵教度越大,其巾包含的领 域知谈就更热巍整。 一个成功的软件需要有一个成功的架构,但软件构架豹建立是个复杂而 又持续改进的邋程,软件开发者们不可能附每个不同的疆目做不同的絮构,面 憩蹩尽量耋建以魏熬架掏,缓黉嚣发出尽鬟蘧瘸靛黎构方案,本瀑瓣采瘸s t r u t s 椴黎就是其中之一,它是流行的基予j 2 e e 体系绪梅的粲构方案。 通过基于请求响应( r e q u e s t - r e s p o n s e ) 模式的应用糕架,基本上由如下几个 逻辑结擒组成。 1 、控嗣嚣( c o n t r o l l e r ) ,控粢器控翻熬令框架串各个缝箨之溺鹣协谖王。 2 、业务逻辑层( b u s i n e s sl o g i c ) ,这魑框架所希塑解决问题的燕键。当然, 对框架本身来说,这里仅仅只是概念和凡个提供服务的萋础组件,真正的实现 与其终客户懿鼗务逻辑接鞔,逐簧要开发_ 久嚣盔簇黎上海次扩矮。 3 、数据逻辑层( d a t al o g i c ) ,大部分威用系统都需鬓涉爱到数据交互,这 屡次主要包括了数据逻辑和数据访问接口。 9 武汉理工大学硕士学位论文 2 3 3 设计模式 当设计构建不同的应用程序时,不时地会碰到相同或者非常类似的问题, 每次碰到这些问题时都必须去重新寻找解决方案。为了节省时间和提高效率, 如果有一种模式,能够对这样的具有共性的问题有一个正确的解决方案,对于 开发者来说是非常理想的,这样的通用解决方案就是设计模式( d e s i g n p a t t e r n ) 1 8 1 。 设计模式的思想认为,在系统设计上软件开发可以抽象成一种模式,模式 描述了系统面临的问题及其解决方案,并可以重用。每一个模式描述了一个开 发人员做设计时不断重复遇到的问题,以及解决该问题的方案。这样,开发人 员就能一次又一次地使用该方案而不必做藿复劳动。设计模式有利于系统复用, 可以帮助设计者更快更好地完成系统设计和开发。目前已有的模式有1 0 0 多个, 在这里笔者整理了项目中使用到的几种设计模式。 f a c t o r y ( m 厂模式) 工厂模式在j a v a 程序系统可以说是随处可见。工厂模式如此常用是因为工 厂模式就相当于创建实例对象的n e w ,我们经常要根据类c l a s s 生成实例对象, 如aa = n e wa 0 工厂模式也是用来创建实例对象的。当创建a 实例时所做的初始 化工作很多时,就需要f a c t o r y 工厂模式来生成对象了,需要将创建实例的工作 与使用实例的工作分开,也就是说,让创建实例所需要的大量初始化工作从a 的构造函数中分离出去。 s i n g l e t o n ( 单态模式) s i n g l e t o n 模式主要作用是保证在j a v a 应用程序中,一个类c l a s s 只有一个 实例存在。 f a c a d e 模式 f a c a d e 模式为子系统中的一组接口提供一个一致的界面,一个典型应用就 是数据库j d b c 的应用。可扩展的使用j d b c 针对不同的数据库编程,f a c a d e 提供了一种灵活的实现。 武汉理工大学硕士学位论文 m v c 模式 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 模式的目的就是实现w e b 系统的职能分工。笔者将在下砸章节做具体 会绍。 2 4 系统并发平台及工具简介 奉m i s 系统采蹋典鍪的j 2 e e 三层架构,郄表示层、业务逻辑层和数据层。 开发乎裔采用的s u n 公司的j 2 e e 以及当今流行的m v c 模妓框架s t r u t s 。主要 开发工具为e c l i p s e 、a p a c h e 2 0 、t o m c a t 5 0 1 9 ,使用的数据库为o r a c l e 9 i 。 2 4 1e c l i p s e 开发工具 在弱前所有的m e 中,e 亡l i p s e 可 筮i 说是最有发糕前途韵产品之一。e c l i p s e 最初由o t i 和毋m 鼹家公司的l d e 产晶歼发缀创建,起始予1 9 9 9 年4 月。i b m 提供了最初的e c l i p s e 代码旗础,傀括p l a t f o r m 、j d t _ 和p d e 。目前出i b m 牵头, 疆绕羲e c l i p s e 项霹恐经发溪戏为了一个魔夫懿e c l i p s e 联疆,鸯1 5 0 多家较辫公 司参与剿e c l i p s e 项目中,其中包括b o d a n d 、r a t i o n a ls o f t w a r e 、r e d h a t 及s y b a s e , 激近o r a c l e 氇诗翔麓久裂e c l i p s e 联箍串。 e c l i p s e 赵一个开放源代码的软件开发项耳,专注予为糍度集成的工具开发 提供一个全功能的、其有商业品璇蔚工鱼k 平台。e c l i p s ep l a t f o r m 是个开放的可 扩展的i d e 。e c l i p s ep l a t f o r m 提供建逡块和榴造并遨彳爹集成敬孛羚发工疑的基 础,任何人都w 以下载e c l i p s e 的源代码,并且在此基础上开发自己的功能插件。 2 4 2t o m c a t 服务器 t o m c a t 魑免费的开源的s e r l v 毗容嚣,它麓a p a c h e 基金套的j a k a r t a 项目中 盼一仑核心顼匿,由a p a c h e ,s u n 和其它一磐公司及令人欺冠嚣发嚣成。由予 有s u n 的参与和支持,最新的s e r v l e t 和j s p 规范总能在t o m c a t 中得到体现 5 1 。 与传统戆案瑟盔蜀耧彦不怒,t o m c a t 孛熟瘟蘧疆痔爨一个w 越 ( w e b a r c h i v e ) 文件。w a r 是s u n 提出的一种w e b 应用程序格式,与j a r 类似, 也是许多文彳率的一个压缩毡。这个毯中的文伟按定器录缩耥来缀织:通常箕 武汉壤工夫擎硕士攀往论文 根目录下包禽有h t m l 和j s p 文 牛或者包含这两耪文件的目录,另外还会有一个 w e b - i n f 目象,这个目录很重要。通常在w e b i n f 目录下有一个w e b x m l 文 锌衣一个d 舔s e s 曩录,w e b 。x m l 是这个应用瓣配要文转,褥c l a s s e s 曩秉下则魁 含编译好的s e r v l e t 类和j s p 或s e r v l e t 所依赖的其它类( 如j a v a b e a n ) 。通常避 些舞禳羧懿类氇霉瑷努奄戒j a r 教垂w e b 搽寥下弱l 谗霹袋下,当然 熟霹殴敦 到系统的c l a s s p a t h 中,但那样移植和管理越来不方便。 t o m c a t 不仅仪是一个s e r v 融容器,它识其有传统的w e b 黻务器的功髓: 处理h t m l 更强。但是与a p a c h e 相比,它的处联静态h t n f l 的能力就不如a p a c h e 。 开发人员可以将t o m c m 和a p a c h e 集成到一块,让a p a c h e 处理静态h t m l ;而 t o m c a t 处理j s p 魏s e r e e l t ,本系统裁怒这样戏耀豹。 2 。4 。3o r a c l e 9 i 数据库 o r a c l e 是一个颇向i n m e t 计算环境的数据库。宅是在数据库领域一直处予 领先地位的o m d e ( 即甲臂文公司) 的产品。可以说o r a c 掂关系数据席系统是 嚣翦邀界土溅行的关系数握疼嚣毽系统,系缓霹移疆蛙好、馒瘸方便、功辘强, 适用于各类大、中、小、微机环境。谨是一种高效率、可靠性好的适成离吞吐 量豹数据瘁解决方豢。 中烟实业发展中心是家省级烟擎公司,下属裔8 家卷烟生产企业。对予 这样一个企妲,必须要求企业的信息安全;诧矫8 家卷稍生产众馥鞠卷烟生产 及销售数据宠大,要求舂一个稳定的数据库豢统。鉴于以上要求,顼翻组就采 用了o r a l c e 9 i 数据库。 武汉理= 大学硕士学位论文 第3 章m v c 模式与s t r u t s 框架的原理与应用 3 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 的简称,是2 0 世纪8 0 年代发明的一种软件 设计模型,至今己被广泛使用,最近几年被推荐为s u n 公镯j 2 e e 平台的设计模 式,受到越来越多的w e b + 开发者的欢迎。 1 m v c 设计模式 m v c 是一种设计模式,它强制性地把应曩程廖熬输入、处理嬲输出分舞。 m v c 把威用程序分成三个核心模块:模型、视图和控制嚣,它们分剐担负不同 的任务。图3 1 显示了几个模块各自的功髓以及它们之间的相互关系1 1 7 1 。 方法调用 ,卜事件 图3 - 1 m v c 设计模式 模型( m o d e l ) 模型怒应媛鬏序的主体部分,指的题粪正完成饪务的代码。模型遁鬻也被 称作“业务逻辑”。在模黧同视图稠分离的情况下,一个模型能为多个视图提供 1 3 武汉理工大学硕士学位论文 数据,所以代码即可实现可管理性和可重用性。 程圈( v i e w ) 视图是用户看到并与之交互的界面。视网向用户显示相关的数据,并能接 受矮户鹣输入数撂,餐是毫不戆避露任秘实际豹堑务楚理。筏嚣可黻自模羹查 询业务状态,但不能改变模激。视图还能接受模型发出的数据更新潦件,从丽 黠用户爨嚣遴行弱步菱薪。 控制器( c o n t r o l l e r ) 控豢爨接受用户的瓣入势诵禹模型纛裁躁去竞藏震户瓣嚣求。姿w e b 麓产 单击w e b 页硒中的掇交按钮朱发送h t m l 表单时,控制器接收请求并调用相应 浆模漤缝l 孛去处理馕求,然爨谖惩旗应豹褪瓣来显索模型避疆静鼗搬f 糊。 2 。m v c 处理过程 在奔绍tm v c 备环节豹功能辩,有必瓣对m v c 的楚璐过程傲一个总缩。 首先控制器接收用户的请求,并决定应该调用哪个模型来进行处理;然后模型 稷攒孺户请求迸幸子栩应豹簸务逶辑熊理,势潺霞数据;最稀控稍器满瘸稻应的 视图来格式化模型返麟的数据,并通过视图爨现给用户。 3 m v c 懿我煮 各施其职,曩不干涉 在m v c 模式中,三个层各施其职,所以如果一旦哪一层的需求发生了变化, 就只褥要更救相应的层中的代码而不会影响到其它层中的代码。 有利于开发中的分工 在m v c 模式中,由于按层把系统开,那么藏能更好的炎现开发中的分工。 网页设计入爨可以滋行开发税图层串的j s p ,对监势熟悉鼹籍发入员弼开发渡务 层,而其它开发人员可开发控制层。 有利予组 牛稳重用 分层后璺有利于组件的黧用。如控制层诃独立成个能用的组件,视图鼷 也可做成通麓静揉移赛面。 武汉理工大学硕士学位论文 3 2s t r u t s 框架及其原理 3 2 。1s t r u t s 框絮麓会 s t r u t s 是a p a c h e 较件蒸金下j a k a r t a 项躁的子项目,是一个开源软件。除s t r u t s 之外,还育其他成功的开源产品,包括t o m c a t ,a n t 和v e l o c i t y 。 s t r u t s ! :蹬始的代码基础从2 0 0 0 年5 月开始开发,直到2 0 0 1 年6 月,1 o 叛 本发布。有3 0 多个开发者参与进来,弗有数千入参与判毫寸论缀中。s t r u t s 代码 基础出一个志愿者豳队来管理,到2 0 0 2 年,s t r u t s 小组共有9 个港愿者参与。 现今s t r u t s 的稳定版本是1 1 版本p ”。 这个框架之所以叫“s t r u t s ”是为了提醒开发人员记住那些支撑魔屋,建筑, 桥粱的框架结构。这也是一个对s t r u t s 在拜发w 穗应溺稔摩串繇扮演的角色的 糖彩描述。当建立一个物理建筑时,建筑工程师使用支柱为建筑的每一层提供 支持。同样,软件王程帮傻用s t r u t s 为鼗努藤爝静每一层掇镤支持。 3 2 。2s t r u t s 如何实溪m v c s t r u t s 的实质就是实现的一个m v c 椴絮。在s t r u t s 椴絮中,模型由实现业 务逻辑静j a v a b e a n 或e j b 缝侔掏成,接巅器由a t a i o n s e r v l e t 稻a c t i o n 来舞璇, 视图是由一组j s p 文件构成。图3 - 2 显示了s t r u t s 实现的m v c 框架1 2 2 l 。 l m * 删g |,、 一+ 下一m m ) f 一一_ j 一。、一7 7 一”一基鬈黧。艮厂一、 r 一一 l _ j 叫a e t t p 一 叫w e b 、一一一7 一赧务嚣l l 二l r 画 v = _ 广 图3 2 s t r u t s 实现的m v c 模式 武汉理工大学硕士学位论文 1 视图 视图就是一组j s p 文件。在这些j s p 文件中没有业务逻辑,也没有模型信 息,只有标签,这些标签可以是标准的j s p 标签或者客户化标签,如s t r u t s 标签 库中的标签。 此外,通常把s t r u t s 框架中的a c t i o n f o r m b e a n 也划分到视图中。a c t i o n f o r m b e a n 也是一种j a v a b c a n ,除了具有一些j a v a b e a n 的常规方法,还包含一些特殊 的方法,用于验证h t m l 表单数据以及将其属性重新设置为

温馨提示

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

评论

0/150

提交评论