




已阅读5页,还剩38页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 我国高等院校在科学技术的研究与开发方面已经有了长足的发展,科技t 作的发展以及r 益激 烈的科技竞争使得高校科技管理工作面临新的挑战。同时,我们也看到,校园网建设的进展以及w e b 技术的发艘为高校在网上开展科技管理工作带来了新的机遇。为了应对日益加快的科技工作节奏, 高校科技管理部门需要开发一个基于w e b 的科技管理系统。 本文给出了一个基于w e b 的高校科技信息服务与管理系统的设计与实现,包括系统的需求分析、 系统的设计和系统的实现。这个系统基于3 层w e b 应用模型,包括浏览器、w e b 应用服务器和数据 库服务器。该系统采用模块化的设计,将科技信息的管理抽象为几个基本的功能模块,按照用户的 管理权限组装成不同的子系统。我们使用j a v as e r v l e t 和j s p 技术实现了这个系统,它具备下列特征: 基于标准、以服务器为中心、可伸缩、可快速部署、易管理、易用。该系统自投入使用以来,运行 良好。 w e b 服务是新一代的w e b 应用技术,w e b 服务及相关技术已经得到了工业界的普遍支持。但是, w e b 服务要成为企业级的应用,还必须解决一个关键的问题,即w e b 服务的安全性。在这个基于 w e b 的高校科技信息服务与管理系统的基础上,我们实现了一个具有安全性的w e b 服务,服务请求 者在请求服务之前,必须对消息进行数字签名和加密,以保证消息的完整性、保密性和不可否认性。 这为该系统迁移至w e b 服务架构打下了基础。 最后是对本文工作的总结以及将来工作的展望。 关键词:w e b 应用,科技管理,j a v as e r v l e t ,j s p w e b 服务,安全性 i i a b s t r a c t c u r r e n t l y , c a m p u s n e t w o r ka n dw e bt e c h n o l o g i e sh a v eb e e n d e v e l o p e dr a p i d l y ,w h i c hb r i n g s o p p o r t u n i 哆a n dc h a l l e n g ei nm a n a g e m e n to fu n i v e r s i t ys c i e n c ea n dt e c h n o l o g yi n f o r m a t i o n t om e e tt h e o p p o r t u n i t ya n dc h a l l e n g e ,w ei n v e s t i g a t eh o w a d v a n c e dw e b t e c h n o l o g yc a nb eu s e df o ru n i v e r s i t ys c i e n c e a n dt e c h n o l o g yi n f o r m a t i o nm a n a g e m e n t i nt h i sp a p e r , t h ea u t h o rp r e s e n t st h ed e s i g na n di m p l e m e n to faw e b b a s e da p p l i c a t i o nf o ru n i v e r s i t y s c i e n c ea n d t e c h n o l o g y i n f o r m a t i o n m a n a g e m e n t w ea d o p tt h r e e t i e rw e b a p p l i c a t i o na r c h i t e c t u r e , i n c l u d i n g b r o w s e rt i e r , w e ba p p l i c a t i o ns e r v e rt i e ra n dd a t a b a s es e r v e rt i e nt h ew e ba p p l i c a t i o ni s d e v e l o p e db yj a v as e n 7 l e ta n dj a v as e r v e rp a g et e c h n o l o g i e s t h ef e a t u r e so f t h i sw e b a p p l i c a t i o ni n c l u d e s t a n d a r d - b a s e d ,e x t e n s i b i l i t ya n dm o d u l a r i t yc u r r e n t l y ,t h es y s t e mh a sc o m ei n t o s e r v i c ea n db r i n g sa s a t i s f i e dr e s u l t w e bs e r v i c ei san e wg e n e r a t i o no fw e ba p p l i c a t i o nt e c h n o l o g y w e bs e r v i c ea n di t sr e l a t e d t e c h n o l o g i e sh a v eb e e nw i l d l ys u p p o r t e di ni n d u s t r y h o w e v e r ,ak e yp r o b l e m ,w e bs e r v i c es e c u r i t y ,h a st o b es o l v e db e f o r ew e bs e r v i c ec a nb eu s e di nb u s i n e s sa p p l i c a t i o n i nt h i sw e b b a s e dm a n a g e m e n ts y s t e m f o ru n i v e r s i t ys c i e n c ea n dt e c h n o l o g yi n f o r m a t i o n ,w ed e v e l o p e daw e bs e r v i c ew i t hs e c u r i t yi nw h i c h m e s s a g e sh a v et ob es i g n e da n de n c r y p t e di n o r d e rt og u a r a n t e et h ei n t e g r i t ya n dc o n f i d e n t i a l i t yo ft h e m e s s a g eb e f o r ew e bs e r v i c e s a r ec a l l e d t h i sb e c o m e saf o u n d a t i o nf o rt h es y s t e mt ob es h i f t e dt ow e b s e r v i c ef r a m e w o r k k e y w o r d s :w e b a p p l i c a t i o n ,t e c l m o l o g y m a n a g e m e n t ,j a v as e r v l e t ,j s p , w e b s e r v i c e s ,s e c u r i t y i i i 东南大学学位论文独创性声明 本人声明所呈交的学位论文是我个人在导师指导下进行的研究工作及取得的研究成 果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表 或撰写过的研究成果,也不包含为获得东南大学或其它教育机构的学位或证书而使用过 的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并 表示了谢意。 研究生签名:蛰堕垒日期:2 坚 i 东南大学学位论文使用授权声明 东南大学、中国科学技术信息研究所、国家图书馆有权保留本人所送交学位论文的 复印件和电子文档,可以采用影印、缩印或其他复制手段保存论文。本人电子文档的内 容和纸质论文的内容相一致。除在保密期内的保密论文外,允许论文被查阅和借阅,可 以公布( 包括刊登) 论文的全部或部分内容。论文的公布( 包括刊登) 授权东南大学研 究生院办理。 研究生签名: 第1 章绪言 1 1 研究背景 第1 章绪言 i n t e r n e t 及相关技术的发展使传统的基于单机或者基于客户机绡务器的应用系统转变成基于 w e b 的应用。w e b 应用是指那些利用w e b 客户( 如w e b 浏览器) 、w e b 服务器和i n t e r n e t 标准协议 的应用系统,通常,w e b 应用也能利g l 来自外部非w e b 的应用系统和数据。w e b 应用技术的发展大 致经历了三个阶段:第一个阶段的w e b 应用是以静态的h t m l 页面为主,客户浏览的页面必须手_ 丁 制作,不能得到及时的更新;第二个阶段的w e b 应用重点在于信息的查询、发布和动态更新等方面, 人们已经不再满足于只看到静态的页面了,它促使w e b 应用开发技术在这个时期有了个比较明显 的飞跃,许多新的开发技术和概念涌现山来,如c g i ( c o m m o ng a t e w a yi n t e r f a c e ) 、i s a p i ( i n t e m e t s e r v e r a p i ) 、j a v as e r v l e t 、j s p ( j a v as e r v e rp a g e ) 等;第三阶段是w e b 服务( w e bs e r v i c e s ) 阶段, w e b 服务是新一代的w e b 应用技术,它使电子商务进入一个面向服务的阶段。 电子商务i ”是通过使用计算机和网络技术对关键业务过程的转变,以通过新的业务过程来提高 业务运作效率并创造新的机遇。我国高等院校科技工作的发展以及日益激烈的科技竞争使得高校科 技管理 _ 作面临新的挑战。电子商务时代的到来为东南大学科技管理带来了新的机遇,如何借助校 园网及计算机技术来转变业务处理流程,以提高丁作效率,是面临的一种新的挑战。另外,东南大 学已经开展了科技信息上网的工作,而且校尉网具有较好的基础,w e b 技术的发展为我校在网上开 展科技管理_ 作带来了新的机遇。因此,科技处需要开发一个基于w e b 的科技管理系统,该系统旨 在帮助高校在校园网上提供科技信息服务、开展网上科技管理活动、推行新的管理手段以提高工作 效率。为此,东南大学设立了个校内科研项目,项目名称是“基于w e b 的科技管理系统”。该项 目是本文工作的研究背景。 电子商务的发展需求促使许多w e b 应用开发技术涌现出来,本系统的开发参考的是三层w e b 应用编程模型,即浏览器、w e b 应用服务器和数据库服务器。其中,在w e b 应用服务器端,采用j a v a s e r v l e t 和j s p 技术。s e r v l e t 是用j a v a 语言编写的、与协议和平台都无关的服务器端软件组件,它能 在j a v a 使能( j a v a - e n a b l e d ) 的w e b 服务器或应用服务器中运行,具有与平台无关性、持久性和高 性能等特点:j s p 是一种以s e r v l e t 技术为基础、通过在w e b 页面中嵌入j a v a 代码来生成动态内容的 技术,它把开发w e b 页面的动态内容从静态的h t m l 页面的设计中分离出来。将j a v as e r v l e t 和j s p 技术的优点结合起来开发w e b 应用,是一种很好的选择。 当前,基于w e b 的应用进入了w e b 服务的时代,w e b 服务及相关技术迅猛发展,并得到了工 业界的普遍支持。如何将这个基于w e b 的科技管理系统向w e b 服务架构移植,以及如何保证w e b 服务的安全性,也是本文工作的研究背景。 1 2 本文主要工作 本文给出了一个基于w e b 的高校科技信息服务与管理系统的设计与实现,包括系统的需求分析、 系统的设计和系统的实现。这个系统基于3 层w e b 应用模型,包括浏览器、w e b 应用服务器和数据 库服务器。该系统采用模块化的设计,将科技信息的管理抽象为几个基本的功能模块,按照用户的 管理权限组装成不同的子系统。我们使用j a v as e r v l e t 和j s p 技术实现了这个系统,它具备下列特征: 基于标准、以服务器为中心、可伸缩、可快速部署、易管理、易用。该系统自投入使用以来,运行 良好。 我们在基于w e b 的高校科技信息服务与管理系统的基础上,实现了一个查询科技人员的w e b 服务,并且该w e b 服务具备一定的安全性,服务的请求者在请求服务之前,必须对请求的消息签名 东南大学硕士学位论文 和加密,经过服务提供者验证后才能调用这个w e b 服务。这为该系统迁移至w e b 服务架构打下了 基础。 1 3 内容安排 本文其余备章内容安排如 : 第2 章介绍w e b 应用的开发模型和几种典型的w e b 应用开发技术,并着重介绍了j a v as e r v l e t 和j s p 技术,以及w e b s p h e r e 应用服务器环境下的w e b 应用开发技术;第3 章详细介绍了这个系统, 包括系统概述、系统的需求分析、框架设计和详细设计,然后阻科技人员管理为例给出了这个系统 的实现:第4 章概述了w e b 服务及其相关技术,并讨论了w e b 服务的安全性,最后给出r 一个具 有安全性的科技人员查询w e b 服务的实现。第5 章是对本文工作的总结以及进一步展望。 2 第2 章w e b 应用开发技术 第2 章w e b 应用开发技术 随着i n t e r n e t 和w e b 技术的发展,基于w e b 的应用已经成为种主流的电子商务应用模式,凶 多w e b 应用开发技术也不断涌现出来。本章介绍通用的w e b 应用编程模型和几种典型的w e b 应用 开发技术,着重阐述开发本系统所使用的j a v as e r v l e t 和j s p 技术的原理和特点,阻及i b m 的 w e b s p h e r e 应用服务器环境下的w e b 应用开发技术。 2 1w e b 应用编程模型 w e b 应用编程模型定义了w e b 应用拓扑结构以及使用框架提供的服务来殴计w e b 应用的模 型。图2 1 显示了w e b 应用的拓扑结构( 包括主要的元素) 。值得注意的是w e b 应用服务器和外部 服务是不同逻辑层,它们可能运行在同一台机器上,另外,w e b 应用服务器的功能可能分散在多台 机器上。通常,一个w e b 应用中的前端和业务逻辑部分运行在不同的机器上。w e b 应用的拓扑结构 包含的元素有客户、w e b 应用服务器、基础设施服务和外部服务。 客户机 图2 1w e b 应用的拓扑结构 1 客户 客户使用i n t e r n e t 技术标准( 如t c p i p 、h t t p 、h t m l 和x m l ) 与w e b 麻用服务器通信来存 取业务逻辑和数据。客户端的基本功能是接受并验证用户输入,显示从w e b 应用服务器返回给用户 的结果。客户可以是i n t e r n e t 、i n t r a n e t ( 内部网) 、e x t r a n e t ( 外部网) 中的客户。w e b 应用编程模型 的重要原则之一是w e b 应用的业务逻辑总是运行在服务器端而不是在客户端。 2 。w e b 应用服务器 w e b 应用服务器是w e b 应用拓扑结构的核心,它为w e b 应用提供了广泛的程序设计、数据存取 和应用集成服务。我们可以把一个w e b 应用看作是一个客户与w e b 站点之间的一系列交互过程。整 个交互过程从显示在w e b 浏览器中的一个页面开始:用户单击该页面上的一个按钮和链接就产生一 个请求,该请求被送到w e b 应用服务器。w e b 应用服务器对这个请求进行处理,产生新的页面,并 送回客户端。在w e b 浏览器中显示的新页面就是这一次请求的结果,可能也是下一次请求的开始。 所以说,w e b 应用包含一组交互或处理步骤每一步必须产生一个页面形式的响应,这个页面作为 后继交互作用的入口。 深究单个交互的细节,不难发现这里有三个共用的处理要求,包括用户界面层、交互控制层和 业务逻辑层( 参见图2 2 ) 。基于w e b 的交互式应用的开发普遍采用“逻辑上的”三层体系结构,即 查堡查堂堡主兰焦堡苎 分层是在逻辑上的,并不要求是物理上的。它是一个基于w e b 的分布式计算模型,在这个模型中将 展示和业务逻辑分离为不同的组件,各个组件通过标准的协议进行通信,形成一个客户端、w 曲应 用服务器和数据服务器的j 层计算模型,具体来讲: 图2 2 w e b 应用的交互模型 ( 1 ) 用户界面层:构造h t m l 页面的部分。构造出来的页面将被送回给用户,它决定了 交互结果的显示形式和风格。 ( 2 ) 交互控制层:控制其它元素的部分。处理h t t p 请求,从业务逻辑层选择要运行的组 件,根据业务逻辑的运行结果从用户界面层选择相应的组件,以构造响应页面。 ( 3 ) 业务逻辑层:记录并处理用户输入的部分。它执行具体的业务逻辑,如查询数据库等, 并把运行的结果返回给交互控制层。 这三层正好对应到设计模式”1 中经典的m v c ( m o d e l v i e w c o n t r o l l e r ,模型视图控制器) 模 式。这一点很重要,因为不同层通常需要不同的开发技术和工具,应用框架为各层提供使用各种组 件的支持,这些组件之间有一个特定的接口。 3 基础设施服务 除了上述程序设计机制,应用开发者还需要运行时环境的服务来支撑w e b 应用,方便地定位应 用组件、保证它们的可用性以及对它们安全的存取和执行等都是在i n t e r n e t 、i n t r a n e t 和e x t r a n e t 环境 中实施w e b 应用的关键要素。基础设施服务为支持w e b 应用提供的服务包括目录服务、认证授权、 防火墙、代理服务器等。 4 外部服务 在这些外部服务系统中驻留着企业已有的应用和数据,以及业务伙伴的服务系统,如支付服务 和外部信息服务。通常,这些应用和服务系统控制着关键的业务过程,需要与w e b 应用服务器集成 起来为顾客、业务伙伴和员工服务。 2 2 几种典型的w e b 应用开发技术 当前,开发w e b 应用的技术主要包括以下几种:通用网关接1 2 1 ( c g i 、c o m m o n g a t e w a y i n t e r f a c e ) 、 脚本语言、服务器端插件技术、j a v a s e r v l e t 、j s p ( j a v as e r v e r p a g e ) 等。 2 2 1c g i c g i 是一种最早出现的w e b 服务器扩展技术,是一种标准的应用编程接口。按照c g i 规范编写 4 第2 章w e b 应用开发技术 的外部程序可以扩展服务器的功能,完成服务器本身不能完成的工作,外部程序执行时生成h t m l 文档,并将文档返回给w e b 服务器。c g i 应用程序能够与浏览器进行交互,可以通过数据库的a p i 与数据库服务器等外部数据源进行通信。开发者可以使用多种语言编写c g i 程序,其中包括p e r l 、 c c + + 等。c g i 使传统的开发资源有效地应用于i n t e m e t 。按照应t 肄j 环境的不同,c g i 又分为标准c g i 和缓冲c g i 。标准c g i 使用标准输入输出进行数据通信,这是由其摄初开发环境( u n i x 操作系统) 决定的:缓冲c g i 亦称w i n c g i ,它最明显的特点是服务器与c g i 程序间的交换是通过缓冲区而不 是标准输入输山。 c g i 的缺点是当每遇到一个用户请求,c g i 程序就会启动一个新的进程去处理事件,在用户访 问的高峰期,大量的进程会耗费掉大量的系统资源,网站就会出现响应时间延长、处理缓慢的情况。 2 2 2 脚本语言 一些公司已经推出了服务器端的脚本语言环境,包括i b m 的n e t d a t a 、微软的a s p ( a c t i v es e r v e r p a g e s ) 、a l l a i r e 公司的c o l d f u s i o n 等。w e b 应用开发者把动态内容作为脚本嵌入w e b 页面中,这些 脚本由服务器端调用脚本解释引擎来解释执行,生成h t m l 文档返回给客户端。 这些脚本语言的缺点是每种脚本语言必须针对特定的公司产品和操作系统,不具备通用性和跨 平台性,同时它们还要求开发人员必须学习各种脚本语言。 2 2 3 服务器端插件技术 一些w e b 服务器还支持服务器端的插件技术,包括微软公司的i s a p i ( i n t e m e ts e r v e ra p l ) 和 n e t s c a p e 公司的n s a p i ( n e t s c a p es e r v e ra p i ) 等。这些技术由于和相应的w e b 服务器紧密耦合, 冈此执行效率比较高,但同时也是它的缺点,因为它依赖于特定的w e b 服务器,而且难以编程。 2 2 4j a v as e r v l e t j a v as e r v l e t 3 1 是j a v a l 2 版以后出现的一个新规范,它是用j a v a 语言编写的、与协议和平台都无 关的服务器端软件组件,它们能在j a v a 使能的w e b 服务器或应用服务器( 如w e b s p h e r e 应用服务器) 内运行。s e r v i e t 是装载到w e b 服务器或应用服务器的j a v a 虚拟机( j v m ) 内运行的,这非常像a p p l e t 装载到w e b 客户端的j a v a 虚拟机内运行。但是,就功能而言,s e r v l e t 更像c g i 脚本或程序,它能 响应来自h t m l 请求的客户事件,然后动态构建h t m l 响应返回给客户。但是,s e r v l e t 和传统的 c g i 程序相比具有以下优点: 可移植性和与平台无关性:因为j a v as e r v l e ta p i 在w e b 服务器和s e r v l e t 之间定义了一个 标准的接口,并且s e r v l e t 是用j a v a 语言编写的,这使s e r v l e t 能跨越平台和不同的w e b 服务器。 持久性和高性能:一个s e r v l e t 只要被w e b 服务器装载一次,就能被每一个客户请求调用。 这意味着,s e r v l e t 能维持请求之间的系统资源,如数据库连接。s e r v l e t 不会为每一个请求 都产生一个新的实例。而c g i 在每一次被调用时,必须产生新的进程。 基于j a v a :由于s e r v l e t 是用j a v a 语言编写的,它继承了j a v a 语言的所有有点,包括:强 类型系统、面向对象和模块化等。 s e r v l e t 程序是用j a v as e r v l e t a p i 开发的。j a v as e r v l e t a p i 是一组定义了w e b 客户和w e bs e r v l e t 之间标准接口的j a v a 类,它是一个标准的j a v a 扩展a p i ,即它不是核心j a v a 框架的部分,但可 以作为可添加包使用。这个a p i 通常由两个包组成: j a v a x s e r v l e t j a v a x s e r v l e th t t p j a v a xs e r v l e t 包包括支持通用的、独立于协议的s e r v l e t 的类,即s e r v l e t 能够用于多种协议,例 如h t t p 和f t p 。j a v a x s e r v l e t h t t p 包扩展了基础包的功能,对h t 丁、p 协议提供特别的支持。s e r v l e t 东南大学硕士学位论文 接口类是j a v as e r v i e ta p i 的集中抽象,这个类定义了s e r v l e t 必须实现的方法,包括处理请求的 s e r v i c e ( ) 方法。g e n e r i c s e r v l e t 类实现了这个接口,并定义了一个通用的、与协议无关的s e r v l e t 。为 了编写在w e b 上使用的h t t ps e r v l e t ,我们使用一个更特殊的、继承自g e n e r i c s e r v l e t 类的类,名字 是t t t t p s e r v l e t 。 h l l p s e r v l e t 提供另外两个处理h t t p 请求的方法,如g e t ( d o g e t 方法) 和p o s t ( d o p o s t 方法) 。 虽然,s e r v l e t 可以实现s e r v i c e 方法,但是在大多数情况f ,我们使用专门用于处理h t t p 请求的d o g e t 和d o p o s t 方法。 个基于s e r v l e t 应用的客户不直接和s e r v l e l 通信,而是由w e b 服务器或应用服务器通过j a v a s e r v l e t a p i 调用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 。这通常是应用服务器的s e r v l e t 管理功能实现的。典型的情况是,某一时刻在 w e b 服务器环境中只有一个特定s e r v l e t 对象的实例。这是s e r v l e t 持久性的基本原理。当s e r v l e t 第 一次装载进w e b 服务器环境( 在s e r v l e t 的整个生命周期内,它在这里保持激活状态或持久状态) 时, w e b 服务器负责实现s e r v l e t 的初始化。每一个客户对这个s e r v l e t 的请求是通过在初始对象实例上 的新线程处理的。w e b 服务器负责龟叮建这个处理请求的新线程。w e b 服务器还负责卸载或重新装载 s e r v l e t 。这种情况发生在w e b 服务器崩溃或s e r v l e t 程序代码发生改变的时候,这取决于w e b 服务 器的实现基础。 2 2 5j s p ( j a v as e r v e rp a g e ) j s p ( j a v as e r v e r p a g e ) 【”与h t m l 文件类似,但是它能够在w e b 页面中显示动态内容。j s p 技 术是s u nm i c r o s y s t e m 公司开发的,用来把开发w e b 页面的动态内容从静态的h t m l 页面设计中分 离山来。这种分离意味着不需要改变w e b 页面中基本的动态部分就可以改变w e b 页面的设计。 为了便于嵌入动态内容,j s p 有许多标记使w e b 页面设计者可以把j a v a b e a n 对象的属性和脚本 插入一个j s p 文件中。利用j s p 技术在页面中创建动态内容与其它方法相比具有以下优点: 分隔动态内容和静态内容 j s p 技术考虑到了w e b 页面设计和应用逻辑设计的分离,降低了w 曲站点开发的复杂性,使其 更易维护。 独立于平台 【j i ;j 为j s p 技术是基于j a v a 的,所以它独立于平台。 组件重用 利用j a v a b e a n 和e j b ( e n t e r p r i s ej a v a b e a n ) 技术,j s p 能继承这些技术提供的重用性。这样, 使开发人员能够和其他开发人员或客户共享组件,提高w e b 应用的开发速度。 脚本和标记 j s p 支持嵌入j a v a s c r i p t 脚本和标记。j a v a s c r i p t 脚本主要为增加页面层次的功能,而标记为嵌 入和修改j a v a b e a n 的属性以及指定其它指令和行为提供一种简便的方法。 j s p 的工作原理 j s p 与m i c r o s o f t 的a s p 技术非常相似。两者都提供在h t m l 代码中混合某种程序代码、由语 言引擎解释执行程序代码的能力。在j s p 环境下,h t m l 代码主要负责描述信息的显示样式,而嵌 入的j a y a 程序代码则用来描述业务逻辑。普通的h t m l 页面只依赖于w e b 服务器,而j s p 页面需 要j a y a 语言引擎分析并执行程序代码。程序代码的执行结果被重新嵌入到h t m l 代码中,然后一起 发送给浏览器。 j s p 文件首先通过应用服务器被翻译成标准的s e r v l e t 源代码,并编译成c l a s s 文件,由j a v a 虚 拟机解释执行,这种编译操作仅在对j s p 页面的第一次请求发生时进行。由于j s p 是服务器端技术, 因此对页面的静态元素和动态元素的处理都是在服务器端进行的。 以下过程描述了在首次调用一个j s p 文竹或当开发者改变基本的j s p 文件时,在j s p 文件上执 行的步骤( 如图2 3 所示) ; 6 第2 章w e b 应用开发技术 w e b 浏览器请求j s p 页面; j s p 引擎解析j s p 文件的内容; j s p 引擎在j s p 文件内容的基础上创建临时的s e r v l e t 源代码,产生的s e r v l e t 除了创建j s p 页面的动态元素,还负责翻译在设计阶段说明的静态元素; j a v a 编译器把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 和s e r v i c e 方法,并执行s e r v l e t 的业务逻辑; 静态的h t m l 页面与在j s p 页面中声明的动态元素相结合,通过s e r v l e t 的r e s p o n s e 对象 的输出流发送到w e b 浏览器。 图2 3 首次激活时的j s p 处理生命周期 接下来,j s p 文件调用在以上过程中创建的s e r v l e t 的s e r v i c e 方法,把内容送往w e b 浏览器。 s e r v l e t 作为以上过程的结果一直保持服务,直到应用服务器被中止、s e r v l e t 被手工卸载、或者j s p 页面发生变化,而导致重新编译。 j s p 由标准h t m l 标记和j s p 标记组成。j s p1 0 版定义的标记分为以下几类:指令、声明、s c r i p t l e t 和注释。 2 3w e b s p h e r e 应用服务器环境下的应用开发技术 卜文已经提到,w e b 应用服务器是w e b 应用拓扑结构的核心,它为w e b 应用提供了个运行时 环境和基础设施服务,如分布式对象协议、线程管理和同步、事务处理、安全性、数据存取等服务, 使得w 曲应用的开发者可以专注于业务逻辑的实现。i b mw e b s p h e r e 应用服务器( w e b s p h e r e a p p l i c a t i o ns e r v e r ) 就是一种工业界广泛使用的w e b 应用服务器,这一节介绍i b mw e b s p h e r e 应用 服务器4 0 高级版( a d v a n c e de d i t i o n ) 及其环境下的w e b 应用开发技术。 2 3 1i b mw a s4 0 高级版简介 i b mw e b s p h e r e 应用服务器4 0 4 1 共推出了四个版本,分别是高级版( a d v a n c e de d i t i o n ,a e ) 、 高级单服务器版( a d v a n c e ds i n g l es e r v e r e d i t i o n ,a e s ) 、高级开发者版( a d v a n c e d d e v e l o p e r e d i t i o n , a e d ) 和企业版( e n t e r p r i s ee d i t i o n ,e e ) 。这个基于w e b 的高校科技信息服务与管理系统是部署在 w e b s p h e r e 应用服务器4 0 高级版上的,因此,我们将重点介绍这个版本的一些功能特征: 一、完全的j 2 e e 平台( j a v a2e n t e r p r i s ee d i t i o np l a t f o r m ) 的支持 w e b s p h e r e 应用服务器4 0 高级版完全支持j 2 e e1 2 规范,j 2 e e 是一种基于组件( c o m p o n e n t ) 和容器( c o n t a i n e r ) 的技术,即所有的组件都运行在容器中( 如j s p 和s e r v l e t 组件运行在w e b 容器 中、e j b ( e n t e r p r i s ej a v a b e a n ) 组件运行在e j b 容器中,应用客户机组件运行在应用客户机容器中, 东南大学硕士学位论文 甚至a p p l e t 也运行在自己的a p p l e t 容器中) ,容器为各种组件提供运行时环境和服务。j 2 e e1 2 规 范为这些组件和容器必须提供的服务定义了应用编程接口( a p i ) 的版本,包括j s p i 】、s e r v 】e 1 2 2 、 j d b c 2 0 、e j b l 1 、j n d i ( j a v a n a m i n ga n d d i r e c t o r y i n t e r f a c e ) 1 2 、j t a ( j a v a t r a n s a c t i o n a p i ) 1 0 、 r m u i i o p ( r e m o t e m e t h o d i n v o c a t i o n i n t e r n e t i n t e r o r bp r o t o c 0 1 ) 10 、j m s ( j a v a m e s s a g i n gs m m c e ) 1 0 、j a v a m a i l l 1 、j a f ( j a v a b e a n a c t i v a t i o nf r a m e w o r k ) i 0 等。 二、对w e bs e r v i c e 的支持 i b mw e b s p h e r e 应用服务器4 0 高级版提供了对w e b 服务( w e bs e r v i c e ) 的四个基本协议的支 持,它们分别是表示交换信息的x m l ( e x t e n s i b l em a r k u pl a n g u a g e ,可扩展标记语言) 、交换信息 的轻量级协议s o a p ( s i m p l eo b j e c ta c c e s sp r o t o c o l ,简单对象访问协议) 、基于x m l 的w e b 服务 描述语言w s d l ( w e bs e r v i c ed e s c r i p t i o nl a n g u a g e ) 和独立于平台的统一的w e b 服务发现和集成框 架u d d i ( u n i v e r s a ld i s c o v e r yd e s c r i p t i o na n di n t e g r a t i o n ) 。w e b s p h e r e 应用服务器4 0 高级版提供了 s o a p 客户端和服务器端环境,使w e b s p h e r e 应用可以发送和接收s o a p 消息,还集成了u d d l 4 j , 它是个基于j a v a 的u d d i 注册中心接v i ,使w e b g p h e r e 应用可以与u d d i 注册中心通信来发布和 查找w e b 服务。 另外,i b mw e b s p h e r e 应用服务器4 0 高级版提供了一个内置的w e b 服务器( i b mh t t ps e r v e r ) , 它还支持多种w e b 服务器、多种操作系统和多种数据库;同时,w e b s p h e r e 应用服务器4 0 高级版 通过j 2 c ( j a v a2c o n n e c t o r ) 提供与各种后端系统的连接性j 2 c 显著地扩展了与e r p ( e n t e r p r i s e r e s o u r c ep l a n n i n g ,企业资源规划) 和遗留系统的交互。 2 3 2w a s4 0 高级版环境下的w e b 应用开发 一、w e b s p h e r e 应用服务器开发环境 1 ) w e b s p h e r es t u d i o w e b s p h e r es t u d i o 是w e b s p h e r e 应用服务器的应用开发环境。它可以用于创建符合j 2 e e 架构的 电子商务应用的前端应用( 包括个人w e b 页面和整个w e b 站点) : 开发w e b 应用的展示内容:如h t m l 、c s s 、j s p 等: 开发服务器端的代码:如s e r v l e t 、j a v a b e a n 、数据库访问等; 组装w e b 应用:创建w e b 模块( w a r ,w e b a r c h i v e 文件) 、并可以将其发布到本地服务 器或者通过f t p 发布到远程服务器上。 w e b s p h e r es t u d i o 为这些开发提供了一个工具套件,包括p a g ed e s i g n e r 、a p p l e td e s i g n e r 和p a g e d e t a i l e r 等,它还提供了一些生成框架代码的向导,如s q l 向导、数据库向导、j a v a b e a n 向导、w e b 服务向导等。 2 ) v i s u a l a g ef o rj a v a v i s u a l a g ef o rj a v a 是一个支持整个j a v a 程序开发生命周期的集成开发环境,虽然它不是 w e b s p h e r e 应用服务器4 0 高级版正式的一部分,但是它是与w e b s ;p h e r e 应用服务器环境紧密集成在 一起的,这种集成使得v i s u a l a g e 开发者仅仅在v i s u a l a g e 中就可以开发、部署和测试他们的j a v a 程序。v i s u a l a g e f o rj a v a 还可以帮助开发者管理复杂的企业环境。 v i s u a l a g e f o rj a v a 为开发者提供了一个集成开发环境( i d e ,i n t e g r a t e d d e v e l o p m e n t e n v i r o n m e n t ) _ j 于开发各种j a v a 应用程序,如s e r v l e t 、e j b 等,同时,它还提供了一个w e b s p h e r e 测试环境( w t e , w e b s p h e r et e s te n v i r o n m e n t ) ,它通过模拟w e b s p h e r e 应用服务器来测试开发的w e b s p h e r e 应用。 二、w e b s p h e r e 应用服务器编程模型 w e b s p h e r e 应用服务器支持三种基本的应用体系结构”,包括 基于w e b 的客户端朋务器的应用体系结构 基丁二分布式对象的应用体系结构 8 第2 章w e b 应用开发技术 基于w e b 和分布式对象的应用体系结构 本系统采用的是第一种应用体系结构。 1 ) 基于w e b 的客户端,服务器的应用体系结构 基于w e b 的客户端朋务器的应用类似于前文提到的三层w e b 应用体系结构,它包括个运行 浏览器的“瘦”客户端层、运行w e b 应用服务器( 如w e b s p h e r e 应用服务器) 的“中间”层、和一 个“后端”的保存企业资源的企业服务器( 如数据库,全球目录等) 层。 w e b 浏览器的主要作用就是显示w e b 应用服务器组件生成的数据,并且代表用户通过h 1 t r p 请 求的形式触发应用事件 w e b 应用服务器的作用主要有两个方面:一方面,它控制应用流程米响应客户端发来的h t t p 请求:另一方面,它与后端的企业服务器交互,访问企业服务器的数据和功能。 企业服务器的作用主要是提供对数据的访问,有时,业务处理过程要分派到企业服务器( 如 c i c s ) 中,而使用的协议依赖于后端系统。 图2 - 4 显示了这三层的应用体系结构,它显示了每层通常情况下用到的组件以及层_ l j 层直接交 互所剐的协议( 其中? ? ? 表示根据后端系统的不同用到的多种协议) 。 图2
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025云南昆明西山英才教育培训学校招聘30人备考考试题库附答案解析
- 2025年蚌埠市梅桥中学劳务派遣教师招聘(第四批)备考考试题库附答案解析
- 2025四川省红十字基金会招聘1人备考考试题库附答案解析
- 2025浙江绍兴市人民检察院 绍兴市司法局市级人民监督员选任75人笔试备考题库及答案解析
- 2025年新昌县总工会公开招聘工会社会工作者1人备考考试题库附答案解析
- 四川纵连横建设工程检测有限公司公开招聘工作人员考试参考试题及答案解析
- 2025江西吉安市青原区两山发展集团有限公司及下属子公司面向社会招聘32人备考考试题库附答案解析
- 2025版胆结石症状诊断及护理要点
- 游戏业界全景剖析
- 微纳机器人装配-洞察及研究
- 变电站电气设备巡视-变压器巡视(变电站电气运行)
- 净化空调施工方案
- 2025年甘肃瓮福化工有限责任公司招聘笔试参考题库含答案解析
- 人教版三年级语文上册第一次月考试卷含答案
- 毕业设计:平谷新城某高层住宅楼室内给排水、消防与采暖系统设计
- 《装饰艺术运动》课件
- 《公路工程量计算》课件
- 医院建筑综合设计与布局优化
- 阴道镜项目质量管理方案
- 边坡工程第3章 边坡工程地质勘察
- 索思医疗卓越产品系列穿戴式动态心电监测产品
评论
0/150
提交评论