




已阅读5页,还剩68页未读, 继续免费阅读
(计算机应用技术专业论文)j2ee构建远程教育平台的研究与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
电子科技大学硕士学位论文 摘要 远程教育是将计算机和网络通信技术应用到教学领域的产物,对整个 教育结构产生了重大而深远的影响。j 2 e e 所定义的开放式多层体系结构, 其技术特点很适合于构架远程教育这样一个基础平台,目前国家也大力支 持j a v a 技术的推广及产业化。 基于i n t e r n e t 的远程教育系统是现代远程教育的方向,支持网上教学 的远程教育平台在其中扮演着重要角色。研制开发安全、易用、高效的支 撑平台,对于网上教学、网上答疑、虚拟实验室、网上讨论和协同工作、 网上实时考试、课件开发及管理和教学教务管理都是必不可少的。 本文详细介绍了项目分析、设计、和实现的过程。并介绍了j 2 e e 构架 该平台的性能特点,并讨论了其中一些关键技术。 关键词:远程教育数据库连接池j 2 e e 网络考试 电子科技大学硕士学位论文 a b s t r a c t e l e a r n i n gc o m e sw i t ht h ec o m p u t e ra n dn e t w o r kc o m m u n i c a t i o n sb e i n g a p p l i y i n gt oe d u c a t i o n i tt a k e sas i g n i f i c a n te f f e c t o na l lo ft h ee d u c a t i o n s t m c n l r e j 2 e ed e l e sao p e n n i n gn - t i e rs y s t e ms t r u c t u r e i ti sf i tt oc o n s t r u c ta b a s i sf l a tl i k ee l e a r n i n g e l e a r n i n gb a s e di n t e m e ti so n ew a yo f m o r d e m e d u c a t i o n t h eb a s i sf l a ti s v e r yi m p o r t a n t ab a s i sf l a ti si n d i s p e n s a b l ef o rt e a c h i n ga n dl e a r n i n g ,f a q , v i s u a l l a b ,e x a m i n a t i o no ni n t e m e t t h i sa r t i c l ed e s c r i b e st h e p r o c e s s o fp r o j e c ta n a l y s i s ,d e s i g na n d i m p l e m e n t a t i o ni n d e t a i l s a n di n t r o d u c e ss o m ef e a t u r e so ft h eb u i l d i n g e l e a r n i n gb a s i sf l a tb yj 2 e ea n ds o m ek e yt e c h n o l o g yu s e db yt h i sp r o j e c t k e y w o r d :e l e a r i n g ;d a t a b a s ec o n n e c t i o np o o l s ;j 2 e e ;e e x a m i n a t i o n 独创性声明 本人声明所里交的学位论文是本人在导师指导下进行的研究工作 及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地方 外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含为 获得电子科技大学或其它教育机构的学位或证书而使用过的材料。与 我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的 说明并表示谢意。 签名:日期:伊2 - 年石月谚日 关于论文使用授权的说明 本学位论文作者完全了解电子科技大学有关保留、使用学位论文 的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁盘, 允许论文被查阅和借阅。本人授权电子科技大学可以将学位论文的全 部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描 等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后应遵守此规定) 签名:薹兰塑导师鎏名: 日期:2 。汐z 年z 月姻 电子科技大学硕士学位论文 第一章前言 1 1 现代化教育的特点 目前,我们正面临着一个全新的教育时代。互联网的高速发展和普及, 给现代教育提供了一个新的舞台,给人们提供了更广阔的学习空间和环境。 传统的教育方式如何更好地适应网络时代的发展,是教育领域面i i 缶的重大机 遇和挑战1 2 0 世纪9 0 年代以来,计算机网络的日益普及和i n t e r n e t 的迅猛发展给 教育带来了许多崭新的机遇。配合卫星、电视和计算机多媒体技术的网络化 教育代表着现代化教育的方向。现代远程教育不仅可以优化教育资源配置, 共享名师名校教学资源,缩小城乡以及不同地域之间的教育差距,还可以扩 大教育的时空,突破学校教育和正规教育的框框,建立起终身教育的观念和 多样化的办学模式。 现代化教育有以下三个基本特点: 一、资源共享 共享有限的优秀教育资源是解决不同学校、不同地区教育水平差异的 根本办法。教育资源的共享可以使教育水平落后地区的学生享受到大城市名 校、名师的教育,迅速提升落后地区的整体教育水平。 二、个性化 现代教育方法强调根据学生各自不同的素质和情况,针对每个学生个体 施教。每个学生个体之间的差异是很大的,如果不能针对每个人的实际情况 来安排教育方案,许多学生的特殊才能很可能被埋没。目前我国的教育正从 应试教育向素质教育转化,强调个性化的教育是符合素质教育要求的。 三、交互式 学生必须与教师进行充分的交流,教师要根据自己观察到的学生的接受 情况来安排下一步的教学。同时,教师也要进行答疑和辅导。最近,有关调 查表明,学生在网上提问和与他人进行交流显得更踊跃和大胆。这说明在虚 拟环境下的师生交流在一定程度上有助于学生克服害羞的- t l , 理和交流的障 电子科技大学硕士学位论文 碍。因此,远程教育在交互式方面也有其独特的优势。 1 2 远程教育的出现及其发展现状 八十年代以来,西方发达国家的学校和研究机构纷纷进行了网络远程教 育的研究工作,并取得了许多研究成果。例如,英国在1 9 8 9 年设立的对英国 高等院校的教学进行重大革新的c t ( c o m p u t e ri nt e a c h i n gi n i t i a t i r e ) 工程,其目标就是通过计算机、多媒体与网络通信技术的结合实现对所有学 科从教学模式、教学内容到教学组织形式的彻底变革,以达到提高学习质量 与教学效率的目的。随着远程教育活动的发展,一些关于远程教学的协会也 相继成立。 进入九十年代以后,国外发达国家的网络远程教育获得了迅速的发展。 例如在美国,几乎每所大学都有自己的网络远程教育系统,它们有自己的高 带宽的专用网络,完全满足了高质量的实时媒体的传送和交互。甚至出现了 许多专业的从事远程教育的网络学校。 国内的网络远程教育虽然发展较晚,但其发展速度是十分惊人的。特别 是在高等院校中,网络远程教育正在如火如荼的开展。许多高等院校都建立 了自己的网上学校,将许多课程的教学都搬到了国际互联网上,大大降低了 教育成本,提高了教学效率。 1 3远程教育系统的技术体系与功能概述 基于i n t e r n e t 的远程教育系统是现代远程教育的方向,支持网上教学的 远程教育平台在其中扮演着重要角色。研制开发安全、易用、高效的支撑平 台,对于网上教学、网上答疑、虚拟实验室、网上讨论和协同工作、网上实 时考试、课件开发及管理和教学教务管理都是必不可少的。我们的思路正是 构建一种基于w e b 的开放式远程教育平台。 开放式远程教育平台将为全社会所有关心和热爱教育的人士提供一个展 示自己和服务社会的舞台。开放式远程教育平台本身应该带有丰富的教育资 电子科技大学硕士学位论文 源库和方便的教育信息检索工具,可提供网上教学和网上教学管理系统,还 将提供方便易用的远程教育开发工具,使得不具备很多计算机知识的人也可 以方便地把自己的教学心得和知识产权制作成网络课件,而且,该系统将提 供专门的数据库来放置源源不断上载的教育资源。 基于上述的分析,为了实现这样一个开放式的远程教育平台,我们采用 了这样的一个技术体系: 本远程教育平台是依照j 2 e e ( j a v a2e n t e r p r i s ee d i t i o n ) 标准,综合 采用j s p s e r v l e t 、e j b 、j n d i 、j d b c 等j a v a 相关技术开发的大型网络应用 软件。平台的开发建立在w e b 服务器( w e bs e r v e r ) 、应用服务器( a p p l i c a t i o n s e r v e r ) 和数据库服务器( d bs e r v e r ) 的多层架构之上。这种多层结构可将 数据处理的业务逻辑、用户界面、内容显示等部分分开,从而使平台的业务 逻辑集中于a p p l i c a t i o n 层次;利用e j b 等服务器组件的可重用性和跨平台 性,可以快速开发和二次开发出复杂的大型平台应用程序,以适应多种用户 的不同需求。 平台产品的多层架构体系,使平台在应用层支持负载平衡( l o a d b a l a n c i n g ) 和故障后援( f a i 卜o v e r ) ,当用户量逐渐增大时可以通过服务器 集群( s e r v e rc l u s t e r i n g ) 来满足平台的可靠化和规模化。因此,该平台不 仅具有极佳的可靠性、可管理性和可扩展性,而且也是一个可整合的分布式 环境的开放式系统。 教育平台主要包括了教学与教务管理模块、课件及课件制作管理模块、 网络考试模块、教学辅助模块和资源库管理模块,用户分为系统管理员、教 师、学生等三种用户身份方式实现。 教学与教务管理模块,进行专业设置和专业教学计划管理、课程设置和 课程计划的管理工作,提供教学内容发布等功能;学生入学管理部分涵盖学 生注册、学习、考试、成绩、毕业、学位等功能:对教师进行教学档案管理、 教师任职资格审查、教师任课及授课管理、教师考核及评价管理;管理员身 份对于教育平台有管理权限。 课件及课件制作管理模块,具有强大的课件制作功能,使不具有专业编 程经验的教师也能够方便快捷的开发自己的网络课程。 电子科技大学硕士学位论文 该模块简化教师开发网络课程和备课的过程,降低课程开发对教师计算 机技能的要求,使一般教师易于学习和掌握。支持网络多媒体开发,提供教 学资源库和资源库管理功能,并且针对具体学科的网络课程提供模板库,加 速了网络课程的开发。该模块为所有经过系统确认具有教师权限的用户所用。 以知识单元为核心组织课程内容,以学生为中心,强调自主学习和个性化学 习。教师可依据自身特色形成自己的网络教学方案。教学素材可重复使用, 资源可以共享且易扩充。网络课程制作和应用做到自动化。 网络考试模块,提供自动组卷功能。教师设定组卷条件,系统自动根据 条件组成所需试卷。学生同样可以输入组卷条件组成练习试卷:在学生完成 试卷后,系统自动批改试卷,将结果反馈给学生。 管理员将定期针对学生反馈信息和考试的成绩或者教师的要求,对题库 和试卷库进行维护和更新工作。 教学辅助模块,除了提供教学功能之外,平台还提供了一些服务功能: 个人主页、同学录、信息公告等。这些服务功能使师生之间以及学生之间进 行多种方式的交流与沟通,给他们提供情感支持,避免学生在学习过程中感 到孤独,同时也给予每位网校学员一个充分展示自己的空间。 资源库管理模块,系统的设计遵循数据管理具备弹性、系统开放性、安 全性和可靠性的原则,符合国际和国内标准。资源库可存放媒体素材、试题、 课件、案例、文档等教育资源,以适合多种教学模式的教学支撑系统和现代 远程教育管理系统的研制开发。资源库的管理包括以下功能:基本管理功能 ( 录入、维护) 、资源使用管理( 浏览、下载) 、资源收集整理、资源日志 管理、资源共享管理( 注册、预览) 。教学资源库符合国际远程教育平台的 开发标准,平台的标准化保证了与其它标准平台进行资源的交流,为远程教 育的国际化奠定了重要的基础。 1 4 本系统的特点和意义 本平台具有通用性,可适用于各类学校、成人教育,职业培训和技术培 训等机构进行远程教育,是对传统教育模式的改革和创新,其推广使用对于 4 电子科技大学硕士学位论文 教学的改革,实现开放式教育,扩大受教育面,有限的师资发挥更大的作用 具有重要的意义。 本平台具有以下主要特点: l 、通用性强。能适用于各种机构的远程教育。 2 、实现时间和空间的分布性。在教学、考试以及管理方面,节约大量的人 力物力,提高了效率。 3 、通过网络考试模块,学生可以随时了解自己的学习情况,并及时反馈信 息,让教师做到“知己知彼”,从而真正做到因人施教。 4 、资源库的标准化,使得在i n t e m e t 上可以比较容易的和使用其他平台的 机构之间共享资源,从而做到互通有无,真正实现系统的开放性。 总的来说,笔者经历了本课题的系统分析、设计、实现的开发周期,构 建起一个开放性的远程教育平台,基本上完成了课题研究的目标。在课题研 发期间,独立完成了本系统的功能结构分析,技术路线分析( 包括分析并选 择本系统采用的符合j 2 e e 标准应用服务器、数据库服务器和对相关最新技 术的研究) ,数据库的设计,以及服务器端的业务逻辑层( e j b s 和标准的 j a v a b e a n s ) 和表示层( j s p s ) 实现。在下面几章中,将会详细介绍本课题的 设计与分析过程,以及其中的一些关键技术和难点的解决方法。 1 5本课题的开发价值 由于社会对教育的需求迅速增加,传统的教育模式已经不能完全满足这 种需要,网络远程教育势必成为一种相当重要的知识传播途径。在网络远程 教育系统中,一个稳定、安全可靠的开放式平台是必不可少的,它是整个系 统成败的关键。本课题完成了一套基于j 2 e e 标准的解决方案,并实现了一 个开放式的平台。 电子科技大学硕士学位论文 第二章j 2 e e 开发w e b 服务 2 1w e b 服务介绍 w e b 服务是一种可以接收从i n t e m e t 或者i n t r a n c t 上的其它系统中传递过 来的请求,轻量级的独立的通讯技术。这种技术允许网络上的所有系统进行 交互。随着技术的发展,一个w e b 服务可以包含额外的指定功能并且可以在 多个b 2 b 应用中协作通讯。 w e b 服务正在不断完善,并且以一种非常智能的动态的方法来进行。这 些灵活的w e b 服务可以理解请求中上下文的关系,并且在每一个特定的情况 下产生动态的结果。这些服务会根据用户的身份,地点以及产生请求的原因 来改变不同的处理,用以产生一个唯一的、定制的方案。这种协作机制对那 些只对最终结果有兴趣的用户来说,是完全透明的。 一般来说,在不同的事务之间进行电子通信协作会有很多阻碍。全异的 系统安全限制和不相同的数据格式,导致很多b 2 b 系统在他们自己的领域 或者客户群中形成唯一。w e b 服务将改变这一切,使不同的事务互相通信变 为可能,值得注意的是,这会降低建立商业站点的开发和维护成本。 在建立w e b 服务的时候,有三个主要步骤: 1 、建立客户端联接 是为了允许a p p l e t s ,a p p l i c a t i o n s ,商业合作伙伴,浏览器和p d a s 使 用w e b 服务。 2 、实现w e b 服务 包括工作流,数据传送,商业逻辑以及数据访问。这些功能是隐藏在 w e b 服务后,并且为客户端工作的。 3 、联结后台系统 这个系统可能包括一个或多个数据库,现存的企业信息系统,商业合作 伙伴自己的系统或者w e b 服务,以及在多个系统中共享的数据。 电子科技大学硕士学位论文 2 2j 2 e e 简介 2 2 1 j 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 ) 是美国s u n 公司推出的一种 全新概念的模型,与传统的互联网应用程序模型相比有着不可比拟的优势。当 今许多企业都需要扩展他们的业务范围,降低自身经营成本,缩短他们和客户 之间的响应时间,这就需要存在一种简捷,快速的服务于企业,合作伙伴和雇 员之间。 典型的说,提供这些服务的应用软件必须同企业信息系统( e i s ) 相结合, 并提供新的、能向更为广阔的用户提供的服务。这些服务要具备以下的特点: 高可用性:来满足现在的全球商业环境 安全性:保护用户的隐私和企业数据的安全 可依赖性和可扩展性:保证商业交易的正确和迅捷 通常这些服务是由分布的应用程序组成的,包括前端数据端和后端数据 源以及它们之间的一层或几层,这些中间层提供了把商业功能和数据与e i s 相结合的功能。这些中间层把客户端从复杂的商业逻辑中分离出来,利用成 熟的i n t e r n e t 技术使用户在管理上所花费的时间最小化。 j 2 e e 降低了开发这种中间层服务的成本和复杂程度,因而使得服务可以 被快速的展开,并能够更轻松的面对竞争中的压力。 j 2 e e 通过定义一种标准的结构来实现它的优势,其内容包括: a j 2 e e 平台标准 一个标准的平台,用来整合j 2 e e 的应用程序,指定一系列的接口和方 法;这是对中间件厂商必须实现的平台的定义。 b j 2 e e 兼容测试组件 这是一组测试集,产品只有通过它的测试才能获得j 2 e e 认证。测试集是 保证j 2 e e 应用可移植性的关键,它保证了应用可以移植到各种基于j 2 e e 的 平台上。 c j 2 e e 参考实现 电子科技大学硕士学位论文 这是一个j 2 e e 技术标准的完整实现。j 2 e e 参考实现展示了j 2 e e 平台的 可用性,也可以用来开发可移植的j 2 e e 应用。 d j 2 e e 蓝图 这是对j 2 e e 应用编程模型的解释性文档,是重要的应用开发指导性文 件。 2 2 2 j 2 e e 应用程序模型 j 2 e e 是一个方便于服务器方应用程序开发的中间件服务集,它利用j a v a 2 技术来简化诸多与企业解决方案的开发、部署和管理相关的复杂问题。由于 j 2 e e 技术的核心就是j a v a 2 平台,所以它不仅继承了j a v a 2 平台的一些优点, 如:平台无关性,安全性等,而且增加了一整套核心企业应用程序编程界面, 而所有这些界面均为标准的模块化组件,其中包括:s e r v l e t s ,e j b ( e n t e r p r i s e j a v a b e a n s ) ,j s p ,j d b c 等。 j 2 e e 是被设计为顾客,雇员,供应商,合作者提供企业级服务,这样的 应用程序天生具有复杂性,他们要访问各种类型的数据并分发于大量的客户 端。为了更好的控制,管理这些应用程序,支持各种各样用户的商业功能要 在中间层引入,中间层描述了一个被企业的信息技术部门紧紧控制的环境。 j 2 e e 应用程序依靠于e i s 层来存储企业的商业数据。这些数据和用来管理它 的系统是企业中的核心。 最初,双层结构( c l i e n t s e r v e r ) 应用程序模型许诺将提高伸缩性与更广 阔的功能,但不幸的是,直接向用户提供e i s 服务的复杂性和在每台用户计算 机上安装和维护商业逻辑所引起的管理上的问题成了很大的限制。而这些在 双层结构中的限制在三层( 或者多层) 结构中己不存在了。 下面的图示分别表述了传统的c s 应用程序模型和一个包含了h t m l 页 面、s e r v l e t 和s e s s i o nb e a n 的瘦客户机三层企业应用模型。 电子科技大学硕士学位论文 l ”兰8 b a c k e n d d a t a b a s e 图2 1 传统的c s 模型 b r o w s e r h t m l厂_ 、s e s s i o nb c a n p a g e s e r v p e t 图2 2 一个简单的瘦客户机三层模型 用户通过访问h t m lp a g e 来输入数据,并提交给一个s e r v l e t ,这个s e r v l e t 使用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 ) a p i s 来寻找个s e s s i o n b e a n ,该s e s s i o nb e a n 具体处理用户提交的数据。由此可见s e r v l e t 并不执 行具体的商务逻辑,而是交由s e s s i o nb e a n 在j 2 e ea p p l i c a t i o ns e r v e r 上 来处理,所以这种模型下的应用被称为瘦客户机应用。 多层应用可以是一个三层或者四层结构。图2 3 就展示了一个四层结构的 例子。在传统c s 模型的非基于w e b 的客户端应用程序和数据库之间放置一个 多线程的应用服务器,这样就扩展成为一个三层的结构;四层结构又从三层 结构扩展而来,即用w e b 浏览器和基于s e r v l e t j a v a s e r v e rp a g e 的h t m l 页面 替代了客户端应用程序。 电子科技大学硕士学位论文 图2 3 多层应用模型 2 2 3 j 2 e e 的组件一容器体系结构 第一层: 客户层 第二层: w e b 层 第三层: 商业层 第四层: e i s 层 面向对象软件的基本组成单元是类和对象。类封装问题是解决方案的细 粒度概念,而对象是系统运行时创建的类的实例。面向对象开发过程可以在 类级实现重用,这一封装级别对于企业级应用而言太低了,而不能被立即使 用。 组件提供了更粗粒度的封装问题方法,有对象状态的类和一组操作可以 封装单个概念,组件代表可作为一个或多个概念完成功能的特殊服务,因而 组件为用户提供了多个接口。接口封装了组件提供的服务,隐藏了实现细节 的可见性。由于组件表示一个或多个较细粒度类的逻辑组合,且被定义在较 高级别,具有较粗粒度级,所以一个组件可以直接封装一个已划分的问题, 该问题更直接地产生于分析和设计模型。 j 2 e e 规范中定义了四个主要的组件及其容器类。四个组件一容器类绘制 在图2 4 中: 图2 4j 2 e e 组件和容器 四个个组件一容器模型如下所述: e j b 应用程序服务器: 企业j a v a b e a n 组件表示与应用相关的细件,由开发人员和第三方创建, 用于在e j b 应用程序容器内部操作。e j b 容器环境由第三方生产商实现 用来为e j b 组件丌发人员提供可伸缩的_ l _ 立:用程序服务。 w e b 应用程序服务器: w e b 组件有两种风格:j a v as e r v l e t s 和j a v a s e r v e rp a g e s ( j s p ) 。w e b 组 件表示应用相关的由w e b 服务器接收的清求处理并产生w e b 响应。 小应用程序客户机: 小应用程序是能在w e b 浏览器内运行的j a v a 应用程序,并在w e b 浏览 器内提供一个g u i 。j 2 e e 规范介绍了把小应用程序驻留到标准化的小应 用程序容器环境内的方法,并加入了从基于j 2 e e 客户机到基于j 2 e e 服 务器的支持。 应用程序客户机: 电子科技人学硕士学位论文 应用程序客户机是基于j a v a 的客户机,通常运行在用户桌面或工作站上, 并提供一个g u 。j 2 e e 规范概述了标准应用程序客户机容器环境内应用 程序客户机宿主机的方法学,这种环境中有附加的a p l 支持基于j 2 e e 的 客户机充当j 2 e e 服务器。 2 3 本系统的关键技术介绍 2 3 1s e r v l e t 在互联网发展的早期,人们就面临着如何编写能够处理用户输入并产生 动态内容的w 曲程序问题,这时的解决办法就是公共网关接口( c g i ) 程序。 c g i 程序可以使用多种编程语言开发,例如p e r l 就是一种十分常用的c g i 程 序设计语言。而且现在绝大多数w e b 服务器都支持c g i ,这使得c g i 成为开 发动态w e b 程序的一种通用技术。 但c g i 技术有它的缺点。首要问题是性能和可伸缩性问题,因为在c g i 中,对应来自客户的每个请求都要创建一个进程来响应,以提供服务,这极 大的消耗了服务器地资源。使得c g i 程序不能很好地扩展到服务大量的并发 用户,难以适应开发大型的应用系统的需求。另一个严重的问题就是安全, c g i 程序和w e b 服务器结合本质上是一种松耦合的结合,它们的结合存在严 重的安全漏洞。例如许多p e r l 脚本使用s h e l l 完成些操作系统功能,如发送 邮件。s h e l l 的使用就给黑客提供了可乘之机。 因此各个w e b 服务器厂商纷纷推出了自己的w e b 服务器a p i ,程序员可 以使用这些a p i 编写动态w e b 应用程序,如m i c r o s o f t 的i s a p i ,n e t s c a p e 的n s a p i 。这一类技术克服了c g i 的不足,但它们却带来了另外的问题。首 先是兼容性问题,这些a p i 都是专用于特定的w e b 服务器的,要想移植用另 一种a p i 编写的程序到另一种w e b 服务器将十分困难;其次是可靠性问题, 程序员在使用这些a p i 时往往使用c 或c + + 等传统程序设计语言,而且开发 出的程序紧密地耦合到w e b 服务器中,作为了w e b 服务器的一部分,这些 程序的错误常常导致w e b 服务器的崩溃。这使得使用专用a p i 开发w e b 应 用程序十分困难,也就难以得到真正的推广。 电子科技大学硕士学位论文 于是,s e r v l e t 技术出现了,它作为j a v a 技术平台支持w e b 应用的突破口 和基础,解决了c g i 和专用a p i 技术存在的问题,借助于j a v a 这一优秀的 技术平台,实现了c g i 与专用a p i 很好的折衷。s e r v l e t a p i 很简单,目前几 乎所有的w e b 服务器甚至复杂的应用服务器都可以支持s e r v l e t 程序。它通 过多线程等技术解决了c g i 的性能问题。j a v a 平台提供了最强的兼容性。安 全性也得到极大的提高,因为j a v a 技术平台提供了几乎所有用户所需的功能, 程序员已经不再需要使用s h e l l 来实现所需的功能支持。 s e r v l e t 是一种扩展w e b 服务器功能的服务器端程序。s e r v l e t 技术是j a v a w e b 应用程序设计的最基本的技术。它从客户端接收用户的请求,动态地产 生相应地响应,这个过程则可能需要通过j d b c 同后台信息系统交互生成 的响应包含h t m l 文档或x m l 文档,最后再将响应发送回客户端显示。 s e r v l e t 开发人员可以使用标准的s e r v l e ta 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 接口的j a v a 类。与常规 的j a v a 程序不同,s e r v l e t 程序没有m a i n 方法,取而代之的是一组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 容器的控制下运行。所以s e r v l e t 程 序不能单独执行,只能在容器中运行。 我们进行s e r v l e t 编程时往往是扩展h t t p s e r v l e t 子类。该子类中定义了一 些附加的方法来辅助h t t p 协议的处理,它们会自动地被s e r v i c e 方法调用。 编程时就不需要再实现s e r v i c e 方法,直接实现这些附加方法就可以了,这些 方法是: d o g e t 方法,用于处理h t i pg e t 请求: d o p o s t 方法,用于处理h t y pp o s t 请求; d o p u t 方法,用于处理h t t pp u t 请求: d o d e l e t e 方法,用于处理h t t pd e l e t e 请求; d o h e a d 方法,用于处理h t t ph e a d 请求; d o o p t i o n s 方法,用于处理h r r po p t i o n s 请求; 电子科技大学硕士学位论文 d o t r a c e 方法,用于处理h t t pt r a c e 请求: 这些方法分别响应了h t r p 协议的不同类型的请求,s e r v l e t 程序可以根 据需要扩展相应的方法以实现对客户端的响应功能。 2 3 2j a v a s e r v e rp a g e s j a v a s e r v e rp a g e s 是一种服务器脚本技术,它可以用来生成包含动态w e b 内容的页面,如h t m l 页面。我们可以把使用j s p 理解成将脚本语言和j a v a 程序代码嵌入到h t m l 页面中,s e r v l e t 则不同,它使用输出流将h t m l 代 码输出给w e b 服务器,然后在访问者地浏览器上显示。我们可以把s e r v l e t 看成是把h t m l 代码嵌入到j a v a 程序代码中去。 j s p 内部实现仍然是将j s p 翻译成s e r v l e t 后台运行,也就是说,在运行 j s p 的容器内部,j s p 仍然是作为s e r v l e t 运行的。但是在实际应用中使用j a v a 语言编写s e r v l e t 的程序员往往不是用户界面的设计者,因此很难写出美观的 w e b 页面。而j s p 技术将j a v a 编程工作与h t m l 页面设计工作分离,从而 让j a v a 程序员编写实现程序逻辑的j a v a 代码,而让网页制作人员去编写用于 界面表现的h t m l 页面和j s p 程序,这将更加符合软件工程的原则和思想。 在s u n 公司全力推广的j 2 e e 框架结构中,j s p 也是作为首选技术之一,s u n 公司建议开发人员尽量使用j s p 技术实现表现逻辑,除非必要,尽量少用 s e r v l e t 技术,同时建议容器厂商尽量面向j s p 进行优化。 除了上面提到的可以将程序逻辑和界面显示分离的重要优点外,j s p 技术 还有许多如下所述的优点。 1 ) w r i t eo n c e ,r u na n y w h e r e j s p 技术是j a v a 平台的一部分,它继承了j a v a 技术的平台无关的特点。 你可以在任何的平台上编写j s p 页面,然后在任何的w e b 服务器或支持 w e b 的应用服务器上运行,通过任何的浏览器访问。 2 ) 丰富而且高质量的工具支持 正是由于j s p 技术的平台无关性使得越来越多的厂商支持j s p 技术,这 1 4 电子科技大学硕士学位论文 样你在使用j s p 时就可以选择最适合你的、质量最好的工具,而不用象 a s p 技术一样必须限定在微软的平台和工具之上。 3 ) 通过组件和标签实现重用 重用是现代软件设计的一个重要目标,j s p 技术则十分强调使用j a v a 平 台提供的可重用的组件,如j a v a b e a n 组件、e j b 组件和标签库。组件的 使用极大的提高了w e b 应用程序的开发效率。 2 3 3j a v a b e a n j a v a b e a n 的标准文档中是这样定义的:j a v a b e a n 是一个可以在j a v a 编程 环境( 工具) 中可视化处理的可重用软件组件。j a v a _ b e a n 常被简称为b e a n 。 首先要理解什么是可重用软件组件,它是随着可重用软件工程的发展而 流行起来的一个概念,简单地说,就是利用面向对象技术将一些可重用的数 据或功能按照标准的接口和模式封装起来,供编程人员使用。这样,随着组 件的积累,应用开发的能力就会越来越强大。 j a v a b e a n 组件模型定义了编写j a v a 代码的标准模型,对外提供组件属性 和方法以及j a v a b e a n 容器的接口。容器一般嵌入到一个集成的开发环境中, 以便j a v a b e a n 组件在设计+ 时使用基于g u i 的工具进行定制。 j a v a b e a n 仍然是一个j a v a 类,只是一个特殊的j a v a 类而已。虽然不同的 j a v a _ b e a n 功能彼此不同,但是它们都有以下五个特征,这也正是j a v a b e a n 同 其他j a v a 类的主要区别点。 内省:j a v a b e a n 的设计按照标准的接口和模式进行,所以软件开发 工具可以按照标准的模式分析b e a n 所有的功能; 定制:用户可以使用软件开发工具直接在设计阶段就定制j a v a b e a n 的显示和功能,这是其作为一个组件的基本要求; 事件支持:事件机制是j a v a b e a n 同应用软件其他部分进行通信的主 要手段之一,b e a n 可以激发事件,也可以处理事件。事件支持使 j a v a b e a n 成为一个独立的实体,而不仅仅使一个类。 电子科技大学硕士学位论文 属性:其作为一个类当然可以具有属性,但j a v a b e a n 的属性既可以 在设计时操作也可以在运行时操作。 持续性:持续性使得对j a v a b e a n 的定制可以被存储,然后在需要的 时候被重新加载。 2 3 4j d b c j d b c 是一组j a v aa p i ,它提供了一组标准的a p i 调用来进行数据库的访 问。它将各种数据库的差异性对j a v a 程序屏蔽了起来,j a v a 程序可以使用同 样的可移植性的接口访问数据库,使j a v a 的应用范围扩展到了数据库领域。 运用j d b c 可以以多种不同的方式建立一个j a v a 服务器程序与多种不同 数据源的连接。所选用的驱动程序将影响到系统的性能与功能。j d b c 的驱 动程序可以分成四种类型。 类型一:j d b c - - o d b c 桥 允许程序先连接到o d b c 驱动程序管理器上,然后以多种可能的方式连 接到后端数据库上。这种桥驱动程序可能是最复杂的数据库访问方法。应用 程序与j d b c 连接,j d b c 与o d b c 连接,o d b c 又与驱动程序连接,这样, 在真正访问到数据库之前,驱动程序可能需要经过几层中间件。一般来说, 经过的层数越多,性能损耗就越大,出错的可能性也越大,安全性也越差。 有时候只能选择j d b c o d b c 桥,在访问旧的数据库时,这种桥驱动程 序特别有用。然而,这种驱动类型只应该在缺少其它驱动程序时才被考虑, 不能时首选的方案。 类型二:本地二进制代码 这一类j d b c 驱动程序在j a v a 代码中插入了本地二进制代码。在任何情 况下,只要在j a v a 代码中混入了本地代码,就会降低j a v a 的安全性,当然也 降低了其平台独立性。采用该类驱动程宁比采用桥驱动的性能要好,因为这 里不需要o d b c 驱动程序管理器。但是,通常也不选用本地代码方式。 类型三:中间件 6 电子科技大学硕士学位论文 类型三j d b c 驱动程序是纯j a v a 方案,设计比较负责,包括j a v a 驱动程 序客户及j a v a 驱动程序服务,二者通过网络协议通信。 类型三驱动程序利用其服务器驱动程序建立与后端数据库的连接,这样 可以减少客户端的维护工作。客户端可以连接到数据库上,利用该驱动程序 的服务器部分确定连接方式。 类型四:纯j a v a 与类型三相似第四类驱动方案也是纯j a v a 的,但是它提供j d b c 驱动 程序管理器与s q l 数据库之间的直接连接,不需要中间件。这种类型非常适 合本地网连接数据库服务器的程序,本系统中就是采用的这种类型的驱动程 序。 对于j d b c 程序的结构和设计,将在系统的实现一章详细介绍。 2 3 5 e n t e r p r i s ej a v a b e a n e n t e r p r i s ej a v a b e a n ,简称e j b ,即企业j a v a _ b e a n 。顾名思义,e j b 主要 是用于企业级j a v a 应用开发的。 e j b 是一种创建在服务器端的可扩展、事务处理的、多用户安全的企业 级应用规范。它不是一种产品,而是为开发分布式的n 层中间件提供了统一 的组件结构框架。一个典型的e j b 结构由如下几个部分组成:一个e j b s e r v e r 、e j bc o n t a i n e r s 、e j bc l i e n t s 。另外还需要一些辅助系统,如j n d i 、 j t s 等。 e j bs e r v e r s :它提供一些系统服务如原始的执行环境、多重处理、负载 平衡、设备访问等,另外它还提供y r s 和j n d i 服务和使容器可见。 e j bc o n t a i n e r s :它扮演一个e j b 与外部世界进行交互的接口角色。通常 来说,e j bc l i e n t s 不会直接访问b e a n s 。c o n t a i n e r s 包括两种类型:其一是 s e s s i o nc o n t a i n e r s ,主要包含短暂,非持久化的e 旧,即它的所有状态都不会 保存:其二是实体容器e n t i t yc o n t a i n e r s ,它包含持久化的e j b 。 e j bc l i e n t s : 主要是运用e j bb e a n s 。首先,它通过j d n i 接口找到e j b c o n t a i n e r ,然后使用e j bc o n t a i n e r 调用e j bb e a n 的方法。 电子科技大学硕士学位论文 e j b 与j a v a b e a n 都是属于基于组件的构架。除此之外就再无相同之处了。 从规范方面来看,j a v a b e a n 发展的目的在于提供开发环境的标准,主要在于 定义e v e n t 和p r o p e r t y 特性,以使得符合j a v a b e a n 规格的构件可以在不同的 i d e 开发环境中开发。而e j b 规范制定的目的也就在于发展“企业构件”, 而企业构件最重要的就是t r a n s a c t i o n 、以及分散式的构架,另外还包括 s e c u r i t y 、p e r s i s t e n c y 、c o n c u r r e n c y 、s a c l a b i l i t y 的控制等。开发者开发的客户 企业构件依据e j b 规范可以被部署到任何e j bs e r v e r 上,而不需要更改程序 代码。 2 3 6x m 吐 x m l 语言是w 3 c 组织定义的一种元语言,它可以用来定义各种层次结 构的标记语言。它由一套规则、指南和说明构成,用于将结构化的数据以普 通文本文件的形式描述出来。使用文本文件而不是二进制文件使程序员甚至 最终用户都可以直接查阅和使用数据,而不必经过程序的处理,然而,x m l 的使用者仍然是程序而非最终用户。 同h t m l 一样,x m l 也使用标签( t a g ) 和属性( a t t r i b u t e s ) 。标签使用 “ ”符合括起来的单词,属性则是位于标签中的“n a m e = v a l u e ” 形式的字符串。h t m l 定义了每个标签和属性的含义,以及它们在浏览器中 的表现形式。而x m l 只定义了文档的结构,而没有定义文档的表示语义。 x m l 定义文档的这个过程称为标注( m a r k u p i n g ) 。标注使得数据和文档呈现 成一种中立的层次化的容器结构。 x m l 用结构化的文档来描述信息,给开发者和用户带来了许多好处。 1 、更有意义的搜索 数据可被x m l 唯一的标识。没有x m l ,搜索软件必须了解每个异构的 数据库是如何构建的。这实际上是很困难的,因为每个数据库描述数据的方 式都是不同的。x m l 使我们能够方便的定义任何行业的数据,而且它们具有 很强的可扩展性。用户可以定义自己的有内容含义的标记,使得数据的搜索 变得更加容易。 2 、开发灵活的w e b 应用软件 电子科技大学硕士学位论文 数据一旦建立,x m l 能被发送到其他应用软件、对象或者中间层服务器 做进一步地处理。或者它可以发送到桌面用浏览器浏览。 3 、不同来源数据的集成 现在搜索多种的不兼容的数据库实际上是很困难的。x m l 能够使不同来 源的结构化的数据很容易的结合在一起。软件代理商可以在中间层的服务器 上对从后端数据库和其他应用处来的数据进行集成。然后,数据就能被发送 到客户或其他服务器做进一步的集合、处理和分发。 4 、描述多种应用得到的数据 x m l 的扩展性和灵活性允许它描述不同种类应用软件中的数据,从描
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年合肥庐江县绣溪城市服务有限公司招聘2人考前自测高频考点模拟试题及答案详解参考
- 2025广东佛山市顺德区公办中小学招聘教师92人(编制)考前自测高频考点模拟试题及一套完整答案详解
- 2025湖南永州市零陵区第二批公开引进急需紧缺专业人才(医疗岗9人)模拟试卷及答案详解参考
- 安全培训教师含义课件
- 2025年后链轮项目合作计划书
- 2025江西南昌市青山湖区招聘社区工作者(专职网格员)45人模拟试卷及答案详解一套
- Indazole-Standard-生命科学试剂-MCE
- IID432-生命科学试剂-MCE
- H-PEG6-VH4127-NH2-生命科学试剂-MCE
- GS-6620-PM-1-Cyano-2-C-methyl-4-aza-7-9-dideaza-adenosine-生命科学试剂-MCE
- 购买工抵房合同协议
- 医院管理制度汇编
- 2025-2030中国偏头痛药行业市场发展趋势与前景展望战略研究报告
- 2025南宁市隆安县辅警考试试卷真题
- 《高粱酿造过程中的有害物质控制技术》论文
- 大疆行业解决方案
- 人教版小学四年级上册《积的变化规律》
- 《阿Q正传》【知识精研】(高二选必下册第二单元)
- 智慧燃气解决方案
- TCACM 1476-2023 医疗机构小儿推拿技术规范
- 现场5S管理问题及改善
评论
0/150
提交评论