(计算机应用技术专业论文)基于j2ee架构的铁矿化验管理系统的开发与实现.pdf_第1页
(计算机应用技术专业论文)基于j2ee架构的铁矿化验管理系统的开发与实现.pdf_第2页
(计算机应用技术专业论文)基于j2ee架构的铁矿化验管理系统的开发与实现.pdf_第3页
(计算机应用技术专业论文)基于j2ee架构的铁矿化验管理系统的开发与实现.pdf_第4页
(计算机应用技术专业论文)基于j2ee架构的铁矿化验管理系统的开发与实现.pdf_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

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

文档简介

武汉科技大学硕士学位论文第1 页 摘要 随着w e b 技术的高速发展,传统的基于c s 架构的管理系统己经无法满足企业级应 用的需求,基于b s 架构的w e b 应用程序逐渐成为最为广泛的应用开发技术,目前很多 应用系统都建立在w e b 基础上。 本系统采用s t r u t s ,h i b e r n a t e 和s p r i n g 作为开发框架。s t r u t s 旨在改善用户体验,提 供良好的用户操作界面,处理系统前台操作。h i b e r n a t e 作为后台持久层,与数据库进行 读取和存入操作,完成数据的交互。而s p r i n g 则成为联系前台业务和后台逻辑的纽带, 完成数据从前台到后台,再从后台返回到前台的控制型操作。这样三者就有机的结合起来, 各司其职又互相联系,统一而又快速的完成系统开发。 本文首先对j 2 e e 的结构、技术体系以及j 2 e e 的优势进行了介绍,然后对s t r u t s 框 架的组成、工作流程进行了阐述,详细分析了h i b e r n a t e 的核心接口,s p r i n g 框架的控制 反转机制以及面向方面编程和s 砸n g 的优点。紧接着分析了化验室管理系统的任务需求, 以及数据库的设计、搭建了应用系统的开发平台,包括各个框架的整合。最后详细分析了 各个模块的功能,以及代码的实现。本系统按照系统分层开发原理,将j 2 e e 的三大开源 框架根据功能层次进行整合,形成高效易用的s t r u t s s p r i n g h i b e m m e ( s s h ) 框架。通过s s h 框架的使用,降低了代码的耦合性,缩短开发周期,达到快速,高效的开发,为应用程序 的开发提供了便利。 化验室管理系统采用s s h 框架进行开发,一方面有利于化验室系统框架的研究与应 用,一方面有利于化验室系统数据的维护和管理。本系统实现了任务分配,结果录入,审 核签发,查询统计,权限管理,代码管理等功能,能够有效地管理实验室工作。 关键词:j 2 e e , s t r u t s ;h i b e r n a t e ;s p r i n g ;框架整合 第1 i 页武汉科技大学 硕士学位论文 a b s t r a c t w i t ht h ew e bt e c h n o l o g yd e v e l o p e dq u i c k l y , t r a d i t i o n a lm a n a g e m e n ts 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 lc a nh a r d l ym e e tt h er e q u i r e m e n t so f e n t e r p r i s e l e v e la p p l i c a t i o n ,t h u sw e b a p p l i c a t i o nb a s e do nb r o w s e r s e r v e rm o d e lb e c o m em o r ea n dm o r ep o p u l a ra sat e c h n o l o g yo f w e b a p p l i c a t i o n , n o wm a n ya p p l i c a t i o ns y s t e m sa r eb u i l to nt h eb a s i so ft h ew e b t h i ss y s t e mu s es t r u t s ,h i b e r n a t ea n ds p r i n ga st h ed e v e l o p m e n tf r a m e w o r k s s t r u t si s d e s i g n e dt oi m p r o v eu s e re x p e r i e n c e ,p r o v i d i n gu s e rw i t haf r i e n d l yo p e r a t i o ni n t e r f a c e , p r o c e s s i n gt h ef o r e g r o u n do p e r a t i o no ft h es y s t e m h i b e r n a t et a k e sr e s p o n s i b i l i t yt or e a df r o m a n dw r i t ei n t od a t a b a s ea sb a c k g r o u n dp e r s i s t e n c el a y e r , a c c o m p l i s ht h et a s ko fi n t e r a c t i o nw i t l l d a t a a n ds p r i n gb e c o m e st h ec o n n e c t i o no ff o r e g r o u n db u s i n e s sa n db a c k g r o u n dl o g i c ,t a k e c h a r g eo fc o n t r o l l i n go p e r a t i o nt h a tb r i n gd a t af r o mf o r e g r o u n dt ob a c k g r o u n d ,a n dt h e n b a c k g r o u n dt of o r e g r o u n d i nt h i sw a yt h et h r e ea r ec o m b i n e do r g a n i c a l l y , e a c hp e r f o r m si t s o w nf u n c t i o n sa n da l s oi n t e r a c t sw i t h e a c ho t h e r , t h u sc a nf i n i s hs y s t e md e v e l o p m e n t r a p i d l y t h i sp a p e rf i r s ti n t r o d u c e st h es t r u c t u r e ,t e c h n i c a ls y s t e ma n da d v a n t a g e so fj 2 e e ,a n d t h e ne x p l a i n st h ec o m p o n e n ta n dw o r k f l o wo fs t r u t s ,t h ec o r ei n t e r f a c e so fh i b e r n a t e ,a n dt h e a d v a n t a g eo fi n v e r s i o no fc o n t r o l ( 1 0 c ) a n da s p e c to r i e n t e dp r o g r a m m i n g ( a o p ) o fs p r i n g t h e na n a l y z et h er e q u i r e m e n t sa n dd a t a b a s ed e s i g no fi r o nl a b o r a t o r yt e s tm a n a g e m e n t s y s t e m ,b u i l dt h ed e v e l o pp l a t f o r mo fa p p l i c a t i o ns y s t e m ,i n c l u d i n gf r a m e w o r ki n t e g r a t i o n a t l a s tt h i sp a p e ra n a l y z e st h ef u n c t i o no fe a c hm o d u l ea n dc o d ei m p l e m e n t a t i o ni nd e t a i l i n a c c o r d a n c ew i t ht h eh i e r a r c h i c a lp r i n c i p l e ,t h i ss y s t e mi n t e g r a t et h et h r e eo p e ns o u l e f r a m e w o r kb a s e do n f u n c t i o n s ,f o r m i n g a h i 曲l y e f f i c i e n ta n d e a s y - t o - u s e s t r u t s s p r i n g - h i b e m a t e ( s s h ) f r a m e w o r k b y u s eo ft h es s hf r a m e w o r k ,i tr e d u c et h ec o u p l i n g r a t eo fc o d e s ,s h o r t e nt h ed e v e l o p m e n tc y c l e , a c h i e v eh i 曲e f f i c i e n td e v e l o p m e n t ,a n dp r o v i d e c o n v e n i e n tf o rd e v e l o pa p p l i c a t i o n s l a b o r a t o r ym a n a g e m e n ts y s t e mu s es s ha sd e v e l o p m e n tf r a m e w o r k ,w h i c hf a c i l i t a t i n g r e s e a r c ha n da p p l i c a t i o no ft h es y s t e mo no n eh a n d ,a n df a c i l i t a t i n gm a n a g e m e n ta n d m a i n t e n a n c eo ft h ed a t ao ft h es y s t e mo nt h eo t h e rh a n d t h i ss y s t e mi m p l e m e n tt h ef u n c t i o n s o fa s s i g n m e n ta l l o c a t i o n ,r e s u l te n t e r , e x a m i n ea n dv e r i f y , q u e r ya n ds t a t i s t i c s ,r o l em a n a g e m e n t a n dc o d em a n a g e m e n t ,a c h i e v et h et a r g e t st h a tm a n a g et h el a b o r a t o r yw o r ke f f i c i e n t l y k e y w o r d s :j 2 e e ;s t r u t s ;h i b e r n a t e ;s p r i n g ;f r a m e w o r ki n t e g r a t i o n 武汉科技大学 研究生学位论文创新性声明 本人郑重声明:所呈交的学位论文是本人在导师指导下,独立进行研 究所取得的成果。除了文中已经注明引用的内容或属合作研究共同完成的 工作外,本论文不包含任何其他个人或集体已经发表或撰写过的作品成果。 对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。 申请学位论文与资料若有不实之处,本人承担一切相关责任。 论文作者签名:坠鱼鱼 日期: 型仝! :墨 研究生学位论文版权使用授权声明 本论文的研究成果归武汉科技大学所有,其研究内容不得以其它单位 的名义发表。本人完全了解武汉科技大学有关保留、使用学位论文的规定, 同意学校保留并向有关部门( 按照武汉科技大学关于研究生学位论文收录 工作的规定执行) 送交论文的复印件和电子版本,允许论文被查阅和借阅, 同意学校将本论文的全部或部分内容编入学校认可的国家相关数据库进行 检索和对外服务。 论文作者签名:墼盘亟 指导教师签名:壹竺塑丝3 日 武汉科技大学硕士学位论文第1 页 1 1 课题研究背景及意义 第一章绪论 随着计算机技术的快速发展和企业自身信息处理的需求,企业纷纷开发适合自身业务 的应用系统。然而随着业务的不断增加,系统的需求越来越多,系统往往是构建在企业己 有系统之上的新应用。传统的c s ( c l i e n t s e r v e r ) 模式系统由于缺少通用性,一旦业务变更, 则需要重新设计和开发新系统,使得维护和管理的难度大大增加,不易于业务拓展。因此, 基于b s 多层架构的w 曲应用开发就应运而生并迅速的发展起来。随着h l t e n l 训i i l 仃a i l c t 和w e b 技术的发展,w e b 应用系统在i n t e m e t 上的使用也越来越广泛【l 】。w e b 应用不再是 仅仅具有静态发布信息的简单功能,而是被要求具有实时动态处理交互信息的能力,并且 此要求还在不断的提高和更新。正因为如此,如何开发出方便、快捷、高效、灵活和易扩 展的w 曲应用系统越来越成为一个倍受人们关注的课题。 j 2 e e ( j a v a2e n t e r p r i s ee d i t i o n ) 是建立在j a v a2 平台上的企业级应用的解决方案【2 】。 它为以分布式和服务器为主的应用提供了一个统一的平台,并且得到了业界的广泛支持。 它提供开放和标准的开发环境,j 2 e e 使企业级应用系统得以建立。j 2 e e 的核心思想有两 个,一个是分层的思想,另一个是构件的思想。软件分层有利于软件开发的分工,使大型 系统中所需的技术相互隔离。j 2 e e 的每一层又定义了相应的构件开发规范,通过构件来 实现层的功能,构件技术的应用大大地提高了软件的可重用性。 大冶市有色金属有限公司设计院化验室对外承接铁矿化验任务,其管理方式采用传统 c s 架构的系统,每当有新的业务需求,实验室不得不重新修改系统然后在每台计算机上 重新发布,不易维护和更新。采用j 2 e e 的m v c 模式设计化验室管理系纠3 1 ,使表示层, 控制层,业务逻辑层分离开来,有效地优化了系统结构,提高了系统的扩展性,降低系统 复杂度与维护难度。通过设计与开发基于j 2 e e 模式的铁矿化验管理系统,为各种需求用 户提供共享的、稳定的化验室管理信息平台,实现了化验室工作的有效管理,简化了日常 维护和更新,节约了开发和维护成本。 当前,社会信息化的程度已被看作是一个国家现代化水平和综合国力的重要标志。设 计与开发基于w e b 应用的j 2 e e 化验室管理系统,是化验室信息管理标准化的体现,是适 应现代化信息管理的必然趋势。 1 2 本文研究目的 为了应对由于市场信息变化的需求,企业对w e b 应用程序的可扩展性要求越来越高, 因此对传统的w e b 应用技术提出了技术挑战。传统的w e b 应用开发将页面显示、业务逻 辑和数据处理都集中在页面代码中,导致应用程序的耦合性很强,从而引起w e b 应用的 扩展和维护极其困难,同时也不利于开发人员分工协作。传统的w e b 应用开发在大型的 第2 页武汉科技大学硕士学位论文 企业级应用中愈加显的力不从心。随着j 2 e e 平台的出现,基于b s 的多层w e b 体系结构 逐渐发展成熟起来,多层w e b 应用的开发己成为主流。但是,在多层w e b 体系结构的设 计中,普遍存在程序可重用程度低、维护工作繁琐、应变能力较弱等不足。同时,多层 w e b 应用软件需要面对复杂的网络环境、多样化的用户需求、灵活的业务模式、复杂的 业务流程、众多的组织机构及层次、角色分工等问题,在业务和技术上也是复杂多变。因 此,如何组织应用程序以实现简单高效的应用程序升级、维护和扩展,是当前w e b 技术 发展的热点之一。 为了降低成本、加快应用程序的开发和设计。依据j 2 e e 平台提供的基于组件的方法, 人们要做的就是如何组装这些组件使之成为一个具有伸缩性、可维护性、可扩展性、可重 用性和易管理性的易于开发的软件体系结构。 s t r u t s 最初是由c r a i gr m c c l a n a h a i l 创建的,在2 0 0 0 年用于a p a c h es o f t w a r e f o u n d a t i o n 的j a k a r t a 项目 4 1 。2 0 0 1 年6 月,s t r u t s l 0 发布。从那以后,许多人在原代码和 文档方面都对该项目做出过贡献,s t r u t s 得到了迅速的发展。如今,s t r u t s 己成为构建 j a v a w e b 应用程序的实际标准,并且已经成为j a v a 体系的一部分。但是它唯一不足之处 就是配置文件相对较多,操作起来不是很方便。刚刚接触s t r u t s 的程序员不容易掌握。 数据库操作在w e b 应用中具有相当重要的地位,可以说,所以的w e b 应用都离不开 数据库。目前,关系数据库占据着市场的主导地位,不利于面向对象的编程思想的发挥, 如何利用面向对象的思想操作关系数据库也是当今的w e b 应用技术发展的热点之一。 以前使用j d b c 编程来访问数据库,虽然运行效率高,但是在j a v a 程序代码中嵌入 大量的s q l 语句,使得项目难以维护。现在,越来越多的j a v a 开发人员把h i b e r n a t e 作 为企业应用和关系数据库之间的中间件。h i b e r n a t e 是对象关系映射( o b j e c t r e l a t i o n m a p p i n g ) 的解决方案,简写为o r m ,简单地说就是将j a v a 中的对象与对象关系映射至关 系数据库中的表格与表格之间的关系【5 】,h i b e r n a t e 提供了这个过程中自动对应转换的方 案。从而使程序员可以方便的使用面向对象的思想操作关系数据库。这为程序员的访问数 据库操作变的非常便捷。 1 3 本文组织结构 本文主要研究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 的技术体系及其特点,介绍了基于m v c 模式的s t r u t s 框架, 数据持久层框架h i b e r n a t e 的特点和核心接e l ,及s p r i n g 控制反转和面向方面的编程的特 点。 第三章化验室管理系统的需求分析 本章主要介绍了化验室管理系统的各个模块的需求。 武汉科技大学硕士学位论文第3 页 第四章化验室管理系统的设计与实现 本章详细分析了基于j 2 e e 的化验室管理系统的总体架构和数据库设计,以及整合 s t r i l t s ,h i b 鼬a t e ,s p r i n g 的具体实现。 第五章总结与展望 总结全文,得出全文研究成果以及研究工作的展望。 1 4 作者所做工作 基于本课题的研究,作者所做的工作有: 1 研究了j 2 e e 分布式多层模型。 2 研究了当前比较流行的开源框架,对表现层s t n l t s 框架,业务逻辑层s p r i n g 框架, 持久层h i b 删e 框架作了深入的研究。 3 完成了化验室管理系统的需求分析。 4 完成了化验室管理系统的任务分配,结果录入,审核签发,查询统计,权限管理, 代码管理,打印功能的设计和编码工作,参与讨论了化验室管理系统的数据库设计。 1 5 本章小结 本章主要介绍了本课题的研究背景和意义,介绍了现有框架的应用状况,介绍了本课 题所需完成的研究内容。 第4 页武汉科技大学硕士学位论文 2 1j 2 e e 的概念 第二章关键技术分析 j 2 e e ( j a v a2e n t e r p r i s ee d i t i o n ) 是建立在j a v a2 平台上的企业级应用的解决方案。 其最终目标是成为一个支持企业级应用开发的体系结构,简化企业解决方案的开发,部署 和管理等复杂问题。事实上,j 2 e e 已经成为企业级开发的工业标准和首选平台【6 】。 j 2 e e 并非一个产品,而是s u n 公司提出的一个标准,符合这个标准的产品叫“实现”, 市场上可以看到很多实现了j 2 e e 的产品,如b e aw e b l o g i c ,i b mw e b s p h e r e 以及开源 的j b o s s 等等。 2 1 1j 2 e e 的结构 s u n 设计j 2 e e 的初衷是为了解决c s 模式( c l i e n v s e r v e r ) 的弊端。在传统的两层模式 中,客户端担当了过多的角色而显得臃肿。在这种模式中,第一次部署的时候比较容易, 但难于升级或改进,可扩展性也不理想,而且经常基于某种专有的协议通常是某种数 据库协议,它使得重用业务逻辑和界面逻辑非常困难。现在,j 2 e e 的多层企业级应用模 型将两层化模型中的不同层面切分成许多层,一个多层化应用能够为不同的服务提供一个 独立的层f 7 1 。 j 2 e e 典型的结构分为四层: 1 ) 运行在客户端机器上的客户层组件( c l i e n tt i e r ) 。 2 ) 运行在j 2 e e 服务器上的w e b 层组件( w e bt i e r ) 。 3 ) 运行在j 2 e e 服务器上的业务逻辑层组件( b u s i n e s st i e r ) 。 4 ) 运行在e i s 服务器上的企业信息系统( e n t e r p r i s ei n f o r m a t i o ns y s t e r n ) 层软件( e i s t i e r ) 。 其中w e b 层和业务层合称为中间层( m i d d l et i e r ) 。 2 1 2j 2 e e 的优势 j 2 e e 是一种利用j a v a 2 平台简化企业解决方案的开发、部署和管理相关复杂问题的 体系结构。j 2 e e 技术的基础就是核心j a v a 平台或j a v a2 平台的标准版,j 2 e e 不仅巩固 了标准版中的许多优点,例如“编写一次、随处运行 的特性、方便存取数据库的j d b c a p i 、c o r b a 技术,以及能够在i n t e m 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 as e r v l e t sa i p 、j s p ( j a v as e r v e rp a g e s ) 及x m l 技术的全面 支判引。其最终目的就是成为一个能够使企业开发者大幅缩短投放市场时间的体系结构。 j 2 e e 体系结构提供中间层集成框架用来满足无需太多费用而又需要高可用性、高可 靠性及可扩展件的应用的需求。通过提供统一的开发平台,j 2 e e 降低了开发多层应用的 武汉科技大学硕士学位论文第5 页 费用和复杂性,同时提供对现有应用程序集成强有力的支持,完全支持e n t e r p r i s e j a v a b e a n s ,有良好的向导支持打包和部署应用,添加目录支持,增强了安全机制,提高 了性能【9 1 。 j 2 e e 目前得到了广泛的应用,其优势主要是为搭建具有可伸缩性、灵活性、易维护 性的业务系统提供了良好的机制。其主要优势有如下几个方面: 1 ) 保留现存的r r 资产 由于企业必须适应新的商业需求,利用已有的企业信息系统方面的投资而不是重新制 定全盘方案就变得很重要。这样,一个以渐进的( 而不是激进的、全盘否定的) 方式建立在 已有系统之上的服务器端平台机制是公司所需求的。j 2 e e 架构可以充分利用用户原有的 投资,如一些公司使用的b e at u x e d o 、i b mc i c s 、i b me n c i n a 、i n p r i s ev i s i b r o k e r 及 n e t s c a p ea p p l i c a t i o ns e r v e r 。这之所以成为可能,是因为j 2 e e 拥有广泛的业界支持和一 些重要的“企业计算 领域供应商的参与。每一个供应商都对现有的客户提供了不用废弃 已有投资即可进入可移植的j 2 e e 领域的升级途径。出于基于j 2 e e 平台的产品几乎能够 在任何操作系统和硬件配置上运行,现有的操作系统和硬件也能被保留使用。 2 ) 高效的开发 j 2 e e 允许公司把一些通用的、很繁琐的服务器端任务交给中间件供应商去完成,这 样开发人员可以集中精力在如何创建业务逻辑上,相应地缩短了开发时间。高级中间件供 应商提供以下这些复杂的中间件服务: a ) 状态管理服务:让开发人员写更少的代码,不用关心如何管理状态,这样能够更 快地完成程序开发。 b ) 持续性服务:让开发人员不用对数据访问逻辑进行编码就能编写应用程序,能生 成更轻巧且与数据库无关的应用程序,这种应用程序更易于开发与维护。 c ) 分布式共享数据对象缓存服务:让开发人员编制高性能的系统,极大地提高了整 体部署的伸缩性。 3 ) 支持异构环境 j 2 e e 能够开发部署在异构环境中的可移植程序。基于j 2 e e 的应用程序不依赖任何特 定操作系统、中间件、硬件,出此设计合理的基于j 2 e e 的程序只需开发一次就可部署到 各种平台。这在典型的异构企业计算环境中是十分关键的。j 2 e e 标准也允许客户订购与 j 2 e e 兼容的第三方的现成的组件,把它们部署到异构环境中,节省了由自己制订整个方 案所需的费用。 4 ) 可伸缩性 企业必须选择一种服务器端平台,这种平台应能提供极佳的可伸缩性去满足那些在他 们系统上进行商业运作的大批新客户。基于j 2 e e 平台的应用程序可被部署到各种操作系 统上。例如可被部署到高端u n i x 与大型机系统,这种系统单机可支持6 4 2 5 6 个处理器。 j 2 e e 领域的供应商提供了更为广泛的负载平衡策略,能消除系统中的瓶颈,允许多台服 务器集成部署。这种部署可达数千个处理器,实现可高度伸缩的系统,满足未来商业应用 第6 页武汉科技大学硕士学位论文 的需要。 5 1 稳定的可重用性 一个服务器端平台必须能全天候运转以满足公司客户、合作伙伴的需要。因为i n t e r n e t 是全球化的、无处不在的,即使在夜间按计划停机也可能造成严重损失从而引起灾难性后 果。j 2 e e 部署到可靠的操作环境中,支持长期的可用性。一些j 2 e e 部署在w i n d o w s 环 境中,客户也可选择健壮性能更好的操作系统,如s u ns o l a r i s 、m m0 s 3 9 0 。 正是具有了以上优点,j 2 e e 才会受到企业客户及软件开发者的青睐,成为当前软件 开发领域的一大技术主流。 2 1 3 , 1 2 e e 的技术体系 j 2 e e 是一个技术架构,也可以视为一个技术体系,它包含了许多内容,这也是其复 杂性之所在。j 2 e e 主要包括了以下技术: 1 ) j d b c ( j a v a 数据库连接) j d b c ( j a v ad a t a b a s ec o n n e c t i v i t y ) 为j a v a 应用程序访问数据库提供了一个统一的接 1 :3 。通过j d b c 可以完成建立到数据库的连接、执行s q l 语句等操作。 通过j d b c 访问数据库需要有相应数据库的j d b c 驱动程序( 通常由数据库厂商提 供) ,j d b c 驱动程序负责将j d b c 操作转换为特定的数据库操作。w e b l o g i es e r v e r 提供 了大量的j d b c 驱动程序,例如针对o r a c l e 、s q ls e r v e r 、s y b a s e 、c l o u n d s c a p e 等数据库 的j d b c 驱动。 2 ) s e r v l e t 与j s p s e r v l e t 是一种服务器端的技术,用来实现表示逻辑。它接收来自w e b 浏览器的h t r p 请求信息,进行处理后返回h t t p 响应信息。由于s e r v l e t 是用j a v a 语言编写的,可移植 性较强,可以从一个平台移植到另一个平台【l o 】。 w e b l o g i cs e r v e r 中的s e r v l e t 采用了请求响应模型。当来自客户机的请求到达s e r v l e t 引擎时,w e b l o g i cs e r v e r 将调用适当的s e r v l e t 进行处理,然后把响应信息返回给客户机。 目前常用的s e r v l e t 类型是h t r p s e r v l e t ,该类型的s e r v l e t 是专门为采用h t t p 协议 的请求服务的。w 曲l o g i es e r v e r 仅支持h t r ps e r v l e t 1 l 】。 j s p ( j a v as e r v e rp a g e ) 技术可以提供与s e r v l e t 相同的功能,但是开发起来比s e r v l e t 要 简便。j s p 可以帮助w e b 开发者使用相对较少的代码创建动态的网页。j s p 的优点是它的 简洁性,w e b 设计者即使不懂得编程,也可以使用j s p 创建动态的网页【1 2 1 。 j s p 是h t m l 代码和j a v a 代码的混合。当第次请求一个j s p 页面时,应用服务器 需要先把该j s p 页面编译为一个s e r v i a ,为请求提供服务。在客户请求j s p 页面的时候, 服务器就会处理j a v a 代码,然后返回h t m l 页面给浏览器。 3 ) j n d i j n d i 即j a v a 的命名和目录接口。j n d i 是j a v a 定义的一种标准的注册机制,提供名 字和目录服务。在j 2 e e 应用中,j n d i 用于管理应用中用到的核心组件和对象。当需要 武汉科技大学 硕士学位论文第7 页 使用某一个组件时,j n d i 可以提供查找该组件的方法。 j n d i 提供了一组a p i 用来访问命名和目录服务。它提供一个相容式的模式访问和操 作企业大范围的资源,例如一个应用服务器中的d n s 、l d a p 、本地文件系统或者对象。 命名服务是一种应用程序,该程序包含一个对象集合或对象引用的集合,还对每个对 象关联了一个对用户友好的名称。目录服务只是命名服务所提供的一个扩展功能。 w e b l o g i cs e r v e r 提供了j n d i 服务。开发人员可以存储、修改和删除w e b l o g i cs e r v e r j n d i 中的j a v a 组件和资源。在使用w e b l o g i cs e r v e r 集群的情形下,j n d i 也用做整个集 群中的共享名字服务。 4 ) r m i ( r e m o t em e t h o di n v o c a t i o n ) r m i 即远程方法调用。r m i 是j a v a 应用程序访问远程j a v a 对象的一种标准。利用 r m i ,j a v a 应用程序可以访问位于其他进程甚至其他计算机上的对象。对于应用程序来说, r m i 使得远程对象如向本地对象一样【1 3 】。 5 ) j m s ( j a v am e s s a g es e r v i c e ) j m s ( j a v a 消息服务) 提供了一组标准的j a v a a p i ,用于企业级的消息处理。通过j m s , 可以在j a v a 程序之间发送和接收消息。w e b l o g i cs e r v e r 完全实现了j m s 标准。 j m s 提供两种消息处理方式: 幻队歹l j ( q u e u e ) 模型 b ) 基于主题的发布订阅模式 队列模型是将j m s 消息放到j m s 队列中,然后接收方到j m s 队列中去取消息。发布 订阅模式是将某一主题的j m s 消息发给该主题的所有订阅者,与生活中订阅报刊类似。 6 ) j a v a m a i l j a v am a i l 是一个用来访问邮件服务器的a p i 。j a v am a i la p i 提供了一套抽象类来模型 化一个邮件系统。支持s m t p 和i m t p 服务器。 7 ) e j b j 2 e e 中一个引人注目的技术就是e j b 。它提供了一个架构开发和配置到客户端的分 布式业务逻辑,因此可以明显减少开发扩展性高度复杂的企业应用的难度。e j b 规范定义 了e j b 组件应该如何及何时与它们的容器交互。由e j b 容器负责提供普通的服务,例如 目录服务、事务管理、安全、资源池和容错。 e j b 2 0 规范定义了以下几种e j b 1 4 1 : 幻会话b e a n 会话b e a n 在j 2 e e 应用程序中被用来完成一些服务器端的业务操作,例如访问数据 库、调用其他e j b 组件。在一个基于j 2 e e 规范的电子商务系统中会话b e a n 可能会充当 以下角色:计价器、信用卡验证器、商品搜索引擎。总之,会话b e a n 代表的是“动作 。 会话b e a n 分为两类:有状态会话b e a n 和无状态会话b e a n 。二者的区别在于是否保存客 户端的状态信息。 b ) 实体b e a n 第8 页武汉科技大学硕士学位论文 实体b e a n 代表持久保存的数据,典型的是存储在数据库中的数据,因此在服务器崩 溃后数据仍然存在。多个客户端可以使用e j b 表示同样的数据。例如在一个电子商务系 统中,实体b e a n 可能被用来代表产品、雇员、信用卡、订单等数据对象。 c ) 消息驱动b e a n 结合了会话b e a n 和j m s 的消息监听器的特征,允许一个业务层组件异步接收j m s 消息。 虽然以上几种e j b 各有不同,不过所有的e j b 也有不少相同的地方。例如,它们都 有一个h o m e 接口,用来定义一个客户如何被创建和消除,一个远程的接口,定义客户端 可以调用哪些b e a n 上的方法,以及一个实现主商业逻辑的b e a n 类。 2 2s t r u t s 框架 当建筑师开始一个建筑项目时,首先要设计该建筑的框架结构,有了这份蓝图,接来 的实际建筑过程才会有条不紊,井然有序。同样,软件开发者开始一个软件项目时,首先 也应该构思该软件应用的框架,规划软件模块,并定义这些模块之间的接口和关系。框架 可以提高软件开发的速度和效率,并且使软件更便于维护。 对于开发w 曲应用,要从头设计并开发出一个可靠、稳定的框架并不是一件容易的 事。幸运的是,随着w e b 开发技术的日趋成熟,在w e b 开发领域出现了一些现成的优秀 的框架,开发者可以直接使用它们,s t r u t s 就是一种不错的选择,它是基于m v c 的w 曲 应用框架【1 5 1 。 2 2 1s t r u t s 的组成 o r g a p a c h e s t r u t s a c t i o n 包中包含了s t r u t s 的核心处理对象。图2 1 显示的是 o r g a p a c h e s t r u t s a c t i o n 包的一个最简单的u m l 刚16 1 。图2 1 显示了a c t i o n s e r v l e t ( 控制器) , a c t i o n f o r m ( 表单状态类) 和a c t i o n ( 模型封装类) 之间的关系。 图2 1a c t i o n s e r v l e t , a c f i o n 和a c t i o n f o r m 之间关系的u m l 图 武汉科技大学 硕士学位论文第9 页 1 ) a c t i o n s e r v l e t 类 s t r u t s 的控制器将事件( 事件通常是h 1 v r pp o s t ) 映射到个s c r v l c t 类。控制器使用配 置文件以使用户不必对这些值进行硬编码。 a c t i o n s c r v l e t 是该m v c 实现的控制部分,它是这一框架的核心。a c t i o n s c r v l e t 创建 并使用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 w a r d 。如前所述,s t r u t s c o n f i g x m l 文件配置该控 制器的行为。在开发一个w e b 项目时,需要扩展a c t i o n 和a c t i o n f o r m 来解决特定的问题。 s t r u t s c o n f i g x m l 指示a c t i o n s e r v l e t 如何使用这些扩展的类【1 7 1 。 采用这种使用配置文件的处理方法有以下优点: a ) 应用程序的整个逻辑流程都存储在一个分层的文本文件中,这使得人们更容易查 看和理解它,尤其是对于大型应用程序而言。 b ) 网页设计人员不必费力地阅读j a v a 代码来理解应用程序的流程。 c ) j a v a 开发人员也不必在更改流程以后重新编译代码。 2 ) a c t i o n f o r m 类 a c t i o n f o r m 类维护w e b 应用程序的会话状态,它是一个抽象类,必须为每个输入表 单模型创建该类的子类。它的主要作用是保存用户提交的表单中的数据。例如,可能有一 个根据h t m l 表单编写的u s c r a c t i o n f o r m 类,s t r u t s 框架将执行以下操作: a ) 检查u s c r a c t i o n f o r m 是否存在。如果存在,它将创建该类的一个实例。 b ) s t r u t s 使用h t t p s e r v l e t r e q u e s t 中相应的值设置u s e r a c t i o n f o r m 的属性。 c ) s t r u t s 框架将u s c r a c t i o n f o r m 传递给业务包装u s e r a c t i o n 之前将更新它的状态。 d ) 在将u s c r a c t i o n f o r m 传递给a c t i o n 类之前,s t r u t s 还会调用u s c r a c t i o n f o r m 的 v a l i d a t e ( ) 方法进行表单状态验证。 e ) 可在会话级维护u s e r a c t i o n f o r m 。 3 ) a c t i o n 类 a c t i o n 类是业务逻辑的一个包装,a c t i o n 类的用途是将h t t p s e r v l e t r e q u e s t 转换为业 务逻辑。要使用a c t i o n 类,必须创建它的子类并且覆盖其p r o c e s s 0 方法。 a c t i o n s c r v l e t ( 控制器) 使用p e r f o r m ( ) 方法将参数化的类传递给a c t i o n f o r m 。在这里不 需要使用r e q u e s t 的g e t p a r a m c t c r ( ) 方法对页面提交的参数一一进行处理,a c t i o n s c r v l e t 会 自动将用户提交的参数赋值给a c t i o n f o r m 中相应的属性。当事件进展到这一步时,输入 表单数据或h t m l 表单数据已被从请求流中提取出来并传递到了a c t i o n f o r m 类中【1 3 】。 4 ) e r r o r 类 图2 1 所示u m l 图中还包括a c t i o n e r r o r 和a c t i o n e r r o r s 。a c t i o n e r r o r 封装了单个错 误消息。a c t i o n e r r o r s 是a c t i o n e r r o r 类的容器,视图可以通过使用标记来访问这些 a c t i o n e r r o r 对象。a c t i o n e r r o r 是s t r u t s 保持错误列表的一种方式。 5 ) a c t i o n m a p p i n g 类 输入事件通常是在h t t p 请求表单中发生的,s e r v l e t 容器将h t t p 请求转换为 h t t p s e r v l e t r e q u e s t 。控制器查看输入事件并将请求分派给某个a c t i o n 类。s t r u t s c o n f i g x m l 第1 0 页武汉科技大学硕士学位论文 确定c o n t r o l l e r 调用哪个a c t i o n 类。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

温馨提示

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

评论

0/150

提交评论