(电路与系统专业论文)基于J2EE技术的考试系统的实现[电路与系统专业优秀论文].pdf_第1页
(电路与系统专业论文)基于J2EE技术的考试系统的实现[电路与系统专业优秀论文].pdf_第2页
(电路与系统专业论文)基于J2EE技术的考试系统的实现[电路与系统专业优秀论文].pdf_第3页
(电路与系统专业论文)基于J2EE技术的考试系统的实现[电路与系统专业优秀论文].pdf_第4页
(电路与系统专业论文)基于J2EE技术的考试系统的实现[电路与系统专业优秀论文].pdf_第5页
已阅读5页,还剩51页未读 继续免费阅读

(电路与系统专业论文)基于J2EE技术的考试系统的实现[电路与系统专业优秀论文].pdf.pdf 免费下载

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

文档简介

中文摘要 摘要 随着现代通信技术和网络技术的发展,基于b s 架构的信息平台在各个领域 都出现了很大的需求空间。而w e b 应用技术的出现,更促进了信息平台深入地渗 透到社会各个方面中去。网络考试系统就是应需而生的一种新型的教育模式。它 广泛采用虚拟的技术来改革传统的考试方式,能让教师通过网络对整个考试过程 进行管理和监控;让学生能通过网络“个别地”、“自主地”接受教师的辅导, 完成学习。 j 2 e e 技术是一个基于组件技术的企业应用系统开发规范,它定义了一个多层 企业信息系统的标准平台。j 2 e e 所定义的开放式多层体系结构,很适合架构网络 考试系统。它能使得系统具有很强的伸缩性、通用性、兼容性和可操作性。本系 统采用b s 模式,客户端只需要浏览器就可以实现网络教学与考核,操作起来方 便简洁。 本文详细介绍了如何采用j s p 、s e r v l e t 、j a v a b e a n 等技术构建网络考试系统。 实现了题库管理、试卷的自动生成、考生信息管理、考试的时间控制、考试结果 的公布与查询等功能。在系统的设计过程中对网页间跳转的安全性、后台数据库 接口、考试时间的限定、通过s e r v l e t 实现表示层与业务逻辑层的分离、使用 j a v a b e a n 封装页面中的表现逻辑和业务逻辑、m v c 模式在系统中的实现、后台数 据库的设计等问题提出了解决方案。 关键词:n v c ;网络考试;j a v a b e a n ;s e r v l e t ;j s p 英文摘要 i m p l e m e mo f e x a m i n a t i o ns y s t e m b a s e do nj 2 e e a b s t r a c t w i t ht h ed e v e l o p m e n to fm o d e mc o m m u n i c a t i o nt e c h n o l o g ya n dn e t w o r k t e c h n o l o g y , t h ei n f o r m a t i o ns y s t e mb a s eo nb sa r c h i t e c t u r ee m b o d i e sv e r yl a r g e d e m a n ds p a c ei ne a c hf i e l d t h ea p p e a r a n c eo fw e ba p p l i c a t i o nt e c h n o l o g yp r o m o t e s i n f o r m a t i o ns y s t e mp e r m e a t i n gt h r o u g hs o c i e t yt ot h ea l l a s p e c t sd e e p l y w e b e x a m i n a t i o ns y s t e mi san e wk i n do fe d u c a t i o n a lm o d e lw i t ht h ee m e r g e n c ea st h e d e m a n dr e q u i r e s i tw i d e l ya d o p t sv i r t u a lt e c h n o l o g yt oi n n o v a t et r a d i t i o n a le x a m i n i n g i n s t r u c t i o n s a n di ta l s oc a nl e tt h et e a c h e rm a n a g ea n ds u p e r v i s et h ew h o l ee x a m i n i n g p r o c e s st h r o u g hn e t w o r k , m e a n t i m el e t t h es t u d e n tr e c e i v et e a c h e r s c o a c h i n g i n d i v i d u a l l ya n dv o l u n t a r i l y , i nt h ee n d f i n i s ht h es t u d y j 2 e ei sad e v e l o p m e n t a lc r i t e r i o no fe n t e r p r i s ea p p l i c a t i o ns y s t e mb a s e do n c o m p o n e n tt e c h n o l o g y , a n dt h i sc r i t e r i o nd e f i n e sas t a n d a r dp l a t f o r mo ft h em u l t i - t i e r e n t e r p r i s ei n f o r m a t i o ns y s t e m j 2 e et h a td e f m e sa no p e nm u l t i - t i e rs t r u c t u r ei sg r e a t l y f i t t i n gt oc o n s t r u c tt h ew e be x a m i n i n gs y s t e m , s ot h es t r u c t u r ee n a b l e st h es y s t e mt o h a v ed i s t i n g u i s h e dq u a l i t yo ff l e x i b i l i t y , u n i v e r s a l i t y , c o m p a t i b i l i t y , m a n e u v e r a b i l i t y b e c a u s et h i ss y s t e ma d o p t sb sp a t t e r n , c l i e n t so n l yn e e db r o w s e rt or e a l i z ew e b t e a c h i n ga n de x a m i n e s ot h eo p e r a t i o ni sn l a d ee a s i l y t h i st h e s i si n t r o d u c e sh o wt om a k eu s eo fa d v a n c e dt e c h n o l o g i e ss u c ha sj s p , s e r v l e ta n dj a v a b e a nt oc o n s t r u c tw e b e x a m i n i n gs y s t e mi nd e t a i l s t h es y s t e mr e a l i z e t h ef u n c t i o ni n c l u d i n gt h ee x a l np o o lm a n a g i n g ,t h ea u t o m a t i c a l l yp r o d u c ei np a p e r , t h e e x a m i n e e 。si n f o r m a t i o nm a n a g e m e n t s ,t h ee x a m i n a t i o nt i m ec o n t r o l ,t h ea n n o u n c g l n e l l t s a n dt h ei n q u i r yo fr e s u l t so fe x a m i n a t i o n i nt h et h e s i s ,m a n yp r o b l e m ss u c ha st h e s e c u r i t yo fw e bp a g e s 订a n s f e r , t h eb a c k s t a g ed a t a b a s ei n t e r f a c e ,t h el i m i t i n go fe x a m t i m e , s e p a r a t i n gs h o wl a y e rf r o mb u s i n e s sl o g i cl a y e rt h r o u g hs e r v l e t , e n c a p s u l a t i n gt h e s h o wl o g i ca n db u s i n e s sl o g i ci np a g e sw i t hj a v a b e a n ,r e a l i z i n gt h em v cm o d e li nt h i s s y s t e ma n dt h ed e s i g no f d a t a b a s eb a c k s t a g ea r es o l v e d k e yw o r d s :m v c ;w e be x a m m i n g ;j a v a b e a n ) s e r v l e t ) j s p 大连海事大学学位论文原创性声明和使用授权说明 原创性声明 本人郑重声明:本论文是在导师的指导下,独立进行研究工作所取得的成果, 撰写成硕士学位论文:基王1 2 量g 挂盔的耋达丕统曲塞现:除论文中已经注明 引用的内容外,对论文的研究做出重要贡献的个人和集体,均已在文中以明确方 式标明。本论文中不包含任何未加明确注明的其他个人或集体已经公开发表或未 公开发表的成果。 本声明的法律责任由本人承担。 论文作者签名:齐崧缎2 唧年弓月矸日 学位论文版权使用授权书 本学位论文作者及指导教师完全了解“大连海事大学研究生学位论文提交、 版权使用管理办法”,同意大连海事大学保留并向国家有关部门或机构送交学位 论文的复印件和电子版,允许论文被查阅和借阅。本人授权大连海事大学可以将 本学位论文的全部或部分内容编入有关数据库进行检索,也可采用影印、缩印或 扫描等复制手段保存和汇编学位论文。 保密口,在年解密后适用本授权书。 本学位论文属于;保密口 不保密彳( 请在以上方框内打“”) 论文作者签名:备:豁笛导师签名: 日期:z 茹7 年弓月2 千日 天 一 、彳一7 基于j 2 髓技术的考试系统的实现 第1 章绪论 1 1 项目背景和意义 2 1 世纪人类将全面进入信息化时代,信息时代对人才培养提出了全新的要求, 即培养德智体全面发展的、具有高度创新能力和很强信息能力的新型人才。新技 术的广泛应用使得传统教育结构不断发生改变,不再强调通过直接给学生灌输大 量的知识来确保有较高的教学质量与教学效率,而是侧重于使学生学会学习的方 法,使之具有自我获取知识与更新知识的能力,以便与“知识爆炸”和知识迅速 更新换代的发展趋势相适应。 网络教学为学生的学习创建了广阔自由的环境,提供了丰富的资源,拓延了 教学时空的维度,使现有的教学内容、教学手段和教学方法遇到了前所未有的挑 战。从广义上讲,网络教学是指在过程中运用了网络技术的教学活动。从狭义上 讲,网络教学是指将网络技术作为构成新型学习环境的有机因素,充分体现学习 者的主体地位,以探究式学习作为主要学习方式的教学活动。 网络考试是网络教学系统中的重要环节。网络考试系统应该是一个基于网络 数据库和i n t e r a c t 处理的实时处理系统;可以产生随机的和公平的试卷,为考生提 供实时的通信,以保证考生的成绩准确无误;能够对考试的结果进行处理和分析, 为教师提供参考意见。 它具有如下鲜明的特点: 1 方便考生考试,无地域差异,考生可以选择就近的学校参加考试,而且在 同一考场可以进行不同种类的考试。 2 考试的高透明度,考生考完试后,可以上网得到考试成绩和分析报告,提 高透明度。 3 及时更新考题,题库是随着时间的变化不断更新的。因此,每门考试的考 试时间、考试形式都会做出相应的调整。通过计算机网络和软件,可以随时将更 新的考题反映到各个考试中,学生可以学到最新学到的知识。 4 全保密性,通过使用计算机加密手段和对题库进行的科学管理,保证每一 第1 章绪论 位考生在同一考场的试题是不相同的。在考试结束时,屏幕上的考题自动消失, 只剩下考生的成绩,提高了考试的保密性。 综上所述,网络考试系统促进了教育的远程化、现代化和标准化。具有降低 考试成本,解决繁重的考务工作的优点。大大解决了随着考试类型的不断增加及 考试要求的不断提高,教师的工作量会越来越大的难题。所以人们迫切需要利用 这些技术来进行在线考试,以减轻教师的工作负担及提高工作效率,与此同时也 提高了考试的质量,从而使考试更趋于公证、更趋于客观,更加激发学生的学习 兴趣。 1 2 相关技术和解决方案1 】 由于网络教学系统和网络考试系统对教育远程化、现代化、国际化有巨大的 推动作用,目前实现网络教学平台和网络考试系统的软件或产品相当多。根据应 用的技术和系统架构方式,主要有如下几类:m i c r o s o f t 公司提出的n e t 体系结构 和s u n 公司提出的j 2 e e 体系结构。这两种技术都是多层结构的具体实现。 1 2 1d 2 e e 体系结构的介绍 j 2 e e 技术的基础就是核心j a v a 平台或j a v a2 平台的标准版,j 2 e e 不仅巩固 了标准版中的许多优点,例如“编写一次、随处运行”的特性、方便存取数据库 的j d b ca p i ,c o r b a 技术以及能够在i n t e m e t 应用中保护数据的安全模式等等, 同时还提供了对e j b ( e n t e r p r i s ej a v a b e a n s ) ,j a v as e r v i aa p i ,j s p ( j a v as e r v e r p a g e s ) 以及x m l 技术的全面支持。其最终目的就是成为一个能够使企业开发者大 幅缩短投放市场时间的体系结构。 同时j 2 e e 平台提供了一个多层结构的分布式应用程序模型,该模型具有重用 组件的能力、基于扩展标记语言的数据交换、统一的安全模式和灵活的事务控制; 使开发者不仅可以比以前更快地发表对市场新的解决方案,而且其独立于平台、 基于组件的j 2 e e 解决方案不再受任何提供商的产品和应用程序编程界面的限制, 提供商和买主都可以选择最合适于其商业应用和所需技术的产品和组件。 对商业层以上执行商业处理和数据资料处理,在j 2 e e 应用程序中,大多数是 用e n t e r p r i s ej a v a b e a n s j b ) c o m p o n e n t s 来建立的。这一层完成商业处理和数据处 基于j 2 e e 技术的考试系统的实现 理,通过j a v ad a t a b a s ec o n n e c t i v i t y 或使用j a v ac o n n e c t o ra r c h i t e c t u r e 的现有系 统来实现数据库的连接。w e b 浏览器和无线设备与j s p 连接,使用户不必在乎它 们与h t m l 、x h t m l 之间的接口。 1 2 2 n e t 体系结构的介绍 n e t 大量的改写了m i c r o s o f t 早期开发平台的底层代码和组件,其中包括了 许多现在正广范用到的技术,也包括m t s 和c o m + ,消息队列,和m i c r o s o f ts q l s e r v e r 数据库。极大扩展了原来w i n d o w s 平台下的应用。是m i c r o s o f t 近年来在技 术上的最重要的生机。实际上,也是在j a v a 及其j 2 e e 打破了m i c r o s o f t 的垄断地 位,促使m i c r o s o f t 从中吸取经验教训以及这些技术的优点所作的一次努力,一次 巨大的变革。 n e t 应用程序是运行在一个大型的程序包上。由其提供大量的服务,例如事 务处理、安全保护和消息传输服务。在商业层上用n e t 的管理组件来建立n e t 应用程序。在这一层上,完成的是商业处理和数据整理。它通过a d o n e t 来连接 数据,也可通过s o a p 、u d d i 、w s d l 来连接商业伙伴。无线设备通过h t m l 、 x h t m l 与a s r n e t 实现联接,高级用户界面则是由w i n d o w s 的窗体建立。 表1 1j s p 与a s p 的详细比较 t a b 1 1d e t a i l e dc o m p a r eb e t w e e nj s pa n da s p 特征 j 2 e en e t 平台无关性与平台无关w i n d o w s 系列操作系统 编程语言 j a v ac # n e 汀 解释器j l 也 c u t 动态w e b 页面 j s pa s p n e t 中间层组件e j b n e tm a n a g e m e n tc o m p o n e n t 数据库连接 j d b ca d o j t e t 中间件功能( 负载 均衡、连接池等)有有 w e b g a i nv i s u a l c a f e 开发工具j b u i l d a r 等 s u a l s t u d i on e t 第1 章绪论 1 2 3 两种体系结构的比较 1 2 e e 和n e t 的基本思想是一致的,都将建立交互式页面作为基于w e b 的应 用程序的一部分,都能通过在页面中调用组件达到分离程序设计逻辑和页面的目 的。但是实现和应用又有各自的特点,如表1 1 所示。 1 3 论文主要内容 本文完成了网络考试系统的开发工作,包括系统需求分析、系统框架设计、 系统模块的实现和测试、并对系统涉及的主要技术进行了相应的分析。本文的具 体结构安排如下: 第一章介绍了项目背景意义和相关技术的解决方案。 第二章介绍了网络考试系统关键技术j 2 e e 体系结构。 第三章详述了网络考试系统的页面设计。 第四章分析了考试系统的总体结构和开发流程。 第五章具体介绍了网络考试系统的设计和实现。 基于j 2 既技术的考试系统的实现 第2 章j 2 e e 体系结构设计 目前大多数企业采用j 2 e e 技术的结构设计与解决方案。j 2 e e 平台由一整套 服务( s e r v i c e s ) 、应用程序接n ( a p i ) 和协议构成,它对开发基于w e b 的多层应用提 供了功能支持。 2 1j 2 e e 框架2 ,3 】 当今许多企业都需要扩展他们的业务范围,降低自身经营成本,缩短他们和 客户之间的响应时间,这就需要存在一种简捷、快速的服务应用于企业、合作伙 伴和雇员之间。 2 1 1 概述 最初这些服务是由两层应用( 也称为客户r e 务器或c s 结构) 来实现的。这种 模式容易配置,但难予升级或扩展,而且通常基于私有的协议。更重要的是,在 w e b 时代,这种应用通常不能体现出很好的伸缩性,因而很难适应i n t e r a c t 的要求。 为了解决两层体系的不足,中间层开始出现在客户端和后端数据库之间,这 些中间层提供了把商业功能和数据库相结合的功能;它们把客户端从复杂的业务 逻辑中分离出来,利用成熟的互联网技术使用户在管理上所花费的时间最小,逐 渐形成了三层结构模型。j 2 e e 技术正是降低了这种中间层服务的成本和复杂程度, 因而使得服务可以被快速的开展,并能够更轻松地面对竞争中的压力。 2 ,1 。2j 2 e e 分布式模型 j 2 e e 平台使用了一个多层的分布式应用程序模型。应用程序的逻辑根据其实 现的不同功能被封装到不同的组件中,组成j 2 e e 应用程序的大量应用程序组件根 据其所属的层被安装到不同的机器中。j 2 e e 典型的结构如图2 1 所示。 它包括六个层:表示、应用、服务、域、连通性和持续化。这些层在物理上 横跨客户机和服务器,而在逻辑上被划分为客户应用容器、w e b 容器、f a b 容器 和数据库四部分。 1 表示层被划分成两个部分。客户端层:管理与用户的输入输出交互作用。 提供h t m l 表示应用数据。还支持a p p l e t 等其他类型的客户。服务器端层:服务 第2 章j 2 既体系结构设计 器端表达层包括j s p ,用来产生动态的w e b 内容。 图2 1j 2 e e 体系结构 f i g 2 1t h es y s t e ms t r u c t u r eo f j 2 e e 2 应用层:介于客户端表达层和服务层之间,根据用户请求来调用服务。包 括从用户接口收集数据、解释数据并且发回数据,为表示层保持会话的状态,处 理在服务激活期间发生的例外情况并在需要时提交给用户。s c r v l c = t 对h t i p 会话 的会话管理负责。 3 服务层:为商业逻辑所要求的操作提供应用程序接口。客户通过请求服务 与应用的域模型交互,但是他们接触不到实际的域对象。服务层由如下组成部分 形成:简单b e a n 、会话( s e s s i o n ) b e a n 、事务相关的组成部分,用来满足银行、零 售、金融等特殊商务领域的需要。 4 域层:是从应用的问题领域中抽象出来的模型。商业规则和语法被嵌入在 域层中的域对象中。它负责加强商业规则和过程,而且新信息的语义检查也在域 层中进行。域层由实体b e a n 组成。当客户端程序执行完后,会话b e a n 和相关数 据就会消失。相反,实体b e a n 表示数据库的表中一行永久的记录。当客户端程序 基于j 2 匝技术的考试系统的实现 中止或服务器关闭时,就会有潜在的服务保证实体b e a n 的数据得以保存。 5 连通性层:提供了域对象与后台系统之间的连接,是对后台服务器的抽象。 因此,应用域模型能够重用,连接到不论是大型主机。或者是o r a c l e 上。该层由 j d b c 、j n d i 和j a v a 连接器体系组成。 6 持续化层;提供了一种机制,能永久性地存储对象的状态。持续化层可以 是企业现存的管理系统,也可以是数据库,或者是已经存储了数据的大型主机。 2 1 3j 2 e e 的特点 4 1 j 2 e e 为搭建具有可伸缩性、灵活性、易维护性的商务系统提供了良好的机制。 它主要有以下五方面优点: 1 保留现存的1 1 r 资产 由于基于j 2 e e 平台的产品几乎能够在任何操作系统和硬件配置上运行,。因此 j 2 e e 架构可以充分利用用户原有的投资,保留现有的操作系统和硬件。 2 高效的开发 j 2 e e 允许公司把那些通用的、很繁琐的服务端任务交给中间件供应商去完成。 这样开发人员可以集中精力在如何创建商业逻辑上,相应地缩短了开发时间。 3 支持异构环境 j 2 e e 能够开发部署在异构环境中的可移植程序。基于j 2 e e 的应用程序不依 赖任何特定操作系统、中间件和硬件,因此,设计合理的基于j 2 e e 的程序只需开 发一次就可部署到各种平台。这在典型的异构企业计算环境中是十分关键的。 4 可伸缩性 企业必须要选择一种服务器端平台,这种平台应能提供极佳的可伸缩性去满 足那些在他们系统上进行商业运作的大批新客户。基于j 2 e e 平台的应用程序可以 被部署到各种操作系统上运行,所以现有的操作系统和硬件也能被保留使用。 5 稳定的可用性 因为i n t c m e t 是全球化的,若是意外停机,会有灾难性后果。所以一个服务器 端平台必须能全天候运转以满足公司客户、合作伙伴的需要。j 2 e e 可以部署到可 靠的操作环境中,支持长期的可用性。这是实时性很强商业系统最理想的选择。 第2 章j 2 e e 体系结构设计 2 2m v c 模式与应用【5 1 模型一视图一控制( m o d e l v i e w - c o n t r o l ,简称m v c ) 结构是日前最常见的j 2 e e 应用所基于的体系结构,m v c 主要适用于交互式的w e b 应用,尤其是存在大量页 面及多次客户访问及数据显示。 2 2 1m v c 体系结构 m 代表模型m o d e l ,v 代表视图v i e w ,c 代表控制器c o n t r o l l e r 。模型视图 一控制结构是交互式应用程序广泛使用的一种体系结构。它有效地在存储和展示 数据的对象中区分功能模块以降低它们之间的连接度,这种体系结构将传统的输 入、处理和输入模型转化为图形显示的用户交互模型:同时也使得软件可维护性、 可修复性、可扩展性、灵活性以及封装性大大提高。 m v c 体系结构具有三个层面:模型( m o d e l ) 、视图( v i e w ) 和控制( c o n t r o l l e r ) , 每个层面有其各自的功能作用,m v c 体系结构如图2 2 所示。 图2 2 m v c 体系结构 f i g 2 2t h es y s t e ms t r u c t u r eo f m v c 1 模型层负责表达和访问商业数据,执行商业逻辑和操作。也就是说,这一 层就是现实生活中功能的软件模拟:在模型层变化的时候,它将通知视图层并提 基于j 2 e e 技术的考试系统的实现 供后者访问自身状态的能力,同时控制层也可以访问其功能函数以完成相关的任 务。 2 视图层负责显示模型层的内容。它从模型层取得数据并指定这些数据如何 被显示出来。在模型层变化的时候,它将自动更新。另外视图层也会将用户的输 入传送给控制器。 3 控制层负责定义应用程序的行为。它可以分派用户的请求并选择恰当的视 图以用于显示,同时它也可以解释用户的输入并将它们映射为模型层可执行的操 作:在一个图形界面中,常见的用户输入包括点击按钮和菜单选择。在w e b 应用 中,它包括对w e b 层的 r r r pg e t 和p o s t 的请求;控制层可以基于用户的交互 和模型层的操作结果来选择下一个可以显示的视图,一个应用程序通常会基于一 组相关功能设定一个控制层的模块,甚至一些应用程序会根据不同的用户类型具 有不同的控制层设定,这主要是由于不同用户的视图交互和选择也是不同的。 在模型层、视图层和控制层之间划分责任可以减少代码的重复度t 0 1 ,并使应用 程序维护起来更简单。同时由于数据和商务逻辑的分开,在新的数据源加入和数 据显示变化的时候,数据处理也会变得更简单。 2 2 2w c 在w e b 系统中的应用 现在的一些基于w e b 的分布式系统如电子商务系统,就适合采用m v c 架构。 通过分析,可以将一个应用的对象分为三类。一类负责显示,一类包含商业规则 和数据,还有一类就是接收请求,控制商业对象去完成请求。这些应用的显示是 经常需要变换的,如网页的风格、色调、还有需要显示的内容,内容的显示方式 等。而商业规则和数据是相对要稳定的。 因此,表示显示的对象v i e w 经常需要变化的,表示商业规则和数据的对象 m o d e l 要相对稳定,而表示控制的c o n t r o l l e r 则最稳定。通常当系统发布后,v i e w 对象是由美工、h t m l j s p 设计人员或者系统管理员来负责管理的。c o n t r o l l e r 对 象由应用开发人员开发实施,商业规则对象和商业数据对象则由开发人员、领域 专家和数据库管理员共同完成的。 v i e w 代表系统的显示,完全存在于w e b 层。一般由j s p 、j a v a b e a n 和c u s t o m 第2 章j 2 e e 体系结构设计 t a g 组成。j s p 可以动态生成网页内容,c u s t o mt a g 更方便使用j a v ab e a n ,而且它 可以封装显示逻辑,更有利于模块化和重用。 m o d e l 对象代表了商业规则和商业数据,存在于e j b 层和w e b 层。在j 2 e e 的规范中,系统有些数据需要存储于数据库中。也有一些不需要记录在数据库里。 这些m o d e l 数据存在于哪一层要根据它们的生命周期和范围来决定。在w e b 层有 h t t p s e s s i o n 和s e r v l e t c o n t e x t 及j a v ab e a n 对象来存储数据,在e j b 层则有e j b 来 存储数据和逻辑。因为e j b 层有很多不同的m o d e l 对象,所以w 曲层可以通过一 个m o d e l m a m a g e r 来控制e j b 层的各m o d e l 对象,在m o d e l m a n g e r 中可以封装使 用后台m o d e l 对象的方法。 c o n t r o l l e r 对象协调m o d e l 与v i e w ,把用户请求翻译成系统识别的事件。在 w e b 层,一般有一个m a i n s e r v l e t ( 或m a i m l s p ) ,接收所有请求,它可以调用屏幕流 管理器( s e r e e n f l o w m a n g e r ) 决定下一个屏幕。c o n t r o l l e r 还有一个重要的功能就是同 步v i e w 和m o d e l 的数据。在m o d e l m a n g e r 中包含一个m o d e l u p d a t e m a n g e r ,它把 系统事件转换为一个m o d e l 的集合,即所有需要同步的m o d e l ,然后通知l i s t e n e r s 去做同步操作。 2 3 基于j 2 e e 的w e b 形式m v c 模式实现:s t r u t s s t r u t s 是一个免费的开源的w e b 层的应用框架,a p a c h e 软件致力于s t r u t s 的 开发。采用s t r u t s 能开发出基于m v c o v l o d e l - v i e w - c o n t r o l l e r ) 设计模式的j a v a w e b 前端应用。图2 3 体现了s t r u t s 的运作机理: s t r u t s 应用有3 个部件:一个是使用s e r v l c t 实现的中心控制器及负责具体业务 逻辑处理的a c t i o n ;一个是用于显示的j s p 页面( v i e w e r ) :另一个是用于封装系统 状态的业务逻辑元件( m o d e l ) 。 2 3 1m o d ei :系统状态和商业逻辑d a v a b e a n s 在s t r u t s 框架中,模型分为两个部分:系统的内部状态和可以改变状态的操作 ( 事务逻辑) 。内部状态通常由一组a c t i o n f o r mj a v a b e a n 表示。根据设计或应用程 序复杂度的不同,这些b e a n 可以是自包含的并具有持续的状态,或只在需要时才 获得数据。 基于j 2 髓技术的考试系统的实现 图2 3s t r u t s 工作流程 f i g 2 3t h ew o r kf l o wo f s t r u t s 大型应用程序通常在方法内部封装事务逻辑( 操作) ,这些方法可以被拥有状态 信息的b e a n 调用。小型程序中,操作可能会被内嵌在a c t i o n 类,它是s t r u t s 框架 中控制器角色的一部分。当逻辑简单时这个方法很适合。 2 3 2v i e w :j s p 页面和表示组件 基于s t r u t s 的应用程序中的v i e w 部分通常使用j s p 技术来构建。j s p 环境包 括了其用途由j s p 规范来描述的一套标准的行为标记,还有一个用来定义标记的 标准机制,这些自定义的标记组织在“定制标记库”中。 2 3 3c o n t r o i | e r :a c t i o n s e r v l e t 和a c t i o n m a p p i n g s t n - t s 中,基本的控制器组件是a c t i o n s e r v l e t 类中的实例s e r v l e t ,实际使用的 s e r v l e t 在配置文件中由一组映射( e ha c t i o n m a p p i n g 类进行描述) 进行定义。 s t r u t s 的中心控制器接受所有来自客户端的请求,并根据系统的配置( s t r u t s - c o r l f i g x “) 路由肼请求到其它a c t i o n 对象( 开发者实现的o r g a p a c h e s t r u t s a c t i o n a c t i o n 的子类) 。在这些a c t i o n 对象中会完成所有的业务操作,比如插入一 条订单、修改一条记录等。处理完毕,由s t r u t s 的c o n 仰l l e r s e l e t 根据配置转向 到适当的j s p 页面,将处理结果显示给用户。从这里可以看出,在s t r u t s 中c o n t r o l l e r s e r v l e t 担任了重要的角色,它控制所有的程序流转,使m v c 三个相对独立的部分 协调工作,从而使系统的功能更加完善。 第2 章j 2 e e 体系结构设计 2 4e j b j 2 e e 的核1 c , 1 7 ,8 1 j a v a 由于其良好的跨平台性而成为服务器端的理想语言,为了利用j a v a 实现 服务器端的计算,s u n 公司推出了一个完整的开发平台j 2 e e ,其目的是为基于j a v a 的服务器端配置提供一个独立于平台的可携带的多用户企业级的安全平台,而 j 2 e e 的基石就是e n t e r p r i s ej a v a b e a n s ( e j b ) 。 2 4 te d 8 中的各角色 e j b2 0 规范定义了以下六种不同的角色来完成其任务: 1 企业b e a n 开发者 企业b e a n 开发者负责开发执行商业逻辑规则的e j b 组件,开发出的e j b 组件 打包成e j b - j a r 文件。企业b e a n 开发者负责定义e j b 的远程接口和自身接口,编写 执行商业逻辑的企业b e a n 类,提供部署e j b 的部署描述符。企业b e a n 开发者是 典型的商业应用开发领域专家。 2 应用组装者 应用组装者负责利用各种e j b 组装成大的可部署的应用系统单元。根据企业 的b e a n 开发者提供的e j b - j a r 文件,创建出包含应用组装说明的e j b - j a r 文件。应用 组装者必须掌握所用的e j b 的自身接口和远程接口,但不需要知道这些接口的实 现。 3 部署者 部署者负责将企业的b e a n 开发者或应用组装者的e j b - j a r 文件部署到用户的系 统环境中。部署者必须保证所有由e j b 组件开发者在部署文件中声明的资源可用。 部署过程分两步:部署者首先利用e j b 容器提供的工具生成一些类和接e l , 使e j b 容器能够利用这些类和接口在运行状态管理e j b 。部署者把e j b 组件和其 它在上一步生成的类安装到e j b 容器中。部署者是某个e j b 运行环境的专家。 4 e j b 服务器提供者 e j b 服务器提供者是系统领域的专家,精通分布式交易管理,分布式对象及其 它系统级的服务。一个典型的e j b 服务器提供者是一个操作系统开发商、中间件 开发商或数据库开发商。在目前的e j b 规范中,假定e j b 服务器提供者和e j b 容 基于j 2 髓技术的考试系统的实现 器提供者来自同一个开发商,所以,没有定义e j b 服务器提供者和e j b 容器提供 者之间的接口标准。 5 容器提供者 e j b 容器提供者提供以下功能: ( 1 ) 提供部署企业b e a n 所需的部署工具。 ( 2 ) 提供对已部署好企业b e a n 实例运行时刻的支持。 6 系统管理员 系统管理员负责为e i b 服务器和容器提供一个企业级的计算和网络环境。系 统管理员负责利用e j b 服务器和容器提供的监测管理工具监测e b 组件的运行情 况。图2 4 描述了在企业应用开发的过程中,e j b 六种不同角色所起的作用。 业务列惩 - l 企业b e 如开发者编写商业逻辑 i 其他组件 一个e j 盯文件中的企业b e a n一个e j 州盯文件中的企蝴t b e a n i 应用组装者 e i b 容器提供者和服务器提供者 lj 包含应用组装说明的e j m a r 系统管理员k _ 一具备系统及 文件等 安装容器 il 服务的容器 ii 部署者l + 1 在企业特定应用环境中配置的容器 i 广广 ,、 l _ ju企业应用 卜 。 广广 i 曰日 。 一 图2 4 e j b 中的不同角色 f i g 2 at h ed i f f e r e n tr o l ei ne j b 第2 章j 2 e e 体系结构设计 e j b 服务器 图2 5 e i b 的体系结构 f i g 2 5t h es y s t e ms t r u c t u r eo f e j b 2 4 。2f d b 的体系结构嗍 1 整体描述 图2 5 是e n t e r p r i s ej a v a b e a n s 体系结构的一个整体描述。 e j b 服务器是管理e j b 容器的高端进程或应用程序,并提供对系统服务的访 问。一个e j b 服务器必须提供对可访问j a v a 名字和目录服务接口( 扑i d i ) 的名字服 务和事务服务支持,访问一些可能的e j b 服务器、应用服务器、中间件服务器等。 会话b e a n 或实体b e a n 的自身接口列出了所有定位、创建、删除企业b e a n 类 实例的方法,自身对象是自身接口的实现。客户端可以用j a v a 来编程,通过j a v a r m i 来访问自身对象和e j b 对象,或用其他语言编程并通过c o r b a 接口访问, 使得部署的服务器端组件可以通过j a v a 接口来访问。 消息驱动b e a n 对于客户来说,仅仅只是j a v a 消息服务的一个消息使用者。客 户通过使用j a v a 名字和目录服务接口来定位一个消息驱动b e a n 相关联的j a v a 消 息服务目的地。 2 企业b e a n 的结构 基于j 2 匝技术的考试系统的实现 e m 体系结构的一个主要目标是将企业应用开发者从必须处理应用的系统级 事项中解脱出来,使其将精力集中在应用的商业逻辑方面。 ( 1 ) 企业b e a n 类 企业b e a n 类是一个j a v a 类,它实现了商业逻辑和企业b e a n 对象生命的周期 方法。e j b 2 0 规范定义了三种类型的企业b e a n :会话b e a n 、实体b e a n 和消息驱 动b e a n 。 会话b e a n 会话b e a n 是一种作为单用户执行的对象。作为对远程的任务请示的响应,容 器产生一个会话b e a n 的实例。一个会话b e a n 有一个用户。从某种程序来说,一 个会话b e a n 对于服务器来说就代表了它的那个用户。 实体e j b 实体e j b 为数据库提供了一种对象的视图。例如;一个实体e j b 能够模拟数 据库表中一行相关的数据。多个客户能够共享访问同一个实体e j b 。实体e y b 通 过事务的上下文来访问或更新下层的数据。这样,数据的完整性就能够被保证。 实体e m 是由主键唯一标识的。主键是c l i e n t 能够定位特定的数据。通常,主键 与标识数据库中一块数据库的主键是相同的。 消息驱动e j b 新的e j b 对规范的一个基础性更改就是添加了消息驱动e j b ,这是一种全新 的企业级e j b 类型。消息驱动e j b 专门设计来处理入网的j a v a 消息服务所提供的 消息。 ( 2 ) 企业e j b 客户视图 对于会话e j b 类型和实体e j b 类型的企业e j b 来说,其客户视图是由它的自 身接口和远程接口所构成。 自身接口( h o m e i n t e r f a c e ) 自身接口列出了所有定位、创建、删除e j b 类实例的方法。自身对象是自身 接口的实现。e y b 类开发者必须定义自身接口。容器厂商应该提供从自身接口中生 产自身对象实现的方法。 第2 章j 2 e e 体系结构设计 远程接e ( r e m o t ei n t e r f a c e ) 远程接口列出了e j b 类中的商业方法。e j b 对象实现远程接口,并且客户端 通过它访问e j b 实例的商业方法。e j b 类开发者定义远程接口,容器开发商提供 产生相应的e j b 对象的方法。客户端不能得到e j b 实例的引用,只能得到它的e y b 对象实例的引用。当客户端调用个方法,e j b 对象接受请求并把它传给e y b 实 例,同时提供进程中必要的包装功能。 2 4 3e j b 技术的实现【1 0 。2 l 实现e j b 的主要步骤一般来说,包括开发、配置和组装三个方面。 1 开发 我们必须定义和编写一些f j b 中的基本类。如企业b e a n 类,这是企业b e a n 内部应用逻辑的实现;企业b e a n 的远程接口类;企业b e a n 的自身接口类;说明主 键类,主键类只是对于实体b e a n 才需要的;在企业b e a n 的部署描述符中指定主键 的名字。企业b e a n 开发者定义远程接口和自身接口,实现了企业b e a n 类本身。远 程接口提供了客户调用e j b 实现的应用逻辑函数的接口。而自身接口提供了产生 和定位远程接口实例的方法。 2 部署

温馨提示

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

评论

0/150

提交评论