(教育技术学专业论文)基于j2ee架构的企业综合业务处理系统研究与开发.pdf_第1页
(教育技术学专业论文)基于j2ee架构的企业综合业务处理系统研究与开发.pdf_第2页
(教育技术学专业论文)基于j2ee架构的企业综合业务处理系统研究与开发.pdf_第3页
(教育技术学专业论文)基于j2ee架构的企业综合业务处理系统研究与开发.pdf_第4页
(教育技术学专业论文)基于j2ee架构的企业综合业务处理系统研究与开发.pdf_第5页
已阅读5页,还剩50页未读 继续免费阅读

(教育技术学专业论文)基于j2ee架构的企业综合业务处理系统研究与开发.pdf.pdf 免费下载

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

文档简介

硬士学位论文 m s t e 曳st h e s i $ 摘要 随着计算机技术和网络技术的不断发展,越来越多的企业不再局限于单机版和 基于c s 结构的处理系统,而是更需要基于b s 结构的处理系统,尤其需要能跨平 台使用的处理系统。因此,建立具有高度伸缩性、灵活性、稳定性且可扩充、易维 护的处理系统是大多数企业的迫切需要,基于j a v a 技术平台的应用程序开发逐渐发 展起来,j 2 e e 为开发复杂的、分布式企业级j a v a 应用定义了一套体系结构。本课 题是在某企业的需求下,建立的基于j 2 e e 架构的综合业务处理系统,解决该企业 多年来一直困扰的人工操作的繁琐和低效率,为企业管理信息化、高效率和连锁经 营提供支持。 论文从j 2 e e 技术入手,首先,介绍a p i 、s e r v l e t 及j a v a 服务器页面( j s p ) 、 企业级j a v a b e a n s ( e m ) 。其次,进行用户需求分析,了解到洗浴企业业务的特殊 性,面向顾客销售洗浴产品及相关附属服务类产品。系统确定分为吧台服务、收银、 财务管理和系统设置四个功能模块。 吧台服务模块实现查询、点单、分单、转单等功能。 收银模块实现开单、补单、删单、结账、团队结款、挂账签单、客人维护等功 能。 财务管理模块实现对每日数据、历史数据、每月对单和结算进行查询,修改收 银、财务单据,补单,取消提成和平价等功能。 系统维护模块实现员工管理、操作员管理、服务项目管理、基础数据管理等功 能。 最后,进一步向下细化每个功能模块,并编制每个子模块,逐步向上集成,系 统功能得以实现。 关键词:j 2 e e ;j s p ;洗浴企业;综合业务处理系统 磺士学往论文 m s t e 氛st h e s i s a b s t r a c t w i t hc o m p u t e ra n dn e t w o r kt e c h n o l o g yd e v e l o p i n gm o r ea n dm o r ec o m p a n i e sa g e n o to n l yt ou s em a n a g es y s t e mb a s e do ns t a n d - a l o n ea n dc ss t r u c t u r eb u ta l s ot ou s e m a n a g es y s t e mb a s e d0 nb ss t r u c t u r ea n de s p e c i a l l yu s em a n a g es y s t e mw h i c hc a nb e c r o s sd i f f e r e n tp l a t f o r m m a n a g es y s t e m 、析也1 1 i 曲s c a l a b i l i t y , f l e x i b i l i t y , s t a b i l i t y , s c a l a b l ea n de a s i l ym a i n t e n a n c ei su r g e n t l yt os e tu pb ym a n yc o m p a n i e s a p p l i c a t i o n p r o c e d u r ed e v e l o p m e n tb a s e do nj a v at e c h n o l o g yp l a t f o r mi sd e v e l o p e d , a n dj 2 e ec a l l d e f o es y s t e ma r c h i t e c t u r ef o rd e v e l o p i n gc o m p l e xa n dd i s t r i b u t e de n t e r p r i s ej a v a a p p l i c a t i o n :t h i sp a p e rs t u d yi n t e g r a t e db u s i n e s sm a n a g e m e n t s y s t e mb a s e do nj 2 e e s t m c t u r et os u p p o r ti n f o r m a t i o nm a n a g e m e n t , h i g he f f i c i e n c ya n dc h a i ns t o r e m a n a g e m e n t 砸sp a p e ri n t r o d u c e sa p i ,s e r v l e ta n dj a v as e r v e rp a g e r s ( j s p ) ,a n de n t e r p r i s e j a v a b e a n s ( e j b ) f i r s t l y t h e nt h i sp a p e rs t u d ym a n a g e m e n ts y s t e ms e tu pb a s e d o nj 2 e e a sa ne x a m p l eo fb a t hs e r v i c ee n t e r p r i s e b ya m # z i n gc u s t o m e rr e q u i r e m e n t sb a t h p r o d u c t sa n dr e l a t i v es e r v i c ec a nb ei n t r o d u c e dt oc u s t o m e r sm a i n l yw h e n 也e ye n j o ya r e l a x e d , h a p p ya n dh a r m o n i o u sb a t h 砀em a n a g e m e n ts y s t e m si n c l u d es t a g es e r v i c e m o d u l e ,c h a r g em o d u l e ,f i n a n c em a n a g e m e n tm o d u l ea n ds y s t e mm a i n t e n a n c em o d u l e s t a g es e r v i c em o d u l ea c h i e v e ss e a r c h , o r d e r , c l a s so r d e ra n dt r a n s f e ro r d e r c h a r g em o d u l ea c h i e v e sw r i t em e n u , r e n e wm e n u , c u tm e n u , c h e c k - o u t , s i g nm e n u a n dc u s t o m e ri n f o r m a t i o nm a i n t e n a n c e f i n a n c em o d u l ea c h i e v e st oc h e c ke v e r y d a yd a t a , h i s t o r yd a t a , m o n t hc h e c kl i s ta n d m o n t hc l o s ef i n a n c e s y s t e m m a i n t e n a n c em o d u l ea c h i e v e s e m p l o y e e sm a n a g e m e n t , o p e r a t o r s m a n a g e m e n t , s e r v i c ep r o j e c t sm a n a g e m e n t , b a s ed a t am a n a g e m e n t e v e r yf u n c t i o nm o d u l ec a nb ed i v i d e dm a n ys u b - m o d u l e s e v e r ys u b m o d u l ew h i c h c o m p i l e dc a nb ei n t e g r a t e dt oa c h i e v es y s t e mf u n c t i o n k e y w o r d s :j 2 e e ,j s p , b a t hs e r v i c ec o m p a n y , i n t e g r a t e db u s i n e s ss y s t e m 硕士学位论文 m a s t e r st h e s i s 华中师范大学学位论文原创性声明和使用授权说明 原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师指导下,独立进行研究工作 所取得的研究成果。除文中已经标明引用的内容外,本论文不包含任何其他个人或 集体已经发表或撰写过的研究成果。对本文的研究做出贡献的个人和集体,均已在 文中以明确方式标明。本声明的法律结果由本人承担。 作者签名: 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,0 p 学校有权 保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借 阅。本人授权华中师范大学可以将本学位论文的全部或部分内容编入有关数据库进 行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。同时授权 中国科学技术信息研究所将本学位论文收录到中国学位论文全文数据库,并通 过网络向社会公众提供信息服务。 作者签名:苦懒导师签名 蝴:妒胪弓汨 本人已经认真阅读“c a l i s 高校学位论文全文数据库发布章程 ,同意将本人的 学位论文提交“c a l i s 高校学位论文全文数据库 中全文发布,并可按“章程”中的 规定享受相关权益。圄重途塞握童卮溢卮;旦圭生;旦二生i 笪三生筮查! 作者签名:寺即丕心 日期:;坼t 1 月亏日 撕娩批 导师签名:纠o 丫 日期: 3 铲m 砷 矮士学位论更 m s t e 技st h e s i s 第1 章绪论 1 1 课题来源 企业因其性质、行业、经营模式等不同,存在千变万化的差别,不可能有一个 统一的业务处理系统,即使有,也是非常的庞大、臃肿和没有实际使用价值。所以 本文以一家经营洗浴服务的企业作为实例进行企业综合业务处理系统开发。系统主 要功能是处理洗浴企业日常事务,给服务员、收银员、财务管理员和系统维护员提 供提供界面友好、操作简便、快捷、稳定的系统环境,为企业提高工作效率、优化 管理模式创造条件。 1 2 课题的目的和意义 1 2 1 课题的目的和意义 计算机的大量普及,使得企业人工化操作已经严重制约了企业的发展和影响了 企业的管理、工作效率,为了推动企业信息化发展进程,根据一家洗浴企业的业务 处理需要,提出了基于j 2 e e 1 j ( j a v a2 p l a t f o r m ,e n t e r p r i s ee d i t i o n ) 架构的 b s t 2 ( b r o w s e r s e r v e r ,浏览器服务器) 体系结构模式的解决方案。 该企业原来进行手工操作时,顾客从进入前台开始,开单、点单、退单、结帐、 补单、分单、转单、团队结帐、签单结账、修改信息等操作需要手工填写,消费查 询、技师分析( 技师提成明细、技师提成统计、技师上钟排班、技师交班明细) 、 营业状况分析、销售收入等需要大量的人力进行长时间的计算。经常发生顾客已经 结账离开了,还有其他的消费单据没有结算等现象。 采用计算机网络技术进行信息化处理系统后,大大提高了企业员工的工作效 率,简化了开单、点单、结账等手续,提高了企业高层人员的管理水平,为企业的 扩大和连锁经营创造条件。与手工操作相比,基于网络的综合业务处理系统具有以 下优势: ( 1 ) 顾客手牌管理自动化。通过对顾客手牌的管理,可以很清楚地查明正在使 用的手牌、未使用的手牌、已经结账的手牌、组合为团队的手牌、特殊状况的手牌 等,为分类和查询提供了便利,为企业管理提供了高效率和低成本。 磺士学位论文 m s t e r st h e s l s ( 2 ) 吧台服务明确化。技师和服务生可以根据顾客点定的时间安排服务,也可 根据技师的时间向顾客推荐服务或变更约定时间,明确高效。 ( 3 ) 员工业绩准确化。员工的工作业绩都被电脑准确地记录在数据库中,可以 根据需要按各条件查询日、周、月业绩,准确、快捷、方便。 ( 4 ) 收银收入精确化。收银员扎帐核算精确明了,结账金额、签单数目、刷卡 打折等不差毫厘。 ( 5 ) 员工能力评判公正化。员工的工作业绩交由数据库系统储存,避免凭主观 判断造成的失误。 ( 6 ) 数据统计强力化。基于网络的处理系统具有强大的统计能力,使原来繁琐 的分析统计可以快速完成。如果把服务器接入i n t e m e t 网络,还可以在其他任何有 网络的地方实时查询统计所需的数据。 1 2 2 现有洗浴企业综合业务处理系统的不足之处 目前洗浴企业综合业务处理系统很多,但大多数商业软件存在以下几点不足: ( 1 ) 数据的安全不能得到有效的保护。现有的大部分洗浴企业综合业务处理系 统集成数据处理或采用两层结构,用户数据安全得不到有效保护。1 3 j ( 2 ) 不能跨平台使用。现有的大多数洗浴企业综合业务处理系统,采用的是非 跨平台语言开发的,甚至是单机版软件。系统在部署和安装时,客户端和服务器或 单机的操作系统必须和系统开发时所用的操作系统相容。即在w i n d o w s 平台上 开发的系统,不能在u n i x 、l i n u x 平台上使用。 因此,为了改善这些不足之处,课题组选择基于j 2 e e 平台进行系统开发。 1 3 系统的设计模式一基于j 2 e e 的m v c 模式帕 j 2 e e 拥有广泛的业界支持和一些重要的“企业计算 领域供应商的参与,每一 个供应商都对现有的客户提供了不用废弃现有投资的升级途径。由于基于j 2 e e 平 台的产品几乎能够在任何操作系统和硬件运行,现有的操作系统和硬件也能被保留 使用。体现在j 2 e e 具有以下优势: ( 1 ) 简化结构。j 2 e e 平台支持简化的、基于组件开发模型,它提供了编写一次, 随处运行的可移植性,遵循j 2 e e 标准的所有服务器都支持该模型。 e j b 组件使编写应用程序更为简单。尽管e j b 体系结构复杂,但应用程序开发 人员一般都不必再编写访问系统服务的代码,e j b 容器会实现系统级的服务,例如, 磺士学位论文 m a s t e 殳st h e s i s 事务、安全性等。 另外,j 2 e e 还支持异构环境。基于j 2 e e 的应用程序不依赖任何特定操作系统、 中间件或硬件,因此,设计合理的基于j 2 e e 的程序只需开发一次就可以部署到各 种平台,这在典型的异构企业算环境中是十分关键的。j 2 e e 标准还允许客户订购与 j 2 e e 兼容的第三方的现成组件,把其部署到异构环境中,节省了由自己制订整个方 案所需的费用。 ( 2 ) 提高开发效率。由于组件技术的使用,可以按照开发人员的技能对应用程 序开发进行分工,并行开发,提供整体开发效率。例如,图形设计师创建j s p 模板, 商业逻辑由该领域的专家完成,j s p 页面和e j a 由j a v a 工程师完成,应用程序的装 配和部署由团队中其他的成员完成,其中许多工作可以同时进行,有助于加速应用 程序的开发。 ( 3 ) 可移植性强。除了j a v a 语言固有的可移植性外,e j b 体系结构在b e a n 和 支持该b e a n 的容器之间提供了一套标准化的应用程序编程接口,这使开发人员能 够将b e a n 从一种操作环境移植到另一种操作环境,而无需重新编写其源代码。 ( 4 ) 重用性好。由于在e j b 模型中,各个软件组件都是严格分离的,因此,可 以从现有的软件组件装配出服务器端应用程序,这与从现有的j a v a b e a n 可以装配 出客户端应用程序一样,使软件能够重用。 ( 5 ) 易于维护。基于组件的设计简化了应用程序的维护。由于组件可以被独立 地更新和替代,通过更新应用程序中特定的组件,新的功能可以很容易地被增加。 ( 6 ) 可伸缩性。企业必须要选择一种服务器平台,以满足那些在它们系统上进 行商业动作的大批新客户。基于j 2 e e 平台的应用程序可被部署到各种操作系统上, 例如,可被部署到高端u n i x 或其他的大型机系统上,这种系统单机可支持6 4 至2 5 6 个处理器( 这是n t 服务器所望尘莫及的) 。j 2 e e 领域的供应商提供了更为广泛的负 载平衡策略,能消除系统中的瓶颈,允许多台服务器集成部署,实现可高度伸缩的 系统,满足未来商业应用的需要。 ( 7 ) 被广泛接受。主要的i t 供应用商都采纳e j b 体系结构,不同供应商的产 品只要符合e j b 体系结构,就都是可互操作的。 ( 8 ) 保护投资。由于企业必须适应新的商业需求,充分利用现有的企业信息系 统投资,而不是重新制定,全盘更新方案就变得尤为重要,这样,一个以渐进的( 而 不是激进的、全盘否定的) 方式建立在现有系统之上的服务器平台是大多数公司所 希望的。 j 2 e e 架构可以充分利用用户现有的投资,通过允许将现有的信息系统和资产 磺士学位论文 m a s t e r st h e s i s “包裹 在j 2 e e 应用程序中,不要求客户更换现有技术。事实上,在关系数据库 中存储数据的企业,已经有了一套已具雏形的实体b e a n ,正等着通过e j b 外壳去访 问。 鉴于这些优势,基于j 2 e e 的m v c 模式被采用: 采用m y s q l s e r v e r5 0 作为数据存储数据库。 采用j s p s e r v l e t e j b 作为系统的解决方案,以使系统具有良好的扩展性。 采用t o m c a t 5 5 2 3 5 】作为系统的应用服务器。 客户端采用浏览器形式,满足多客户端的易用性要求。 下一章将集中解释j 2 e e 技术。 4 磺士学位论文 m s t e r st h e s i s 第2 章j 2 e e 技术 2 1j 2 e e 概况 j e 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 盯1 组件在e j b 容器上运行) ,容器间通过相关的协议进 行通讯,实现组件问的相互调用。遵从这个规范的开发者将得到行业的广泛支持, 使企业级应用的开发变得简单、快速。 2 1 1j 2 e e 架构 当今,许多企业都需要扩展他们的业务范围,降低自身的经营成本,缩短他们 与客户之间的响应时间,这就需要存在一种简捷、快速的服务于企业、合作伙伴和 雇员之间。这些服务具备一下特点: 高可用性。以满足现在的全球商业环境,为企业客户提供更新更好的服务; 安全性。保护用户的隐私和企业的数据的安全,防止未被授权的用户访问; 可依赖性和可扩展性。保证商业交易的正确和迅捷。 这些服务最初是由两层的应用( 也称为客户服务器或c l i e n t s e r v e r 结构) 嘲 来实现的。图2 1 表示的是一个典型的两层体系结构。在这种体系结构下,服务器 图2 1c l i e n t s e r v e r 两层应用体系 硬士学位论更 l 订a s t e 爻st h e s i s 往往只提供唯一的服务,即数据库服务;客户端负责数据访问、应用业务逻辑,将 结果转换为一个格式以便显示,为用户显示内部的接口,以及接受用户的输入。一 方面,这种客户服务器体系在最初的时候是很容易配置完成的,但升级和扩展就 变得困难了;另一方面,这种体系也使得应用开发的成本很高,由于数据和客户端 的私有,软件的重用几乎不能实现,开发必须针对某一个具体企业重新开始整个开 发过程。 为了解决两层体系结构的不足,中间层出现在客户端和后端数据源之间,这些 中间层提供了把商业功能和数据与e i s ( e x e c u t i v ei n f o r m a t i o ns y s t e m ,主管信 息系统,又称“经理信息系统 嗍) 相结合的功能;它们把客户端从复杂的业务逻 辑中分离出来,利用成熟的互联网技术使用户在管理上所花的时间最少。而j 2 e e 正是降低了开发这种中间层服务的成本和复杂程度,因而使得服务可以被快速的展 开,并可以轻松的面对竞争的压力。j 2 e e 平台使用一个多层分布式应用程序模型, 应用程序的逻辑根据其实现的不同功能被封装到组件中,组成j 2 e e 应用程序的大 量组件根据其所属的层被安装到不同的机器中。图2 2 描述了一个分布式j 2 e e 应 用程序,它可分为如下四层n 叼: 客户层 a p p l i c a t i o n c l i e n t c o n t a i n e t 客户机 w e b 层 w e b 服务器 业务逻辑层 e j b 容器 j 2 e e 服务器 企业信息系统层 l c l 团 eis 服务器 图2 2 多层结构的应用程序 ( 1 ) 客户层( c l i e n tt i e r ) 1 1 o 客户层用来实现企业级应用系统的操作界面和显 6 回 回目团团回国 函固 礓士学位论文 m a s t e 曳st h e s i s 示层。可分为:基于w e b 的客户端,主要是作为w e b 服务器的浏览器;非基于 w e b 的客户端,是独立的应用程序,可以完成瘦客户机无法完成的任务。 ( 2 ) w e b 层n 2 1 。为企业提供w e b 服务。包括企业信息发布,由w e b 组件组成, j s p 页面和s e r v l e t s 。w e b 层主要处理客户请求,调用相应的逻辑块,并把结果以 动态网页的形式返回到客户端。 ( 3 ) 业务逻辑层( b u s i n e s sl o g i ct i e r ) 1 3 o 也叫业务层、e 3 b 层、应用层,它 通常由e j b ( e n t e r p r i s ej a v a b e a n s ) 服务器和w e b 服务器一起发布,称为应用服务 器,用来实现企业信息、应用系统的业务逻辑。这是企业级应用的核心,由e j b 来 处理,一个b e a n 从客户端接收数据、处理,然后把数据送到企业信息系统层存储 起来;同样,一个b e a n 也可以从企业信息系统层取出数据,经处理后发送到客户 端程序。业务逻辑层的e j b 要运行在容器n 町中,容器解决了底层的问题,如事务处 理、生命周期、状态管理、多线程安全管理、资源池等。 ( 4 ) 企业信息系统层( e n t e r p r is ei n f o r m a t i o ns y s t e mt i e r ) 。处理企业系统 软件,包括企业基础系统、数据库系统,支持连接架构( 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 i ( a p p l i c a t i o np r o g r a 衄i n g i n t e r f a c e ,应用程序编程接口) “。 通常情况下,业务逻辑层和w e b 层共同组成三层j 2 e e 应用的中间层,其它两 层是客户层和企业信息系统层。 2 1 2j 2 e e 应用技术 为了实现企业级的分布式应用,j 2 e e 定义了丰富的技术标准,符合这些标准的 开发工具和a p i 为开发企业级应用提供支持,涵盖数据库访问、分布式通信、安全 盘占 守o ( 1 ) 组件技术。j 2 e e 的核心思想是基于组件容器的应用,每个组件提供了方 法、属性、事件的接口,可以重用、共享和分布的。 ( 2 ) s e r v l e t s 。s e r v l e t s 用来生成动态页面或接收用户请求产生相应操作。它 们提供了一种有效的机制,用于基于服务器的业务逻辑和基于w e b 的客户端之间的 交互,还可以为通用的c g i 脚本方法提供一种简捷且便于管理的替代方法。 ( 3 ) j s p ( j a v a s e r v e rp a g e s ) 。j s p 提供的功能大多与j a v as e r v l t 类似,不 过实现的方式不同,s e r v l t 全部由j a v a 写成并且生成h t m l ;而j s p 通常是大多数 h t m l 页面中嵌入少量的j a v a 代码。 ( 4 ) e j l 3 ( e n t e r p r i s ej a v a b e a n ) 。j 2 e e 技术赢得广泛重视的主要原因之一是 磁士学位论文 m 人s t e r st h e s i $ e j b ,它是一个技术规范,提供了一个框架来开发和实施分布式商务逻辑,由此简 化了具有可伸缩性和高度复杂的企业级应用的开发;它还定义了e j b 组件在何时、 如何与它们的容器进行交互作用。 2 1 3a p i ( a p p ii c a t i o np r o g r a m m i n gi n t e r f a c e ) 在j 2 e e 中由多种a p i ,下面了解其中几种最常用的a p i 。 ( 1 ) j d b c ( t h ej a v ad a t a b a s ec o n n e c t i v i t y n 叼,j a v a 数据库连接) 。j d b ca p i 是一种用于执行s q l 语句的j a v aa p i ,可以为多种关系数据库提供统一访问,它由 一组用j a v a 语言编写的类和接口组成,接口包含在j a v a s q l 和j a v a x s q l 这两个 包中。j d b c 为工具数据库开发人员提供了一个标准的a p i ,据此可以构建更高级 的工具和接口,使数据库开发人员可以用纯j a v aa p i 编写数据库应用程序,有了 j d b c ,向各种关系数据发送s q l 语句就是一件很容易的事。 ( 2 ) j n d i ( j a v an a m i n ga n dd i r e c t o r yi n t e r f a c e n 7 1 ,j a v a 命名和目录接口) 。 j n d ia p i 用于执行名字和目录服务,其接口包含在j a v a x n a m i n g 和它的子包中, 它为应用程序提供标准的目录操作的方法。 ( 3 ) j m s ( j a v am e s s a g es e r v i c e n 引,j a v a 消息服务) 。j m s 是一组j a v a 应用程 序接口( j a v aa p i ) ,它提供创建、发送、接收、读取消息的服务。由s u n 公司和它 的合作伙伴设计的j m sa p i 定义了一组公共的应用程序接口和相应语法,使得j a v a 程序能够和其他消息组件进行通信。 ( 4 ) r m i ( r e m o t em e t h o di n v o c a t i o n n 9 1 ,远程方法调用) 。r m i 为分布式计算机 提供了一种高级的通用解决方案,它使用了连续序列方式在客户端和服务器端传递 数据,将面向对象编程模型扩展到客户机服务器系统,使开发者可以用本地对象 调用的语法进行远程调用。 2 1 4 其他j 2 e e 技术和a p i 还有其它的不是很常用的j 2 e e 技术和a p i 。 ( 1 ) j a v a 事务( j t a j t s 汹3 ) 。事务是指把多个操作聚合成一个单一的“原子 操作。因而,如果事务的某部分操作失败,则前面执行过的操作将会“返回,即 撤销,以保证系统的稳定。j t a 提供了一个通用的、高层次的a p i 用于事务管理, 主要用于大型、分布式、通常很复杂的事务处理,包含许多大型的、远程连接系统。 j t s 是一种事务管理器服务,用于支持j t a ,并使用i i o p 服务在远程实例间通信, 也用于大型、分布式系统环境中。 8 磺士学位论文 m a s t e 敦st h e s i s ( 2 ) j 2 e e 部署瞳。在j 2 e e 部署体系中,j 2 e e 平台产品所需要的动态部署配置 信息的组件采用j a v a b e a n s 结构,这种结构既适用于表示简单又适用于表示复杂组 件,同时它还有很强的平台无关性。这些b e a n s 使得开发简单的属性页、编辑器和 复杂的定制向导( 它可以引导部署者完成应用程序部署配置各步骤) 成为易事。 ( 3 ) j a v a m a i i t = :。j a v a i a i la p i 是一个用于阅读、编写和发送电子消息的可选 包( 标准扩展) ,可以用来建立基于标准的电子邮件客户机,它配置了各种因特网 邮件协议,包括s m t p 、p o p 、i m a p 和m i m e ,还包括相关的n n t p 、s m i m e 及其它协 议。 ( 4 ) j a v ai d l c o r b a ( c o m m o no b j e c tb r o k e ra r c h i t e c t u r e 1 ,公用对象请 求代理体系) 。在异构网络( 客户机和服务器可能是使用不同语言编写的) 中,j 2 e e 平台提供了另一种解决方案取代只能在j a v a 环境中使用的r m i ,这就是基于c o r b a 的分布式对象远程调用方法。 ( 5 ) j c a ( j a v ac o n n e c t o ra r c h i t e c t u r e 阱1 ,j a v a 连接器体系) 。j c a 用一种安 全的、事务性的方法连接j 2 e e 应用程序和非j 2 e e 环境( 通常是e i s 系统、大型机 事务处理、数据库等) ,帮助开发者进行不同种类的e i s 之间的无缝集成。 ( 6 ) j a c c ( j a v aa u t h o r i z a t i o ns e r v i c ep r o v i d e r c o n t r a c tf o rc o n t a i n e r s 蜘, j a v a 容器授权合同) 。j a c c 在j 2 e e 应用服务器和特定的授权认证服务器之间定义 了一个连接协约,以便将各种授权认证服务器插入到j 2 e e 产品中去。 ( 7 ) j m x ( j a v am a n a g e m e n te x t e n s i o n s 嘲,j a v a 管理扩展) 。j m x 是一个为应 用程序、设备、系统等植入管理功能的框架。j m x 可以跨越一系列异构操作系统平 台、系统体系结构和网络传输协议,灵活的开发无缝集成的系统、网络和服务管理 应用程序。 2 2 1s e r v ie t 简介 2 2s e r vie t s e r v l e t 是一种独立于平台和协议的服务器端的j a v a 应用程序,可以生成动态 的w e b 页面。它担当w e b 浏览器或其他h t t p 客户程序与h t t p 服务器上的数据库或 应用程序之间请求联系的中间层。 s e r v l e t 是位于w e b 服务器内部的j a v a 应用程序,与传统从命令行启动的j a v a 应用程序不同,s e r v l e t 由w e b 服务器进行加载,该w e b 服务器必须包含支持s e r v l e t 的j a v a 虚拟机。 9 磺士学位论文 m a s t e 敏st h e s i s j a v as e r v l e t 与c g i ( c o m m o ng a t e w a yi n t e r f a c e 瞄1 ,公共网关接口) 的比较。 j a v as e r v l e t 具有更高的效率,更容易使用,功能更强大,具有更好的可移植 性,更节省投资。在未来的技术发展过程中,s e r v l e t 有可能彻底取代c g i 。在传 统的c g i 中,每个请求都要启动一个新的进程,如果c g i 程序本身的执行时间较短, 启动进程所需要的开销很可能反而超过实际执行时间。而在s e r v l e t 中,每个请求 由一个轻量级的j a v a 线程处理( 而不是重量级的操作系统进程) 。在传统c g i 中, 如果有n 个并发的对同一c g i 程序的请求,则该c g i 程序的代码在内存中被重复装 载了n 次;而对于s e r v l e t ,处理请求的是n 个线程,只需要一份s e r v l e t 类代码。 在性能优化方面,s e r v l e t 也比c g i 有着更多的选择。 、 方便。s e r v l e t 提供了大量的实用工具例程,例如自动地解析和解码h t m l 表单数据、读取和设置h t t p 头、处理c o o k i e 瞄1 、跟踪会话状态等。 功能强大。在s e r v l e t 中,许多使用传统c g i 程序很难完成的任务都可以 轻松地完成。例如,s e r v l e t 能够直接和w e b 服务器交互,而普通的c g i 程序不能。 s e r v l e t 还能够在各个程序之间共享数据,使得数据库连接池之类的功能很容易实 现。 可移植性好。s e r v l e t 用j a v a 编写,s e r v l e ta p i 具有完善的标准。因此, 为i p l a n e te n t e r p r i s es e r v e r 写的s e r v l e t 无需任何实质上的改动即可移植到 a p a c h e 、m i c r o s o f ti i s 或者w e b s t a r 。几乎所有的主流服务器都直接或通过插件 支持s e r v l e t 。 节省投资。不仅有许多廉价甚至免费的w e b 服务器可供个人或小规模网站 使用,而且对于现有的服务器,如果它不支持s e r v l e t 的话,要加上这部分功能也 往往是免费的( 或只需要极少的投资) 。 2 2 2h t t ps e r v i e t 应用编程接口 h t t ps e r v l e t 使用一个h t m l 表格来发送和接收数据。要创建一个h t t p s e r v l e t ,请扩展h t t p s e r v l e t 类,该类是用专门的方法来处理h t m l 表格的 g e n e r i c s e r v l e t 的一个子类。h t 札表单是由 和 标记定义的。表单中 典型地包含输入字段( 如文本输入字段、复选框、单选按钮和选择列表) 和用于提交 数据的按钮。当提交信息时,它们还指定服务器应执行哪一个s e r v l e t ( 或其它的程 序) 。h t t p s e r v l e t 类包含i n i t ( ) 、d e s t r o y0 、s e r v i c e ( ) 等方法。其中i n i t ( ) 和 d e s t r o y0 方法是继承的。 ( 1 ) i n i t ( ) 方法。在s e r v l e t 的生命期中,仅执行一次i n i t ( ) 方法。它是在服 1 0 磺士学位论文 m s t e r st h e s i s 务器装入s e r v l e t 时执行的。可以配置服务器,以在启动服务器或客户机首次访问 s e r v l e t 时装入s e r v l e t 。无论有多少客户机访问s e r v l e t ,都不会重复执行i n i t ( ) 。 缺省的i n i t ( ) 方法通常是符合要求的,但也可以用定制i n i t0 方法来覆盖它,典 型的是管理服务器端资源。例如,可能编写一个定制i n i t0 来只用于一次装入g i f 图像,改进s e r v l e t 返回g i f 图像和含有多个客户机请求的性能。另一个实例是初 始化数据库连接。缺省的i n i t0 方法设置了s e r v l e t 的初始化参数,并用它的 s e r v l e t c o n f i g 对象参数来启动配置,因此所有覆盖i n i t0 方法的s e r v l e t 应调用 s u p e r i n i t ( ) 以确保仍然执行这些任务。在调用s e r v i c e ( ) 方法之前,应确保己完 成了i n i t 0 方法。 ( 2 ) s e r v i c e0 方法。s e r v i c e0 方法是s e r v l e t 的核心。每当一个客户请求一 个h t t p s e r v l e t 对象,该对象的s e r v i c e ( ) 方法就要被调用,而且传递给这个方法 一个“请求 ( s e r v l e t r e q u e s t ) 对象和一个“响应”( s e r v l e t r e s p o n s e ) 对象作为 参数。在h t t p s e r v l e t 中已存在s e r v i c e0 方法。缺省的服务功能是调用与h t t p 请 求的方法相应的d o 功能。例如,如果h t t p 请求方法为g e t ,则缺省情况下就调用 d o g e t ( ) 。s e r v l e t 应该为s e r v l e t 支持的h t t p 方法覆盖d o 功能。因为 h t t p s e r v l e t s e r v i c e0 方法会检查请求方法是否调用了适当的处理方法,不必要 覆盖s e r v i c e 0 方法。只需覆盖相应的d o 方法就可以了。 ( 3 ) d o g e t0 方法。当一个客户通过h t m l 表单发出一个h t t p g e t 请求或直接请 求一个u r l 时,d o g e t0 方法被调用。与g e t 请求相关的参数添加到u r l 的后面, 并与这个请求一起发送,当不需要修改服务器端的数据时,应该使用d o g e t0 方法。 ( 4 ) d o p o s t ( ) 方法。当一个客户通过h t m l 表单发出一个h t t p p o s t 请求时, d o p o s t ( ) 方法被调用。与p o s t 请求相关的参数作为一个单独的h t t p 请求从浏览器 发送到服务器。当需要修改服务器端的数据时,应该使用d o p o s t0 方法。 ( 5 ) d e s t r o y 0 方法。d e s t r o y ( ) 方法仅执行一次,即在服务器停止且卸装 s e r v l e t 时执行该方法。典型的,将s e r v l e t 作为服务器进程的一部分来关闭。缺 省的d e s t r o y0 方法通常是符合要求的,但也可以覆盖它,典型的是管理服务器端 资源。例如,如果s e r v l e t 在运行时会累计统计数据,则可以编写一个d e s t r o y ( ) 方法,该方法用于在未装入s e r v l e t 时将统计数字保存在文件中。另一个实例是关 闭数据库连接。当服务器卸装s e r v l e t 时,将在所有s e r v i c e0 方法调用完成后, 或在指定的时间间隔过后调用d e s t r o y0 方法。一个s e r v l e t 在运行s e r v i c e ( ) 方 法时可能会产生其它的线程,因此请确认在调用d e s t r o y0 方法时,这些线程己终 止或完成。 磺士学位论文 m s t e 敏st h e s i $ ( 6 ) g e t s e r v l e t c o n f i g ( ) 方法。g e t s e r v l e t c o n f i g ( ) 方法返回一个 s e r v l e t c o n f i g 对象,该对象用来返回初始化参数和s e r v l e t c o n t e x t 。 s e r v l e t c o n t e x t 接口提供有关s e r v l e t 的环境信息。 ( 7 ) g e t s e r v l e t i n f o ( ) 方法。6 e t s e r v l e t i n f 0 0 方法是一个可选的方法,它提 供有关s e r v l e t 的信息,如作者、版本、版权。当服务器调用s e v l e t 的s e r v i c e0 、 d o g e t0 和d o p o s t0 这三个方法时,均需要“请求 和“响应 对象作为参数。“请 求”对象提供有关请求的信息,而“响应 对象提供了一个将响应信息返回给浏览 器的一个通信途径。 j a v a x s e r v l e t 软件包中的相关类为s e r v l e t r e s p o n s e 和s e r v l e t r e q u e s t ,而 j a v a x 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 和 h t t p s e r v l e t r e s p o n s e

温馨提示

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

评论

0/150

提交评论