




已阅读5页,还剩51页未读, 继续免费阅读
(计算机应用技术专业论文)基于j2ee架构的网络考试系统的设计与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
华侨人学硕士学位论文 摘要 网络考试系统是将计算机和网络通信技术应用到教学领域的产物,对整个教 育结构产生了重大而深远的影响。j 2 e e 所定义的开放式多层体系结构,其技术 特点很适合于构造网络考试这样一个基础平台,目前国家也大力支持j a v a 技术 的推广及产业化。 网络考试系统是发挥网络优势开发考试软件,具有模块控制、组卷灵活、 w e b 网上考试、网上查分、自动评分和手工改卷相结合等优点。 系统开发使用j a v a 语言,采用了j 2 e e 架构中的多层模型,具有很强的可靠 性、可用性、可扩展性、可维护性,可移植性等,使用了j a v a 2 技术、j 2 e e 中 的j s p 规范和s e r v l e t 规范、h t m l 4 、面向对象的分析和设计方法。 本系统采用的是b s 结构。文章对网络考试中的以下问题进行了阐述: 1 实现基于j a v a 2 技术网络考试系统,广泛采用接口、工厂设计模式。通过对象 的继承、接口的实现、配置“对象工厂”创建对象的过程等方法,我们可以比较 容易实现对系统的扩展;2 网络考试中的故障恢复:3 使用面向对象的方法分析、 设计系统,提高系统的可扩展性和可复用度;4 题库试题难度的动态调整。另外, 也提出了本系统的不足和需要进一步改进的工作。 本文详细介绍了项目分析、设计和实现的过程,并介绍了j 2 e e 架构该平台 的性能特点,和讨论了其中的一些关键技术。在功能设计上,该文介绍了网络考 试系统的主要流程,实现了考试系统的考生登录、试卷生成等主要功能。 关键词:网络考试j 2 e e 数据库连接池工厂 华侨大学硕士学位论文 a b s t r a c t e x a ms y s t e mi sas o f h v a r es y s t e m d e v e l o p e df o rt h e s a n eo ft a k i n gt h e a d v a n t a g eo f t h en e t w o r k a n di no r d e rt or e m o t i n ge x a m i n a t i o n sb a s e do nn e t w o r k w ed e v e l o p e dt h es y s t e ma c c o r d i n gt or a t i o n a lu n i f i e dp r o c e s s ,t h em o d e li s c o n s t r u c t e db yu m l l a n g u a g ei n r a t i o n a lr o s e ,av i s u a l m o d e l i n gi d e ,s y s t e mi s c o n s t r u c t e db a s eo nj 2 e ea r c h i t e c t u r ea n dm a n yj 2 e et e c h n o l o g i e d ,s u c ha s j s p , s e r v l e t ,e j b ,e t c w e c h o o s eb e nw e b l o g i cs e r v e ra st h e a p p l i c a t i o n s e r v e r , m i c r o s o f ts q l s e r v e r2 0 0 0 懿t h ed a t a b a s ea n dm i c r o s o f tw i n d o w s2 0 0 0a st h e o p e r a t i o ns y s t e m i nt h i sp a p e r , w ed e s c r i p tt h es t r u c t u r eo f an e te x a m i n a t i o ns y s t e m ,w h i c hb a s e d o nt h ej a v a 2t e c h n o l o g y , s i n c ew eu s ej a v a 2t e c h n o l o g y , t h es y s t e mh a st h ef o l l o w i n g p r o p e r t y :c r o s s e d p l a t f o r m ,s e c u r i t y , o b j e c t o r i e n t e d w ec l o s e do u rr e s e a r c hi nt h e f o l l o w i n gs u b j e c t : 1 d e v e l o p an e te x a m i n a t i o ns y s t e m ,w h i c hb a s e do n j a v a 2t e c h n o l o g y 2 h o wt or e c o v e r ys t u d e n t sa n s w e rw h e nt h ec o m p u t e ro sb r e a kd o w no rt h e s e r v e rc o l l a p s e s 3 h o wt ou s eo o a o o dt e c h n o l o g yt od e s i g nt h en e te x a m i n a t i o ns y s t e ms ot h e s y s t e mw i l lb ee x t e n d i b l ea n d r e u a b l e 4 a d j u s t t e s tq u e s t i o n s d i f f i c u l t yi nt h et e s tq u e s t i o nd a t a b a s ed y n a m i c a l l y k e yw o r d s :n e te x a m i n a t i o n ,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 ,f a c t o r y 4 华侨大学硕士学位论文 华侨大学硕士学位论文 第一章文献综述 随着f n t e r n e t 的普及和国民对教育的越来越重视,一些新兴的教育手段如远 程教学、网上培训、网上学校在国内越来越普及,许许多多的大、中专院校也建 设了校园网。在这种情况下,为网上测试、网上作业、网上考试系统的建立提供 了必要的硬件环境。因此,设计和实现网上考试系统成为当前计算机应用领域研 究的热点。但纵观国内成熟的网上考试系统大多都是采用a s p 技术实现的。a s p 技术是m i c r o s o f t 开发的一种新技术,使用a d o ( a c t i v ed a t ao b j e c t s ) 数据对象组 件实现数据库的访问,但是a s p 技术只是服务器端的一种脚本执行语言,其移植 性、安全性、扩张性以及执行效率都很差。为此,如何设计一个性能优良,扩展性 和安全性都很好的网上考试系统已成为一种必然趋势”。 近年来,j a v a 的兴起,给w e b 的发展带来了新的契机,尤其是1 9 9 9 年s u n 公司 j 2 e e 标准的提出,因其具有跨平台的互操作性、可扩张性、安全性好和业界广泛 的支持,为提出一种新的网上考试系统设计方案带来了可能“。 1 2 鹜肉井在掰络考试系统牵豹爵究永平毒瑗糗 网络考试警台是实疆网络教育熬一个重婺缀菇部分,逶过瓣终考试平台豫w 以及时测试自融的学习进度、自己对已学习知识的掌握程度。甄联网的考试用途 很旱就受罚了器方面的蓬筏,醺然考试髓够逶遵龟脑宠缓,郧么秘上考试就鼠技 术上来说就是可蠢豹“。国内藩名的工费管理考试g m a t 予1 9 9 9 攀就开始实行计 算机考试,2 0 0 0 年后g r e 。t o e f l 考试也开始采用计算机考试,向着网络化方向发 袋。网络考试与传统考试裙魄蠢着葫显麓饶势,考生稻教舞霹戬麸整赛魏强鹰燕 落,通过浏览器接入因特网来使用考试系统,不受地域的限制,同时也使得用户 可以更如灵活璁安排考试时间,可以在任何时候使用网络考试系统进行自涮,快 速查询考试成绩。 华侨大学硕士学位论文 近年来出现的各种i t 认证考试以及英语g m a t 和g r e 考试是一种基于计算机网 络的考试,完全摆脱了纸和笔考生使用计算机答卷,通过网络提交答卷,自动 阅卷网络考试的优点是显然的:阅卷更加迅速,考试结束考生即可知道考试结 果,还免了纸介质的试卷和答卷的传输,从而降低了保密成本通过抽取不同的 试题,或者是随机变换试题顺序或答案顺序,可以做到一人一卷,极大地降低了 作弊的几率另外,网络考试为自适应考试提供了可能基于计算机网络的考试 需要专门的较高水平的技术支持,考试已经发展为一种产业 网络考试系统的实现技术有多种,可以采用传统的客户机月臣务器( c s ) 型 的m i s 型架构,即试题内容放在远程的服务器上,在考试机上安装考试应用程序 和数据库客户机配置,因此每次考试时要对机器进行安装、配置,这样一来考务 工作比较烦琐;而且考试程序放在客户机上,安全性也受到一定影响。另外一种 考试系统采用w e b 技术实现。w e b 技术超越了传统的”客户机服务器”两层结构, 采用了三层体系结构:用户界面层事务层数据库层。因此w e b 结构有着更好的 安全性。在用户机上不需要安装任何应用程序,应用程序可以安装在事务层所在 的计算机上,试题存放在数据库服务器上( 事务层和数据库可以是同一台机器) a 目前国内成熟的网络考试系统多为c s 模式,比如清华毫太网络考试系统, b s 模式的比较少,其中基于j a v a 2 技术的网络考试平台则更少。 随着计算机技术的不断向前发展,网络考试系统的结构也在不断的革新。下 面对网络考试系统的技术现状作个简单的综述。 ( 1 ) c s ( c 1 i e n t s e r v e r ) 模泼 熬于c 1 i e n t s e r v e r ( 客户端f l l i 务器) 结构的考试系统,利用计算机局域网 络,镣台诗募掇淫;户端) 透过安装必娶豹软终孝l 与暇务器壤相互逶臻,由予测 用了计算机网络,不爵需要大照人力以实现考题的一致性和考试信息的收集,自 动纯释度和效率较高。毽由予其结构牵挚煮,哭遥用予一定范丽的瓣臻内部( 菇城 网) ,范围难以扩展,可以通过改进通信协议,对该结构进杼敬造,使其适用于 更广的网络范融( 广域网) ,但由于需骤安装客户端程序,维护粕舞级闻样存程困 难。 ( 2 ) b s 模式 冀结梅熬强1 爨示: 华侨大学硕士学位论文 图1 - 1b s 模式 这种b s 模式客户端只要安装一个标准的w e b 测览器,其它应用程序都存储在 w e b 服务器上建立在b s 模式上的网络考试系统,可建立大型、高效、共享的题库, 在服务器端对数据库进行管理,客户端通过浏览器登录考试系统,打破了时空界 限,可实现自动出卷、阅卷、评卷、简化考试程序,且考试结果更加公正、客观。 采用这种b s 模式的计算机网络考试和管理系统适用于一个考场或几十个考 场、几十人或几万人同时进行无纸化考试,解决了考试系统对客户机软件过分依 赖的问题,减轻了客户机软件维护工作量。比以往的考试系统更具有实用性。采 用这种结构,考试系统安装和试题装卸的程序简易进行不同类别试题的考试时 仅需要在服务器上进行试题的更换处理,对考场的计算机配置应考专业的相应软 件,考生就可以进行考试 1 。3 谖题羧采取熬骥究方法 本系统作麓j a v a 露上考试部分,要求实理鄹终考试系统静基零功毙。扶安 全性和易维护性考虑。选择了w e b 实现技术。简单的说就悬将系统做成一种b s 模式,霹菇迁罱户通过滏菱嚣蹇菝谤| 曩霞予溅务器上豹试瑟苏及鼹系统遂露遴翟 维护。 服务器灞程序的实现技术也很多,本入选用了当前醴:较流行静网络编稔技术 j s p 馋为主要实现手段( 配合j a v as e r v l e t 、j a v a b e a n 、h t m l 等) 。j s p 作 为一种w e b 实现技术,它的效率是很高的。速一点磁好符合了考试系统所要求的 实辩链。j s p 鸯身懿安全挂,再热上实现模式熬特淼,完全能够达到考试的保密 华侨大学硕士学位论史 性要求,傈证了考试的公平性原则。除此之外,作为j a v a 平台的一部分,j s p 拥有j a v a 语言“一次编写,各处运行”的特点“。又随着越来越多的服务器供 应商将j s p 支持添加到他们的产品中,这样一来用j s p 做成的这套系统可以轻松 移植到其它平台来运行。种种优点使得这套系统不但为目前校内的网络教学以至 于今后远程教育的实现都打下了良好的基础。所以j s p 是实现本系统的最佳技 术,它是完全可行的。 华侨大学硕士学位论文 第二章网络考试系统所需的相关技术介绍 2 1 j a v a 技术简介 j a v a 语言是目前为止推广最快的计算机语言,从开始设计到广泛流行不过5 年,j a v a 语言的迅猛发展得益于它与w w w 的成功结合,但是j a v a 语言最初不是针 对1 i r 脚,而是准备用于消费类电子产品,由于s u n 公司未能将这些产品推向市场, j a v a 语言几乎夭折:1 9 9 4 年w w 从字符界面发展到图形界面,s u n 公司的创始人之 - - b i l l yj o y 介2 k , j a v a 开发小组( 6 r e e n j j , 组) ,将j a v a 语言定位到w 啊上,才使j a v a 语言真正焕发了生机,在极短的时间内流行起来“。 j a v a 语言的主要特点有: l 、简单。j a v a 由c + + 衍生而来,基本概念、程序结构和语言风格和c + + 十分类似, 而且抛弃了其中一些不是绝对必要的功能,比如头文件、预处理器、指针等, 并通过垃圾自动收集器简化了内存管理。 j a v a 语言是完全面向对象的程序设计语言,除了数值、布尔和字符三个基本 数据类型外,其它所有类型都是对象,j a v a 的程序代码全部以类的形式组织。 2 、机器无关的字节码编译j a v a 程序经过编译后生成的是与平台无关的字节码 ( c l a s s 文件) ,然后字节码由j a v a 虚拟机解释执行。 3 、结构中立,为了做到不依赖于任何具体的系统,j a v a 语言环境提供了许多用 于访问底层操作系统功能的类组成的包,程序使用这些包,可以保证在所有支持 j a v a 的平台上正确运行。 4 、安全性,内存的分配及布局是在程序运行时由j a v a 虚拟机决定的,并且采用 了字节码验证机制,虚拟机对任何引入的字节码进行验证。 1 j a v a 语寄还有一魑其它优点“,诸如支持语言级多线程、自动内存管理、 出色的镨误憝瑾、分布性、韵态性、格蹲子解释执行丽言j a v a 的执雩亍遂度蔻授快 的,聪且j a v a 语言提供了及时编译,即在执行髓将j a v a 程序编译为本地机器代鹃, 提高了执行速度,但选些机器代码具有平台椭关性,可移植健差。 j a v a 运器系统一般由戳下死令部分缀或:类装配嚣、字节鹤验证器、鳃释器、 代码生成器、运行支持库。j a v a 运行系统执行字节码的过程可以分为三步:代码 华侨大学硕士学位论文 的装入、代码的验证和代码的执行。代码的装入由类装配器完成,它将一个类放 在自己独立的名字空间,除了通过符号引用其它类外,该类不能影响其它类所在 的空问。装入了所有需要的类后,运行系统就可以确定整个可执行程序的内存布 局,然后由字节码验证器对代码进行安全检查,通过安全检查后,字节码可以提 交运行了。运行方式有两种:l 、即时编译方式,将字节码转换为本地机器代码, 然后执行机器代码。2 解释执行,由解释器通过每次翻译并执行- - d , 段代码来完 成j a v a 字节码程序的所有操作“。 2 2j 2 e e 规范介绍 2 2 1j 2 e e 概述 在1 9 9 9 年,s u n 推如了以j a v a 2 平台为核心的j 2 e e 、j 2 s e 和j 2 m e 三大平台。 j 2 m e ( j a v a2 p l a t f o r mm i c r oe d i t i o n ) 是透鼹于小型设备和翅能卡的j 神a2 警台 微型版,j 2 s e ( j a v a2p l a t f o r ms t a n d a r de d i t i o n ) 怒适用予桌面系统的j a v a 2 平套豁准蹶,j 2 e e ( j a v a2p l a t f o r me n t e r p r i s ee d i 2 t i o n ) 熨是逶爰予麓建黢务 器应用程序和服务的j a v a2 平台企业版“。三个版本备有优点。适合不同的用户 使用。我们以下主要讨论一下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 ) 。 在最近鲍中年墨,嚣特霹粒企业缴计算规您经嚣常普及,h t t p 、h t m l 和j a v a 平台早已出现在客户端的基本勇己置上,这直接导致服务器商业逻辑层和电子商务 豹逐邃发震。在辍务耧方瑟,光数夔蔑麓秘连接搂墼,稼i ( c o m m o ng a t e w a y i n t e r f a c e ,公共网关接口) 、n s a p i ( n e t s c a p es e r v e ra p i ) 和i s a p i ( i n t e r n e t s e r v e r a p i ) 之所菇交褥流行,燕因为葜全面蕊巅和跨业系统麓溃。露墓矮近企泣 服务器集成了一系列w 以在感台进行w e b 服务的功能,服务器搬复杂的企业申请 程序抽出来,然后交给中间件服务器来处理。但是如聚这种申请程序越过2 5 个的 话,那么每个鼹序都要骞自己鞠应豹特殊豹舞狭程序,这将会蠢无数个专为这种 程序设计的平台,从而阻碍系统的稳定性,也不能提高正作效率。 s u n 公司缀遘完善鹣舞发捺窭了露技拳。犯e e 一送入袁绥霞受裂麓产豹欢 迎。随着它的不断发展,开发者们已经把它打造得非常完美。如今j 2 e e 作为中间 侔技术史上酶块其裔决定意义的受糕碎,爱受翻鼗弊越来麓广泛的整褪帮 华侨丈学硕士学位论文 纳。它的到来,已经成为企业广泛应用于制定企业架构的必要基础工具之一。j 2 e e 带给企业的价值不仅在于减少成本和解决复杂的多列服务器的发展问题,而且使 得服务器可以迅速处理数据并很容易被升级“。t s v ( 独立软件开发商) 们需要 j 2 e e 是因为其能够在j a v a 平台上给他们提供一个完整的企业计算机解决方案:企 业开发者们需要j 2 e e 是因为要编辑一个分发过的商业应用程序是很困难的,所以 他们需要一个专门针对他们而编写的符合商业逻辑的和可以依赖的大范围企业 级服务的高效解决办法。 其实j 2 e e 是一个标准中间件体系结构,旨在简化和规范多层分布式企业应用 系统的开发和部署。j 2 e e 方案的实施可显著地提高系统的可移植性、安全性、可 伸缩性、负载平衡性和可重用性。而且j 2 e e 是一个可以暂时控制和调整网络交换 的平台,它可以将诸如l e g a c ys y s t e m ( 早期投资系统) ,e r p ( 企业资源规划) 和数 据库等多个不同的信息系统进行无缝集成,然后由企业管理人员通过许多公司的 产品和技术开发出最适合自己公司的解决办法。可以说,j 2 e e 是首个获得业界广 泛认可和采纳的中间件标准。目前几乎所有的一流w e b 应用解决方案,如b e a 的 w e b l o g i c 、i b r 的w e b s p h e r e 、h p 的应用服务器、s u n 的i p l a n e t 和m a c r o m e d i a 的j r u n 等,都是基于j 2 e e 的。迄今为止,还没有哪个标准能获得如此众多的中间件供应商 的一致支持。 j 2 e e 规范定义了一个基于组件的多层企业应用系统开发平台,其应用编程模 型如下图所示3 。 圈1j 2 髓应用袋程攘型 在该模型中,商务逻辑处理被分成三个层次:客户层,中间层和企业信息系统 瑟。客户瑟支持不鬻瓣客户端,毽瑟蒸予溺蘩器静瘦客户端及其它霉户壤:中阗爱 华侨大学硕士学位论文 能够完成企业服务的存取:企业信息系统层负责存储企业内部的关键商务数据。 j 2 e e 模型中,应用服务被分为两部分:一部分是商务及逻辑,由开发人员实现:另 一部分是标准的系统服务由j 2 e e 平台提供。 在j 2 e e 模型中,中间层的商务功能通过e j b 组件实现。中间层使用j s p 实现商 务逻辑处理结果的动态发布,构成动态的h t m l 页面,中间层也可以使用s e r v l e t s 实现更为灵活的一些动态页面。 2 2 2j 2 e e 组件介绍 j 2 e e 定义了四种组件:a p p l e t 组件、a p p l i c a t i o n 客户组件、w e b 组件和 e j b ( e n t e r p r i s ej a v a b e a n s ) 组件。其中a p p l e t 和a p p l i c a t i o n 客户组件在客 户端运行,j 2 e e 通过j a v a 插件为a p p l e t 提供运行环境,a p p l i c a t i o n 客户的容 器就是本地j a v a 虚拟机。w e b 及e j b 组件在服务器端运行。j 2 e e 中包括两种w e b 组件:j s p 和s e r v l e t 。它们是w e b 服务器的功能扩展,都能生成动态的w e b 页 面。不同的是j s p 是将j a v a 代码嵌入到h t m l 中,服务器负责解释执行,生成结 果返回用户( 与a s p 技术相似) 。而s e r v l e t 是单独的j a v a 类,它动态生成h t m l 文件返回给客户。w e b 组件的容器比较典型的就是基于j a v a 的w e b 服务器。e j b 是j 2 e e 平台的核心,也是j 2 e e 得到业界广泛关注和支持的主要原因。我们知道 j 2 e e 的一个主要目的就是简化企业应用系统的开发,使程序员将主要精力放在 商业逻辑的开发上。e j b 正是基于这种思想的服务器端技术,它本身也是一种规 范,该规范定义了个可重用的组件框架来实现分布式的、面向对象的商业逻辑 e j b 的核心思想是将商业逻辑和低层的系统逻辑分开,使开发者只需关心商业逻 辑,而由e j b 容器实现目录服务、事务处理、持久性、安全性等低层系统逻辑。 e j b 规范中定义了三种类型的b e a n :会话b e a n ( s e s s i o nb e a n ) 、实体b e a n ( e n t i t y b e a n ) 和消息驱动b e a n ( m e s s a g e - - d r i v e nb e a n ) 。 2 3j s p 技术篱弁 j s p ( j a v as e r v e rp a g e s ) 楚由s u nm i c r o s y s t e m 公霹子1 9 9 9 年6 胃撵窭瓣 新技术,是基予j a v as e r v l e t 以及整个j a v a 体系的w e b 开发技术,是s e r v l e t 2 1 a p t 的扩展利用这一拽术可以建立先进、安全和跨乎台的动态鼯站j s p 鼙前采 华侨大学硕士学位论文 用1 2 标准,可支持涮l 标准 j s p 的结构与a s p 非常相似,实际上j s p 参考借鉴了a s p 的许多重要思想和 有价值的东西不过a s p 一般只应用于w i n d o w s 平台,而j s p 得利于j a v a 的跨平 台性,并受到各方人力支持,因此可以在大多数w e bs e r v e r 上运行,其中包括 w i n d o w sn t 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 为企业级应用建立 的高水准的框架结构,获得了各大开发平台提供商的积极支持,并已成为企业应 用对开发的主流产品j s p 技术是个在j 2 e e 平台上的关键件组件 1 、运行环境 执行j s p 代码需要在服务器上安装j s p 弓l 擎。我们可以使用t o m c a t ,j r u n , w e b l o g i c 等应用服务器。应用服务器默认在端n 8 0 8 0 监听,使用 h t t p :l o c a l h o s t :8 0 8 0 目p 可打开缺省页面。 2 j s p 的运行过程 用户通过浏览器请求一们s p 页匿时,应用服务器取得请求后,将h t t p 请求封 装r e q u e s t 对象,你可以在j s p 页面上通过r e q u e s t 对象取得h t t p 请求的所有数据,比 如请求者的i p 地址等。如果是第一次请求该页面,则应用服务器会生成j s p 页面对 应的j a v a 文件,然后将之编译为c l a s s ,j a v a ) 虚拟机调用c l a s s 将输出返回给浏览器。 3 j s p 技术特点 在开发j s p 筑蘸熬过獠串,s u n 公司与诲诲多多主要鹃w e b 服务器、痰期驻 务器和开发工具供应商,以及各种备样富有经验的开发团体进行合作,其结果是 我n t 一晕牵为应丽釉页蠢开发久员平衡了w 移植穗辩易丽髓酶开发方法j s p 接 术在多个方向加速了动态w e b 页面的开发 将内容的生成和显永进行分离 往翅j s p 技本,w e b 更嚣开发人员可以镬照h t m l 或者x m l 标识来设计酾搀 式化最终页面使用j s p 标识或者小脚本来生成页筒上的动态内容( 内容悬根据 请求来交纯豹) 垒裁蠹容戆逻辑教瓣装在棒耄凳释j a v a b e a n s 缢静枣,劳羹籀绑 在小脚本中,所有的脚本在服务器端运行如果核心逻辑被封装在标识和 j a v a b e a n s 中,那么其他入,如w e b 管理入爨和页面设计者,自够编辑和使熙j s p 页颟,而不影响内容的生成在服务器端,j s p 弓i 擎解释j s p 标识和小脚本。生 华侨大学硕士学位论文 成所请求的内容( 例如,通过访问j a v a b e a n s 组件,使用j d b c 技术访问数据库, 或者包含文件) ,并且将结果以h t m l ( 或者x m l ) 页面的形式发送回浏览器这有 助于作者保护自己的代码,而又保证任何基于h t m l 的w e b 浏览器的完全可用性 强调可重用的组件 绝大多数j s p 页面依赖于可重用的,跨平台的j a v a b e a n s 组件或者 e n t e r p r i s ej a v a b e a n s t m 组件来执行应用程序所要求的更为复杂的处理开发人 员能够共享、交换、执行普通操作的组件,或者使得这些组件为更多的使用者或 者客户团体所使用基于组件的方法加速了总体开发过程,并且使得各种组织在 他们现有的技能和优化结果的开发努力中得到平衡j a v a s e r v e rp a g e 技术封装 了许多功能,这些功能是在易用的、与j s p 相关的h t m l 或x m l 标识中进行动态 内容生成所需要的标准的j s p 标识能够访问和实例化j a v a b e a n s 组件,设置或 者检索组件属性,下载a p p l e t ,以及执行用其他方法更难于编码的功能j s p 页面看上去象标准的h t m l 和x m l 页面,并附带有j s p 引擎能够处理和抽取的额 外元件通常,j s p 元件创建插入最终页面的文本 j s p 技术也是可以扩展的今后,第三方开发人员和其他人员可以为常用功能 创建自己的标识库这使得w e b 页面开发人员能够使用熟悉的工具和执行特定功 能的构件来工作j s p 技术很容易整合到各种应用体系结构中,利用现存的工具和 技巧扩展到能够支持企业级的分布式应用作为采用j a v a 技术家族的一部分,以 及j a v a2 ( 企业版体系结构) 的一个组成部分,j s p 技术能够支持高度复杂的基 于w e b 的应用。 由于j s p 页面的内置脚本语言是基于j a v a 编程语言的,而且所有的j s p 页 面都被编译成为j a v as e r v l e t ,j s p 页厩就具有j a v a 技术的所有好处,包括健 壮的存储管理和安全性作为j a v a 平台的一部分,j s p 拥有j a v a 编程语言“一 次编写,各处运行”的特点。 随着越来越多的供应商将j s p 支持添加到他们的产品中,您可以使用自己所 选择的服务器和工具,更改服务器或工具并不影响当前的应用。当与j a v a 2 平台, 企业版( j 2 e e ) 和e n t e r p r i s e j a v a b e a n 技术整合时,j s p 页面将提供企业级的 扩展性和性能,这对于在虚拟企业中部署基于w e b 的应用是必需的。 4 、j s p 与其它技术 华侨大学顾士学位论文 j a v a b e a n 在j s p 中的应用 j a v a b e a n 是一种基本j a v a 的软件组件j s p 对于在w e b 应用中集成 j a v a b e a n 组件提供了完善的支持这种支持不仅能缩短开发时间( 可以直接利用 经测试和可信任的已有组件,避免了重复开发) ,也为j s p 应用带来了更多的可 伸缩性j a v a b e a n 组件可以用来执行复杂的计算任务,或负责与数据库的交互以 及数据提取等如果我们有三个j a v a b e a n ,它们分别具有显示新闻、股票价格、 天气情况的功能,则创建包含所有这三种功能的w e b 页只需要实例化这三个 b e a n ,即只需将它们依次定位就对以了 在j s p 中访问数据库 数据库链接对动态网站来说是最为重要的部分,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 d b c 驱动程 序,j a v a 程序就通过j d b c 驱动程序与数据库相连,执行查询、提取数据等操 作s u n 公司还开发了j d b c - - o d b cb r i d g e ,用此技术j a v a 程序就可以访问带有 o d b c 驱动程序的数据库,目前大多数数据库系统都带有o d b c 驱动程序,所以j a v a 程序能访问诸如o r a c l e 、s y b a s e 、m ss q ls e r v e r 和m sa c c e s s 等数据库 j s p 和j a v a s c r i p t j a v a s c r i p t 能够农客户端动态地生成h t m l 虽然j a v a s c r i p t 很鸯鼹,但它 只能处理以客户端环境为基础的动态信息除了c o o k i e 之外,h t t p 状态和表单 提交数握对j a v a s c r i p t 来说帮是不霹弱豹。舅势,交手楚在客户壤运行, j a v a s c r i p t 不能访问服务器端资源,比如数据库、目泶信息等 j s p 暑珏s e r v l e t 类似于a s p 的镶嵌型的j s p ,把j s pt a g 镶嵌到h t m l 语句中,这样,就大 大简亿和方便了两页的设计和修改新篷的鼹络语言如a s p ,h i p 。j s p 都是这种 镶嵌型熬s c r i p t 语言+ 从网络三朦结构的角度看,个网络项目最少分三层:d a t al a y e r ( 数据层) 、 b u s i n e s sl a y e r ( 逻辍篡) 、p r e s e n t a t i o nl a y e r ( 袭累瀑) 耀s e r v t e t 塞笃 b u s i n e s sl a y e r ( 逻辑层) 是很强大的,但是对于写p r e s e n t a t i o nl a y e r ( 袭 示层) 就疆不方便。j s p 粥主要蹩秀了) 亨便写p r e s e n t a t i o ni a y e r ( 表示层) 褥 设计的,当然也可以霹b u s i n e s sl a y e r ( 逻辑层) 以前的网络程序员,经常会 华侨大学硕士学位论文 不自觉地把p r e s e n t a t i o nl a y e r ( 表示层) 和b u s i n e s sl a y e r ( 逻辑层) 混在 一起这种做法并不好,同样把数据库处理信息放到j s p 中实际上是不合适的, 它应该放在b u s i n e s sl a y e r ( 逻辑层) 中根据s u n 自己的推荐,j s p 中应该仅 仅存放与p r e s e n t a t i o nl a y e r ( 表示层) 有关的内容,也就是说,只放输出h t m l 网页的部份而所有的数据计算、数据分析、数据库联结处理,统统是属于 b u s i n e s sl a y e r ( 逻辑层) ,应该放在j a v a b e a n 中我们可以通过j s p 调用j a v a b e a n s ,实现这两层的整合 实际上,微软前不久推出的d n a 技术,简单说,就是a s p + c o w d c o m 技术 与j s p + b e a n 完全类似,所有的p r e s e n t a t i o nl a y e r 由a s p 完成,所有的 b u s i n e s sl a y e r 由c o m d c 嗍完成 之所以要采用组件技术是因为单纯的a s p j s p 语言执行效率的非常低,如果 出现大量用户点击,纯s c r i p t 语言很快就到达了它的功能上限,而组件技术就 能大幅度提高功能上限,加快执行速度另外一方面,纯s c r i p t 语言将 p r e s e n t a t i o nl a y e r 和b u s i n e s sl a y e r 混在一起,造成修改不方便,并且代码 不能重复利用如果想修改一个地方,经常会牵涉到十几页代码,采用组件技术 只需修改组件就可以了所以,s e r v l e t 是一个早期的不完善的产品,写 b u s i n e s sl a y e r 很好,写p r e s e n t a t i o nl a y e r 就差,并且两层混杂,所以,s u n 公司推出j s p + b a e n ,用j s p 写p r e s e n t a t i o nl a y e r ,用b e a n 写b u s i n e s s l a y e r 。s u n 自己的意思也是将来用j s p 替代s e r v l e t 。其实s e r v l e t 在处理服务 器方面的表现还是非常优秀的,我们可以将j s p 看作一种s e r v l e t 的高级抽象, 它以s e r v l e t 2 1a p i 扩展的形式来实现。 可以看到,当a s p + c o m 和j s p + b 黻n 都采用组件投术蜃,所有的缀件都足 先进行编译,并驻留内存,然焉快速执行。 j s p 秘a s p 尽管j a v a s e v e rp a g e s 技术和微软的a c t i v es e v e rp a g e s 拄许多方面都有 稽戗的,毽仍然存在很多不同之处,箕审簸本蒺上酶区麓在于:嚣者是泉源予不 周的技术规范组织,其实现的蒸础w e b 艘务器平台要求也不相同。 a s p 以源码形式存放,以解释方式遥行,每次a s p 随页调用都需要辩源码送 行辫器,运行效率不毫另外,i t s 蛇漏溺曾经缆褥许多网站源程序大曝光。j s p 华侨大学硕士学位论立 在执行以前先被编译成字节码( b y t ec o d e ) ,字节码由j a v a 虚拟机( j a v a v i r t u a l m a c h i n e ) 解释执行,比源码解释的效率高;服务器上还有字节码的c a c h e 机制, 能提高字节码的访问效率第一次调用j s p 网页可能稍慢,因为它被编译成 c a c h e ,以后就快得多了同时,j s p 源程序不大可能被下载,特别是j a v a b e a n 程序可以完全放到不对外的目录中。 a s p 通过c o b 来扩充复杂的功能,如文件下载、发送e 一a 儿以及将业务处 理或者复杂计算分离出来成为独立可重复利用的模块j s p 通过j a v a b e a n 实现了 同样豹功能扩充在开发方面,c o m 的开发远比j a v a b e a n 复杂和繁琐,学会a s p 不难,但学会开发c o m 可不简单,而j a v a b e a n 就简单多了。 在维护方面,c o m 必须在服务器上注册,如果修改了c o m 程序,就必须重新 注册,甚至必须关机和重新启动j a v a b e a n 则不需要注册,放在c l a s s p a t h 包含 的目录中就行了如果j a v a b e a n 进行了修改,则j s w d k 和t o m c a t 现在还需要关 闭和重新运行( 但不是关机) ,但开发者已经许诺将在以后的版本中做到不需要 关闭服务器另外j a v a b e a n 是完全的o o p ,可以针对不同的业务处理功能方便地 建立一整套可重复利用的对象库;例如用户权限控制、e l l l a i l 自动回复等等 a s p 爵前仅适用于n t 和i t s 鬣然u n i x 下有c h i l i s o f t 的插件来支持a s p , 但楚a s p 本身的功能有限,必须通过a s p + c o m 豹缀合来扩充,u n i x 下静c o m 实 现越来非常困难j s p 则不同,几乎所有平台都支持j a v a ,j s p + j a v a b e a n 可以 在掰有平螽下逶行笼辍。逶避狐下貔一令i i s 援终,锲絮j r u n 或者s e r v l e t e x e c , 就能支持j s p 著名的w e b 服务器a p a c h e 酩经能够支持j s p 由于a p a c h e 广泛应 丽奁疆、溱i x 稻l i n u x 主,嚣j 嚣:j s p 有燹广泛酶逡行平台。 从一个平台移植到另外一个平静,j s p 翻j a v a b e a n 甚至不用重新编译,因为 j a v a 字节礤都是标礁的与平台无关的j s p 技术就是被设计掰来满思这样的簧求 的j s p 规范是w e b 暇务器、波魇服务器、交匿系统、以及开发工具供应商间广泛 合作的结果j a v a 感未来的童流开发技术,具有很多优势j s p 则是j a v a 在 i n t e r n e t i n t r a n e t 上豹蘩簧应曩披零,褥到了各大公霉豹支持,囊霹班鞠各静 j a v a 技术究好地结龠在一起,从而嶷现非鬻复杂的戏用。a s p 也有很强的生命力, 僵窀酶生余力依酣= = w i n d o w s 未来酶生命力j s 隧瘸子各种平台,惫括瓣祓设一 个站点是基于l i n u x u n i x 或者s o l a r i s 、a i x 等,那么j s p 总是首选的页面谣言 华侨大学硕士学位论文 2 4 开发环境 2 4 1j s p 开发工具 系统选用b o r l a n d 公司的j b u il d e r 作为开发工具 j b u i i d e r 软件的目标定位是代码开发人员而不是高级设计人员,所以 j b u i l d e r 中包含了大量的向导程序和其他针对中间层的快速开发工具。 j b u i i d e r 性能稳定、使用方便,特别适用于创建j a v a 组件。此外该软件还提供 了很多j s p 功能。 j b u i l d e r 本身通过内置的j a v a 和s w i n g ( j a v a 的g u i 程序框架) 技术支持 跨平台的软件开发:它可以运行在w i n d o w s 、l i n u x 和s o l a r i s 操作系统之上, 操作界面和工具完全一致“。 j b u i i d e r 的i d e 设计非常富于效率性和功能性。我们可以武同一开发环境 下缮方便逸查看j a v a 、h t m l 翻j s p 文舞、建立s u n 推出静薪羹j d ki 。3h o t s p o t 虚拟机( 这种新型虚拟机优化了j a v a 代碣) 。j b u i l d e r 具有了棚当出色的响应 界面,具甯方便的自动补充功能( a u t o c o m p l e t i o nw i z a r d r y ) ,该功能不仅支 持即对帮助还支持键入j a v a 代码豹参数嶷动填充。 j b u ii d e re n t e r p r i s e 版更提供了对e n t e r p r i s ej a v a - b e a n 组件开发的支 持。在j b u i l d e r 枣,可以受容易麴袋建、懿要垒娩缓j a v a b e o x x 。提供了一系到 的向导来进行创建。处理,配置企业j a v a b e a n 的流程“。 j b u i d e r 的个
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025高级家政员以及法律顾问聘用合同3篇
- 公司不续签劳动合同3篇
- 新解读《GB-T 31059-2014裱花蛋糕》
- 户外大型广告位租用合同书3篇
- 橱柜衣柜定制合同范本
- 现场保安监理合同7篇
- 封闭超市转让合同范本
- 平台系统租赁合同范本
- pvc板施工合同范本
- 群众工作心得体会甄选集
- 重庆市南开中学高2026届高三第一次质量检测+化学答案
- 加油、加气、充电综合站项目可行性研究报告
- 2025保密协议范本:物流行业货物信息保密
- 塔机拆卸合同范本
- 2024-2025学年广东省深圳市南山区四年级(下)期末数学试卷
- 《煤矿安全规程(2025版)》知识培训
- 2025秋数学(新)人教五年级(上)第1课时 小数乘整数
- 半导体行业面试问题及答案解析
- 《数字技术应用基础模块》技工中职全套教学课件
- 红河州公开遴选公务员试题及答案
- 2024年全国工会财务知识大赛备赛试题库500(含答案)
评论
0/150
提交评论