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

下载本文档

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

文档简介

量堡里三奎堂堡主堂篁堡塞 摘要 在互联网蓬勃发展的今天,无论是对公司、企业或是个人而言,网络已 成为必须的工具,网络无处不在。近两年来,j a v a 和x m l 就是顺应了企业计 算网络化这一趋势发展很快,许多大公司,如:s u n ,i b m ,m i c r o s o f t ,o r a c l e 等都对这两种技术进行不断的研究和开发。而现在软件业的另一个趋势就是 基于组件的开发。炒一 本文依托“湖北交通质量监督管理系统”开发项目,根据分析传统b s 模型的不足,以及目前企业计算发展的趋势,结合当前软件界出现的基于组 件的开发模式、j a v a 技术和x m l 等,提出了一种基于j a v a 和x m l 的i n t r a n e t 应用系统计算模型,并将其应用到了“湖北交通质量监督管理系统”中。本 模型以j a v a 技术为基础并结合了x m l 是一种多层的分布式计算模型。在模型 的具体实施上采用了基于组件的软件开发思想。本模型为解决当前w e b 应用 开发中存在的困难和问题提供了一种新的参考。 本文的主要内容有:第一章,分析传统b s 模型的不足和当前企业计算 发展的趋势,简要介绍基于组件的开发、j a v a 和x m l 等技术,提出本文的 研究课题,阐述本文的主要工作。第二章,简要介绍了j a v a 语言,论述了j a v a s e r v l e t 、j s p 、e j b 和x m l 等技术和原理,并与其他的相关技术进行了对比 和分析,同时对本文工作中所采用的服务器j r u n 进行了简要的说明。第三 章,介绍x m l 的渊源,特点及应用领域。第四章,首先在4 1 节阐述基于组 件的软件开发思想、组件技术和面向对象技术之间的关系、组件标准规范; 4 2 节提出本文的基于j a v a 和x m l 的i n t r a n e t 应用系统计算模型的体系结 构;在4 。3 节说明模型中各层的功能;在4 4 、4 5 、4 6 、4 7 等节中阐述模 型的j a v a 技术实现,以及x m l 数据集在本模型中的应用,并将本模型与一 般b s 模型的进行比较。第五章,首先对“湖北交通质量监督管理系统”进 行了简要介绍,然后参照第四章的计算模型,分别给出了本系统各层的一些 具体的实现细节。第六章,总结全文,并指出下一步研究的方向。爻,。一 关键词:j a v a ;x m l :计算模型;组件;分布式计算 壅翌堡三奎堂堡主兰篁堕壅 a b s t r a c t n o w a d a y s ,t h e i n t e r n e th a v ea c h i e v e d g r e a td e v e l o p m e n t n o t o n l y i n i n d i v i d u a l s 、i n c o m p a n i e sb u t a l s o i n e n t e r p r i s e s n e t w o r ki n c r e a s i n g l y h a s b e c o m ean e c e s s a r yt 0 0 1 w ec a nf i n dt h en e t w o r ke v e r y w h e r e r e c e n t l y ,j a v aa n d x m lb e c o m em o r ea n dm o r ep o p u l a rj u s tb e c a u s et h e ya r ea c c u s t o m e dt ot h e t e n d e n c y o fe n t e r p r i s e c o m p u t i n gd e v e l o p m e n t m a n yb i gc o m p a n i e s ,s u c h a s s u n 、i b m 、m i c r o s o f ta n ds oo i l ,m a k ej a v aa n dx m l d e v e l o p e dc e a s e l e s s l yo n t h e m o nt h eo t h e rh a n d t h e r ea r ea n o t h e ri m p o r t a n t t e n d e n c y i ns o f t w a r e i n d u s t r yt o d a y i t i sc o m p o n e n t - b a s e dd e v e l o p m e n t r e l i e do nt h ed e v e l o p m e n ti t e mn a m e da s ”t h es u p e r v i s i n gm a n a g e m e n t s y s t e mo fh u b e it r a f f i cq u a l i t y “,u n d e rt h ea n a l y s i s o ft h ed e f i c i e n c yo f t r a d i t i o n a lb sm o d e la n dt h e t e n d e n c yo fe n t e r p r i s ec o m p u t i n gd e v e l o p m e n t ,t h i s p a p e rp u t s f o r w a r da l li n t r a n e ta p p l i c a t i o ns y s t e mc o m p u t i n gm o d e lb a s e d o i l j a v aa n dx m lw i t ht h ec o m b i n a t i o no ft h en e ws o f t w a r et e c h n o l o g ys u c ha s c o m p o n e n t b a s e dd e v e l o p m e n t ,j a v aa n dx m l a n dt h ed e s i g nh a sb e e na p p l i e d t ot h ee n g i n e e r i n gp r a c t i c e ss u c c e s s f u l l y t h em o d e li sam u l t i t i e rd i s t r i b u t e d c o m p u t i n gm o d e l i ta d o p t st h et h o u g h to fc o m p o n e n t - b a s e dd e v e l o p m e n ti nt h e s p e c i f i ci m p l e m e n t a t i o n t h i sm o d e ls u p p l i e sa n e wr e f e r e n c ef o rt h es o l u t i o no f t h ed i f f i c u l t i e sa n d p r o b l e m s i nt h ew e b a p p l i c a t i o nd e v e l o p m e n t t h i sp a r a g r a g hw i l lt e l ly o ut h ec o n t e n ta r r a n g eo ft h i sp a p e r t h ef i r s t c h a p t e r :t oa n a l y s et h ed e f i c i e n c yo ft r a d i t i o n a lb s m o d e l 、t h et e n d e n c yo f e n t e r p r i s ec o m p u t i n gd e v e l o p m e n t ,t os i m p l yi n t r o d u c et h ec o m p o n e n t b a s e d d e v e l o p m e n t 、t 1 1 et e c h n i co f j a v aa n dx m l a n ds oo i l t ob r i n gf o r w a r dt h et h e s i s o ft h i sp a p e r ,t ot e l lw h a th a v eb e e nd o n ei nt h i sp a p e r t h es e c o n dc h a p t e r :t o s i m p l yi n t r o d u c ej a v al a n g u a g e ,t od e s c u s st h et e c h n i ca n dt h e o r yo f j a v as e r v l e t 、 j s p 、e j ba n dx m la n dt oc o n t r a s tt h e mw i t hc o r r e l a t i v et e c h n i co ft h e m ,t o s i m p l ye x p l a i n t h ej r u ns e r v e ru s e di nt h i s p a p e r t h et h i r dc h a p t e r :t o i n t r o d u c et h e o r i g i n 、 c h a r a c t e ro fx m la n dt h ea p p l i a n c ef i e l do fi t t h e f o u r t h c h a p t e r :t o i n t r o d u c et h e t h o u g h to fs o f t w a r ed e v e l o p m e n tb a s e d o n c o m p o n e n t 、t h er e l a t i o n s h i p b e t w e e n c o m p o n e n t t e c h n i ca n do b j e c t f a c e d i i 武汉理工大学硕士学位论文 _ _ - _ _ _ _ _ _ - h 一 t e e h n i c 、t h es t a n d a r dc r i t e r i o no fc o m p o n e ti n4 1s e c t i o n ;t ob r i n gf o r w a r dt h e s y s t e ms t r u c t u r eo f i n t r a n e ta p p l i a n c es y s t e mc o m p u t i n gm o d e lb a s e do nj a v aa n d x m lt e c h n i ci n4 2s e c t i o n ;t oe x p l a i n 廿l ef u n c t i o no ft h ee v r yl a y e ri nt h e m o d e l ;a n dt h e n ,t os e tf o r t ht h er e a l i z a t i o no f m o d e lu s i n gj a v a t e c h n i c 、t h ex m l d a t ac o l l e c t i o nu s e di nt h em o d e li n4 4s e c t i o n 、4 5s e c t i o n 、4 6s e c t i o n ;a tl a s t t o c o n t r a s tt h i sm o d e lw i t hc o m m o nb sm o d e la tl a s t t h ef i f t hc h a p t e r :a tf i r s t ,t o s i m p l y i n t r o d u c e ”t h e s u p e r v i s i n gm a n a g e m e n ts y s t e m o fh u b e in 。a m c q u a l i t y ”;t h e n ,r e f e r i n gt ot h em o d e li nt h ef o r t hc h a p t e r ,t og i v es o m ed e t a i l e d r e a l i z i n gs c h e m e s t h es i x t hc h a p t e r :t os u mu pt o t a lp a p e ra n dt ob r i n gf o r w a r d t h er e s e a r c h i n gd i r e c t i o ni nf o l l o w i n gs t e p k e y w o r d s :j a v a ,x m l ,c o m p u t i n gm o d e l ,c o m p o n e n t ,d i s t r i b u t e d c o m p u t i n g i i i 量堡堡三查堂堡圭堂垡笙塞一 1 1 论文背景 第1 章绪论 随着w 曲和网络技术的迅速发展,基于b s 模型的i n t r a n e t 应用系统成 为企业开始广泛采用的计算模型。b s 模型统一了客户端,浏览器成为客户 端统一的用户界面。系统的应用逻辑集中在了w e b 服务器上,从而使得应用 系统的设计开发和维护都比以前的c s 模型容易了许多。但是传统的b s 模 型将应用逻辑分布在众多相互链接的w e b 页面中,这使得系统的表示逻辑应 用逻辑和数据逻辑的划分不是很明确,系统的维护变成了对众多w e b 页面的 维护,维护的工作量很大。而且,当客户端数目较多处理逻辑非常复杂时, w e b 服务器的负担很重,容易形成瓶颈,难以适应大型应用系统的要求。同时, w e b 服务器是传统b s 模型中关键而又比较薄弱的环节,这使得基于该模型 的应用系统的可伸缩性、稳定性、安全性都不是很好,也使得其很难与其他 应用进行集成或整合。另外,传统的b s 模型将客户端限制得非常瘦,没有 充分利用其计算能力浪费了计算资源。 当前企业应用系统的开发与维护存在着许多困难,主要表现在以下几个 方面:1 软件开发的周期长;2 开发出的系统可重用性差,重复开发现象严 重,开发出的产品质量难以提高;3 开发出的系统投入运行后可适应性差, 可以说几乎不可维护【4 ”。出现上述困境的主要原因在于软件开发方法落后和 计算模型不合适。 1 2w e b 技术应用的热点 随着i n t e m e t 技术的发展,当前软件技术出现了三个显著的特征:面向 对象,面向网络和数据库支持。这三者的结合为w e b 应用系统在内的许多应 用带来了新型的分布式计算结构。 基于组件的开发c b d 是目前软件工程领域的一个新的研究课题。组件 是用于构造应用系统的可重用的软件模块,它们具有特定的功能和自主能力, 按一定的接口和规范可以实现互操作。基于组件的开发是指用装配可重用组 茎堡望三奎堂堡主兰堡笙塞一 件的方法来构造应用程序,它包含了以组件为核心的系统、分析构造、维护 和扩展的各个方面【4 5 1 。基于组件的开发采用了类似硬件的即插即用的思想来 提高软件的生产率和可维护性。 j a v a 是目前软件界的一个热门话题,它提供的跨平台性、网络和数据 库支持为w e b 应用系统的开发提供了新的途径。1 9 9 5 年,s u n 公司的j a v a 语言以其提供的跨平台应用程序开发与配置震撼了整个w e b 世界。几年来 j a v a 从一种编程语言发展到了开发企业级系统应用的j a v a2 平台。1 9 9 9 年 s u n 公司推出了j 2 e e ,它包括s e r v l e t 、j s p 和e j b 等许多技术和规范。j 2 e e 平台为w e b 应用的开发提供了从客户层到w e b 服务层到业务逻辑层的全方 位的技术支持,而且得到了i b m 、b e a 和o r a c l e 等许多公司的认可,是 一种很有前途的开发w e b 应用的技术选择方案。 x m l 是应互联网络的需要而产生的一种新的数据表示方法,它也被称 为第二代网页描述语言,它的高度可扩展性、数据表现的灵活性、平台无关 性、结构化特性以及其数据内容与显示形式无关的思想等诸多优点使其成为 网络上最优秀的数据载体【3 】,将x m l 应用于开发电子商务、w e b 应用、基 于内容的w e b 信息查询等都是一些比较新的研究课题。 1 3 计算机应用的特点及发展趋势 在以i n t e r n e t i n t r a n e t 技术为先导的网络技术的带动下,企业应用正在进 行着两个方向上的转变,是在应用的“类型”方向上,一是在应用“如何” 开发的方向上。在i n t e r n e t 上日益普及和种类不断增加的活动决定了前一个 问题的解决必然是“网络计算( n e t w o r kc o m p u t i n g ) ”这一新的计算模型的 出现和发展;而后一问题的实践方向将是“基于组件的开发”。这两个问题是 内在联系的,两者的结合将是未来i t 应用系统发展的必然方向【4 1 。 企业网络计算指的是在现代企业应用中所实施的大容量、多类型跨平台 的网络计算体系。它的客户包括个人、工作组,甚至整个企业。所完成的任 务也会包括关键任务,它所采用的计算模型将是分布式的和基于n 层网络体 系结构的客户服务器模式。当前企业计算呈现出分布、异构、开放、集成、 协同、交互等特点。在企业分布式应用系统的开发中,越来越多的系统开始 采用多层体系结构的方法。多层体系结构非常适合于大数据量的商业事务系 2 茎堡望三查堂堡主堂焦笙茎一 统,特别是基于w e b 的企业应用系统。在企业网络计算的环境下,基于组件 的开发与实施将是最主要的开发和应用模式,而最关键的部分在于服务器端 中间层组件的开发。 1 4 研究课题的提出及意义 传统的b s 模型已经越来越不能满足当前企业i n t r a n c t 应用系统开发的 需要。企业计算的深入发展和软件新技术的不断出现,为扩展b s 模型提供 了许多迫切的要求和可行的方案。根据前面对b s 模型缺陷的分析,结合当 前w e b 应用开发方法和技术发展的热点以及企业计算呈现出的发展趋势,本 文提出了基于j a v a 和x m l 的i n t r a u e t 应用系统计算模型的研究课题,拟从 计算模型和软件开发方法两个方面来解决前面提到的问题本。课题的研究成 果可以作为企业i n t r a n e t 应用系统解决方案的一个参考为其它软件开发人员 所借鉴,同时也能够通过具体的工程实践为企业管理提供相应的软件产品支 持。另外本课题的研究成果也可以推广到电子商务等其它w e b 应用的开发 中。 1 5 课题在国内外研究的状况 k u a i t 大学的k a s s e ms a l e h 提出了一种基于c o r b a 和j a v a 技术的三层 计算模型,并分别就通信协议和电子商务两个课题给出了相应的解决方案, 其三层计算模型是基于以下技术考虑的:j a v a 为c 0 r b a 提供了便携式的、 智能的、多线程的、可移动的对象,c o r b a 为这些j a v a 对象间的透明的通 信和交互提供了个基础的体系框架。随着j 2 e e 平台的推出j a v a 技术已经 可以独立满足企业i n t r a n e t 应用系统开发的要求,而c o r b a 技术更适合于 传统的分布式应用系统的开发。 西安交通大学提出了一种基于j a v a 中间件技术的企业计算模型。该计算 模型分为四层:客户层、临时服务层、应用服务层和数据库层。其中,临时 服务层包括一个用s e r v l e t 实现的服务定位器,客户端可以通过它找到相关的 提供该服务的e j b ,临时服务层相当于一段桥梁,将客户层和所需的e j b 联 系起来,该层的主要功能是作为a p p l e t 和静态应用数据的高速缓存,驻留一 些用s e r v l e t 实现的可以访问网络资源的服务;应用服务层提供对数据的访闯 茎鎏望三盔堂塑主堂篁堡塞 并实现事务的逻辑处理功能,它由大量的e j b 和w e b s e r v e r 组成。本文提出 的计算模型中,在客户层和w e b 服务层间插入了x m l 数据集,提高了客户 端的计算能力,而且分层的思想也与其不同。 1 6 论文的主要工作 本文通过对传统b s 模型的不足和当前企业计算发展趋势的分析,结合 对j a v a 和x m l 等技术的分析研究提出了一种基于j a v a 和x m l 的i n t r a n e t 应用系统计算模型,并将其应用到了具体的工程实践中。学位论文的主要工 作如下: ( 1 ) 阐述本课题提出的背景及意义,分析当前企业计算的发展趋势及 基于组件的开发方法,j a v a 和x m l 等相关的技术和机理。 ( 2 ) 提出一种基于j a v a 和x m l 的i n t r a n e t 应用系统计算模型给出了模 型各层的功能和任务及具体实现的技术。 ( 3 ) 设计一种在w e b 服务端分析x m l 数据集的算法,并以j a v a 语言 实现了该算法。 ( 4 ) 以本文提出的模型为参考,实现了“湖北交通质量监督管理系统”, 检验了模型的可行性。 4 茎堡堡三盔堂堡主堂堡丝兰一 2 1j a v a 简介 第2 章d a v a 技术 2 1 1j a v a 语言的发展历程 j a v a 语言( 简称j a v a ) 的诞生对i t 产业带来了一次变革,从某些意义 上讲对人们的日常生活也产生了深远的影响。j a v a 作为一种类c c + + ,但其 平台无关性和与互联网发展紧密结合,预计未来必定成为互联网和计算机应 用的主流。j a v a 当之无愧地被纽约时报评为1 9 9 5 年的十大科技成果之一,j a v a 将作为一项重大发明载入科技史册! 微软总裁比尔盖茨曾在观察了一段时 间后,十分惭愧地说:“j a v a 是长时间以来最卓越的程序设计语言”,并确定 微软整个软件开发的战略从p c 单机时代向着以网络为中心的计算时代转移, 而购买j a v a 则是他的重大战略决策的实施部署。微软必将直接或间接将j a v a 技术融入到其产品体系中。s u nm i c r o s o f t 公司的总裁s c o t tm c n e a l y 认为 j a v a 为i n t e m e t 和w w w 开辟了一个崭新的时代。 环球信息网w w w 的创始人b e r n e r s l e e 说:计算机事业发展的下一个 浪潮就是j a v a ,并且将很快发生。所以,使用j a v a 已成大势所趋! m i c r o s o f t 和i b m 两大公司都在i n t e r n e t 上销售用j a v a 编写的软件,i b m 著名j a v a 开发集成环境v i s u a la g ef o rj a v a 、网站集成平台w e b s p e r e , m i c r o s o f t 的v j + + 都是目前主要常见的j a v a 开发环境或产品。 另外,a p p l e 、h p 、i b m 、m i c r o s o f t 、n o v e l l 、s g i 、s c o 、t a n d e m 等公 司均在各自开发的操作系统中加入了j a v a 开发运行环境,而负责开发并推广 j a v a 技术的j a v a s o f t 公司( 这是s u n 下属的一个子公司) ,通过颁发许可证 的办法来允许各家公司把j a v a 虚拟机和j a v a 的a p p l e t s 类库嵌入他们开发的 操作系统,这样各类开发人员就能更容易地选择多种平台来使用j a v a 语言 编程,不同的用户也就可以脱离w e b 浏览器来运行j a v a 应用程序,这无疑 是很受广大用户的欢迎的, 也为j a v a 语言的应用开拓了极为广阔的前景。 世界各地掀起开发与应用j a v a 语言的热潮。香港在1 9 9 6 年4 月就举行 茎堡望三茎兰堡主兰垡笙塞一 了全岛的j a y a 杯比赛,在计算机界掀起了学习j a v a 的熟潮( 尤其是在大学 生中,出现了一批j a v a 迷) 。曾经有人预言:j a v a 将是网络上的“世界语”, 将会被未来所证实。 1 9 9 8 至今,随着j a v a 2 一系列新技术如e j b 、s e r v l e t 、j s p 、c o r b a 、 x m l 、j n d i 等等的引入以及j v m 自身的安全策略完善、效率提高,新一轮 j a v a 热潮再次被掀起。目前,国内电子商务、金融、证券、邮电、电信等行 业的大部分系统几乎都正在或者准备采用部分j a v a 技术来实现。 2 1 2j a v a 语言的特点 j a v a 语言具有能独立于平台而运行、面向对象、可对动态画面进行设计 与操作、坚固性等特点,又具有多线程、内置校验器用来防止病毒入侵等功 能,所以用来在i n t e m e t 上研制与开发软件时,特别受到用户的欢迎。 j a v a 语言的优点主要表现在:简单、面向对象、自动的内存管理、分布 计算、稳定、安全、解释执行、结构中立、平滑移植、多线程、以及异常处 理等方面。 ( 1 ) 简单由于j a v a 的结构类似于c 和c + + ,所以一般的熟悉c 与c + + 语言的编程人员稍加学习就不难掌握j a v a 的编程技术了。j a v a 所具有的自动 内存管理机制也大大简化了j a v a 程序设计开发。 ( 2 ) 面向对象简单的说,面向对象设计是一种以数据( 对象) 以及 其接口为重心的程序设计技术,面向对象的设计可以说是定义程序模块如何 “即插即用”的机制。j a v a 的面向对象机制实际上可以看作是c + + 面向对象 机制的延伸。j a v a 提供了简单的类机制和动态的构架模型,对象中封装了它 的状态变量和方法( 函数、过程) ,实现了模块化和信息隐藏;而类则提供了 一类对象的原型,通过继承和重载机制,子类可以使用或者莺新定义父类或 者超类所提供的过程,从而实现代码的复用。 ( 3 )自动内存管理j a v a 的自动无用内存回收集( a u t og a r b a g e c o l l e c t i n o ) 实现了内存的自动管理,因此简化了j a v a 程序开发的工作,早期 的g c ( g a r b a g ec o l l e c t i n o ) 对系统资源抢占太多而影响整个系统的运行,j a v a 2 对g c 进行的改良使j a v a 的效率有了很大提高。g c 的工作机制是周期性的自 动回收无用存储单元。j a v a 的自动内存回收机制简化程序开发的同时,提高 了程序的稳定性和可靠性。 6 茎堡望三奎堂堡主堂堡垒壅 一 ( 4 )分布计算j a v a 为程序开发提供了j a v a n e t 包,该包提供了一组 使程序开发者可以轻易实现基于t c p i p 的分布式应用系统。此外,j a v a 还 提供了专门针对互联网应用的类库,如u r l 、j a v a m a i l 等等。 ( 5 ) 稳定性人们最常见的应用程序错误就是“非法访问x x x 内存”, 其实质是程序指针使用出错。j a v a 拥有一种指针( p o i n t e r ) 模型,能够排除 发生内存被覆盖和毁损数据的可能性。j a v a 不采用指针算术法,而是提供真 正的数组( a r r a y ) ,运行程序下标检查;另外,它也不会发生有对象类型转 换将一个任意数转换成指针的情形。j a v a 的自动内存管理在减少编程工作的 同时,大大减少了运行态错误。 ( 6 ) 安全性j a v a 的设计目的是提供一个用于网络分布式的计算环境。 因此,j a v a 强调安全性,如确保无病毒、小应用程序运行安全控制等等。j a v a 的验证技术是以公钥( p u b l i c - k e y ) 加密算法为基础,而且从环境变量、类加 载器、文件系统、网络资源和名字空间等方面实施安全策略。 ( 7 ) 解释执行j a v a 解释器( i n t e r p r e t e r ) 可以直接在任何己移植的解 释器的机器上解释、执行j a v a 字节代码,不需重新编译。当然,其版本向上 兼容,因此如果是高版本环境下编译的j a v a 字节吗到底版本环境下运行也许 会有部分问题。 ( 8 )跨异构环境j a v a 是网络空间的“世界语”,编译后的j a v a 字节 码是一种“结构中立性( a r c h i t e c t u r en e u t r a l ) 的目标文件格式,可以在所有 提供j a v a 虚拟机( j v m ) 的多种不同主机、不同处理器上运行。 ( 9 ) 平滑移植 “w r i t eo n c e ,r u ne v e r yw h e r e ! ”也许是j a v a 最诱人的 特点。用j a v a 开发而成的系统其移植工作几乎为零,一般情况下只需对配置 文件、批处理文件作相应修改即可实现平滑移植。 ( 1 0 ) 多线程j a v a 的多线程( m u l t i t h r e a d i n g ) 机制使程序可以并行 运行。j a v a 还有一组同步化基本单元,他们是以广泛使用的c a r h o a r e 监 视器与条件变量图为基础的。同步机制保证了对共享数据的正确操作。多线 程使程序设计者可以用不同的线程分别实现各种不同的行为,而不需要采用 全局的事件循环机制,因此,使用j a v a 语言可以非常轻松地实现网络上的实 时交互行为。 ( 1 1 ) 异常处理 c 语言程序员大都有使用g o t o 语句来做条件跳转, j a v a 编程中不支持g o t o 语句。j a v a 采用异常模型使程序的主流逻辑变得更加 茎堡墨三查堂堡主堂垡笙皇一 清晰明了,并且能够简化错误处理工作。 ( 1 2 )可扩充j a v a 目前发布的j 2 e e 标准主要为采用j a v a 技术为企业 提供全面解决方案提供了一个技术规范框架,规划了一个利用现有和未来各 种j a v a 技术整合解决企业应用远景蓝图。 2 1 3j a v a 语言对软件开发技术的影响 曾有人预言:“j a v a 语言的出现,将会引起一场软件革命”,这是因为j a v a 语言能在执行码( 二进制码) 上兼容,这样以前所开发的软件就能运行在不 同的机器上,只要所用的机器能提供j a v a 语言解释器即可。时至今日,j a v a 的优势已经不再仅限于跨平台和动态页面显示,更多的优势逐步在支持 c o r b a 、w e b 服务器后端处理以及应用整合等方面的到体现。 j a v a 语言对现在以及未来软件工程和软件发展可能产生影响,可以从以 下几个方面分析: ( 1 )软件工程j a v a 适用于w e b 的许多特征比如平滑移植、安全、 健壮和可扩展等为面向对象软件工程设计提供了实现工具和想向空间。遵循 面向对象思想,软件生命周期的各个部分都将从面向对象的角度出发实现。 比如用户需求分析将被划分成具有不同状态( 数据) 和行为的模块,不同模 块之间的联系通过消息实现等等。 ( 2 ) 软件的开发方法由于j a v a 语言的面向目标的特性,越来越多 的人在用o o 开发时都在选择使用j a v a 技术与方法来开发,这与j a v a 的面 向对象特性、模块化特性、安全性以及适应i t 技术发展密不可分。 ( 3 ) w e b 技术j a v a 提供的c g i 、a s p 替代方法s e r v l e t o s p 以及 e j b 都是与互联网发展需求相呼应的,由此可见j a v a 在未来必然紧跟互联网 发展趋势,采用j a v a 解决企业基于w e b 的应用是明智选择。 ( 4 ) 分布式计算j a v a 对c o r b a 、r m i ( 远程方法调用) 、e j b 、x m l 和网络处理的支持和应用,将使未来企业分布计算向其倾斜。 ( 5 ) 图形处理与多媒体效果j a v a 2 以及以后版本提供了s w i n g , 2 d 、 3 d 、s o u n d 等图形、图象和多媒体支持类库,弥补了早期j a v a 版本在此方面 的不足。j a v a 的媒体处理能力使程序开发在的动画效果远比g u i 技术更加逼 真,尤其是利用w w w 提供的巨大动画资源空间,可以共享全世界的动态画 面的资源。 茎坚堡三盔堂堡主堂垡堡苎一 ( 6 ) 产品开发目前j a v a 产品主要有基于w e b 的实时信息发布系 统、w e b 邮件系统、用于企业分布式计算的消息传输系统、基于s e r v l e t j s p e j b 开发的电子商务平台、提供s e r v l e t j s p e j b 开发和运行环境的应用服务器、结 合c o r b a x m l 等技术开发的分布计算支撑平台等等。另外用j a v a 开发的 多媒体软件可以实现集可视化、可听化、可操作化于体的效果。 2 1 4j a v a 未来前景 由于j a v a 语言具有上述优秀特性,所以其应用前景必然美好,未来发展 肯定会与互联网的发展需求绑定: ( 1 ) 所有面向对象的应用开发; ( 2 ) 软件工程中需求分析、系统设计、开发实现和维护; ( 3 ) 中小型多媒体系统设计与实现; ( 4 ) 消息传输系统; ( 5 ) 分布计算交易管理应用( j t s r m j c o r b a j d b c 等技术应用) : ( 6 ) i n t e r n e t 的系统管理功能模块的设计,包括w e b 页面的动态设计、 网站信息提供管理和交互操作设计等。 ( 7 ) i n t r a n e t ( 企业内部网) 上完全基于j a v a 和w e b 技术的应用开发; ( 8 ) w e b 服务器后端与各类数据库连接管理器( 队列、缓冲池) ; ( 9 ) 安全扫描系统( 包括网络安全扫描、数据库安全扫描、用户安全 扫描等) ; ( 1 0 ) 网络,应用管理系统; ( 1 1 ) 其它应用类型的程序。 2 2j s p 1 5 1 9 】 2 2 1 j s p 技术概述 j s p 是由s u n 公司倡导,许多公司一起参与建立起来的动态网页发布技 术。它采用j a v a 作为脚本语言,可以在s e r v l e t 和j a v a b e a n s e j b 等的支持下 构建功能强大的电子商务网站和企业级系统应用。j s p 技术是一种比较新的 技术,国内采用较少,但在国外j s p 已经非常流行了,尤其是电子商务类的 网站多采用j s p 来建设世界上一些大的电子商务解决方案提供商大多都采用 茎堡墨三盔堂堡主堂焦堡苎一 j s p s e r v l e t ,比较著名的如i b m 的e - b u s i n e s s ,它的核心是采用j s p s e r v l e t 的w e b s p h e r e 。西方另一个非常著名的电子商务软件提供商i n t e r s h o p 提出的 e n f i n i t y 是一个采用j s p s e r v l e t 的电子商务a p p l i c a t i o n s e r v e r 。 2 2 2j s p 的执行过程 运行j s p 至少需要三个部件:j s p 引擎、w e b 服务器和j v m ,它们完成 的功能分别为:j s p 引擎,主要完成对j s p 代码的转换,把它转换成s e r v l e t 代码,并判断是否要对s e r v l e t 代码进行编译及重新编译还是直接执行,然后 向j v m 发出通知;w e b 服务器主要完成一个服务器最基本的功能,如接收 客户端的请求,并把结果传回给客户端,另外该w e b 服务器必须是支持j s p 的服务器,否则它无法与j s p 引擎沟通;m ,是j a v a 程序的执行平台,它 首先将源程序编译成与平台无关的字节码,然后由j a v a 解释器将字节码转换 成实际机器的可执行代码并予以执行,在这里,主要完成s e r v l e t 代码的编译 和对字节码的执行,并把相应的结果告知j s p 引擎。 j s p 引擎将请求对象传递给j s p 文件指定的服务器组件,这些组件处理 相应的请求,并生成一个响应对象返回给j s p 引擎,j s p 引擎把响应对象传 递给j s p 页面。在那里,r e s p o n s e 对象中的数据按照设计好的h t m l 格式进 行格式化,然后由j s p 引擎和w e b 服务器把修改后生成的响应页面送给客户 端,在客户端的浏览器中就可以看到处理的结果信息了。 w e b 服务器在运行j s p 页面时总是先把它翻译成一个j a v as e r v l e t ,然后 j s p 引擎中的j v m 装载和运行该s e r v l e t 来处理客户端的请求,并为它生成 响应信息当第一次向一个j s p 页面发出请求时,w e b 服务器和j s p 引擎先分 析该j s p 文件生成一个j a v a 源代码文件,并将该源代码编译成一个j a v a s e r v l e t 类文件,然后由j s p 引擎中内置的j v m 负责装载和运行该s e r v l e t 图2 1 显示了w e b 服务器和j s p 引擎调用和运行一个j s p 文件的过程。 从图中可以看出,w e b 服务器和j s p 引擎调用和执行一个j s p 文件的过程包 含以下几个步骤:( 1 ) w e b 服务器和j s p 引擎分析源文件,生成与之对应的 j a v a 源代码文件:( 2 ) j a v a 源代码文件被编译成一个c l a s s 文件;( 3 ) j a v a s e r v l e t 类被装载到w e b 服务器的内存中。( 4 ) 运行该s e r v l e t 。 1 0 萎堡里三盔兰婴主堂垡垒塞 r e s 口0 n s c 图2 1j s p 页面的执行过程 运行s e r v l e t 后产生的各种输出信息都被返回给客户端。在以后对该j s p 文件的请求过程中,如果该j s p 文件自编译后没有被修改过,则w e b 服务器 和j s p 引擎将直接运行驻留在内存中的s e r v l e t 。如果该s e r v l e t 已经被从内存 中释放,则只需重新加载相应的c l a s s 文件,而不用重新对原j s p 文件进行分 析和编译。因而在j s p 文件的执行过程中除第一次比较慢之外,以后的访问 效率是很高的。 2 2 3j s p 和a s p 相对比的优点 作为动态网页发布技术j s p 和a s p 技术之间存在着许多的相似和不同。 ( 1 ) j s p 和a s p 的相同点:1 ) 两者都可以将动态网页的布局设 计和页面内容的生成相互分离,都是在h t m l 页面中插入由服务端进行处理 的相关代码:2 ) 与c g i 相比两者的运行效率都高出许多;3 ) 两者都可以 通过其它组件获得访问外部数据的能力,j s p 依靠j a v a b e a n s e j b 而a s p 依 靠c o m ;4 ) 两者都提供了些内建的组件对象如a p p l i c a t i o n 、s e s s i o n 、 r e q u e s t 和r e s p o n s e 等;5 ) j s p 和a s p 都提供了强大的数据库支持,a s p 使用o d b c 通过a d o 来连接数据库,而j s p 则通过j d b c 来连接数据库。 ( 2 ) j s p 和a s p 的不同点:1 ) 工作原理不同:当w e b 服务器接 收到a s p 页面的申请时,它从硬盘或内存中接收正确的a s p 文件,并将这个文 件发送给a s p d l l 文件,a s p 文件将会从头到尾被解释执行,并根据命令要 求生成相应的h t m l 页面送回浏览器。a s p d l l 会针对每个请求产生一个独 立线程。j s p 由支持它的服务器上的j s p 引擎和j a v a 虚拟机负责解释执行。 当服务器接收到一个对某个j s p 页面的请求时,如果这是对该页面创建或者 修改后的第一次请求,那么j s p 引擎就把该页面内容转换成一个纯j a v a 的 亟堡翌三奎堂堡主堂垡堕壅 s e r v l e t 然后将其编译成s e r v l e t 字节代码,由j a v a 虚拟机负责装载和运行该 s e r v l 。t ,最后将执行结果输出给浏览器。2 ) 硬件和操作系统的平台相关 性a s p 是基于w i n d o w s 平台的动态网页技术,通过c o m 组件来扩展其功 能,主要用于w i n d o w sn t 的i i s 和w i n d o w s 9 x 的p w s j s p 。采用j a v a

温馨提示

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

评论

0/150

提交评论