(计算机应用技术专业论文)基于j2ee的网络考试系统的设计与实现.pdf_第1页
(计算机应用技术专业论文)基于j2ee的网络考试系统的设计与实现.pdf_第2页
(计算机应用技术专业论文)基于j2ee的网络考试系统的设计与实现.pdf_第3页
(计算机应用技术专业论文)基于j2ee的网络考试系统的设计与实现.pdf_第4页
(计算机应用技术专业论文)基于j2ee的网络考试系统的设计与实现.pdf_第5页
已阅读5页,还剩60页未读 继续免费阅读

(计算机应用技术专业论文)基于j2ee的网络考试系统的设计与实现.pdf.pdf 免费下载

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

文档简介

摘要 传统的考试模式以笔试为主,成本高、效率低,随着各种考试类型的不断 增加和考试要求的不断提高,以及考试人数的不断增多,教师们的工作量也越来 越丈,迫切需要能够实现网络化、自动他的考试系统。采用网络考试,学习者可 以突破传统教育资源和教育方法的限制,不受时间和空间等条件的约束。同时, 还囊减轻老师负担,提高教学效率和质量,加强考试过程孛的安全性,快速分析 考试数据等优点。因此,对这一应用的研究具有重要的理论意义和现实意义。 现有掰络考试系统还存在一些阅题,例如:题型比较少;安装使用复杂; 系统中页面逻辑、业务逻辑和数据逻辑混杂在一起,耦合性高,重用性、可维护 性、可扩展性差;大最考生参摭考试时,系统员面响应速度慢等等。针对这些翔 题,本文研究、设计、实现了一个网络考试系统,此系统采用b s 架构,安装使 用简便。将j 2 e e 体系、s t r u t s 框架、h i b e r n a t e 框架结合起来实现m v c 设计模 式,分离页面逻辑、业务逻辑和数据逻辑,达到结构上的松散耦含,提高系统的 重用性、可维护性、可扩展性。同时,利用a j a x 技术,减轻服务器负担,实现 考试时动态更新页面和实时响应。开发出的网络考试系统经过多次使用,较好的 满足了各学科、各种类型考试的需要。 本文详细介绍了网络考试系统设计和实现的过程,主要分为五个部分:第 一部分阐述了课题提她的背景以及课题研究的主要内容等,第二部分研究了系统 相关的理论和技术,第三部分对系统进行需求分析、功能划分与设计,第四部分 通过对考生考试子系统的实现介绍s t r u t s 框架、h i b e m a t e 框架、a j a x 技术在系 统中的应用,第五部分对课题研究工作加以总结并指出了进一步改进方向。 关键词:网络考试系统,j 2 e e 体系,m v c 设计模式,s t r u t s 框架,h i b e r n a t e 框 架,a j a x 技术 d e s i g na n di m p l e m e n t a t i o no f an e t w o r kt e s ts y s t e m b a s e do nj 2 e e a b s t r a c t t h et r a d i t i o n a lt e s tt a k e sh a n d w r i t i n gm o d ep r i m a r i l ya n dl e a d st ot h eh i g h e r c o s t ,l o w e re f f i c i e n c y w i t ht h ek i n do ft e s tt y p ei n c r e a s i n ga n dt h et e s tr e q u i r e m e n t i m p r o v i n g , a sw e l l 鼬t h et e s tp o p u l a t i o ni n c r e a s i n g , t h et e a c h i n gl o a di s 矗l 蛙罄a n d m o r eh e a v i e r t h e r e f o r e , t h ed e m a n df o rr e a l i z i n gn e t w o r k i n ga n da u t o m a t e dt e s t s y s t e mi su r g e n t u s i n gt h en e t w o r kt e s tm o d e , t h es t u d e n t sm a yb r e a kt h r o u g ht h e l i m i t a t i o no ft r a d i t i o n a le d u c a t i o nr e s o u r c e $ a n de d u c a t i o nm e t h o dw i t h o u tt h e r e s t r a i n to ft i m ea n ds p a c e ,a tt h eg a r l i ct i m e , i tc a nr e d u c et h eb u r d e no ft e a c h e r s , e n h a n c et h et e a c h i n ge f f i c i e n c ya n dt h eq u a l i t y , s t r e n g t h e n st h es e c u r i t yi nt h et e s t p r o c e s s a n a l y z e st h et e s td a t aq u i c k l y , e t c s o , t h er e s e a r e hi nt h ea l 戳th a s t h e i m p o r t a n tt h e o r e t i c a la n dt h ep r a c t i c a ls i g n i f i c a n c e t h ce x i s t i n gn e t w o r kt e s ts y s t e ma l s oh a ss o m ep r o b l e m s :码eq u e s t i o nt y p e 辩 q u i t ef e w ;i n s t a l l a t i o na n du s ei sc o m p l e x ;i ns y s t e m ,p a g el o g i c ,b u s i n e s sl o g i ca n d d a t al o g i ca r ec o m b i n e di ns a m ep l a c ew i t ht h eh i g hc o u p l i n g , t h el o wr e u s a b i l i t ya n d m a i n t a i n a b i l i t y , t h ep o o rs c a l a b i l i t y ;w h e n t h em a s s i v ee x a m i n e e st a k et i n e x a m i n a t i o ns i m u l t a n e o u s l y ,t h es y s t e mp a g es p e e do fr e s p o n s ei sv e r ys l o w , e t c i n v i e wo ft h e s eq u e s t i o n s ,an e l h ) l ,o r kt e s ts y s t e mw h i c hu s e st h eb sa r c h i t e c t u r ew i m t h ea d v a n t a g eo fc o n v e n i e n ti n s t a l l a t i o na n db s eh a sb e e nd e s i g n e da n di m p l e m e n t e d i nt h i sp a p e r t h ej 2 e ea r c h i t e c t u r ea n dt h es t r u t sf r a m e w o r kc o m b i n e dw i t ht h e h i b e r n a t ef r a m e w o r ka l eu s e dt or e a l i z et h em v c d e s i g np a t t e r nw h i c hc o n t r i b u t e st o d i v i d et h ea p p l i c a t i o ns y s t e mi n t ot h ep a g el o g i c ,t h eb u s i n e s sl o g i ca n dt h ed a t al o g i c , c o n t r i b u t e st oa c h i e v et h el o o s ec o u p l i n gi nt h es t r u c t u r e ,c o n t r i b u t e st oi m p r o v e r e u s a b i l i t ya n dm a i n t a i n a b i l i t y , s c a l a b i l i t y m e a n t i m e , u s i n gt h ea j a xt e c h n o l o g yc a r l l i g h t e nt h es e r v e rb u r d e na n dr e a l i z ed y n a m i cr e n e w a lp a g ea n dr e a l t i m er e s p o n s e f u n c t i o ni nt h ep r o c e s so ft e s t t h ed e v e l o p e dn e t w o r kt e s ts y s t e mh a db e e nu s e di n s o m et e s t ,a n db e t t e rm e e tt h er e q u i r e m e n to f v a r i o u s d i s c i p l i n e sa n dt e s tt y p e t h i sp a p e rd e s c r i b e st h ep r o c e s so f d e s i g na n di m p l e m e n t a t i o no ft h en e t w o r k e x a m i n a t i o ns y s t e mi nd e t a i i s i tc o n s i s t so ff i v es e c t i o n s :s e c t i o n1i n t r o d u c e st h e b a c k g r o u n da n dm a i nr e s e a r c hc o n t e n to ft h i st o p i ce r e s e c t i o n2r e s e a r c h e s0 1 1t h e c o r r e l a t i v et h e o r ya n dt e c h n o l o g yo fs y s t e m s e c t i o n3d e s c r i b e st h er e q u i r e m e n t a n a l y s i s , t h ef u n c t i o nd i v i s i o na n dt h ed e s i g no ft h es y s t e m s e c t i o n4u s e sas u b - s y s t e mo fc a n d i d a t e st e s tt os h o wh o wt oa p p l ys t r u t sf r a m e w o r ka n dh i b e r n a t e f r a m e w o r ka n da j r xt e c h n o l o g yi na p p l i c a t i o n s e c t i o n5s u m m a r i z e st h er e s e a r c h w o r ka b o u tt h et o p i ca n dp o i n to u tt h ef u r t h e ri m p r o v e m e n td i r e c t i o n k e y w o r d s :n e t w o r kt e s ts y s t e m ,j 2 e ea r c h i t e c t u r e ,m v cd e s i g np a t t e r n ,s t r u t s f r a m e w o r k ,h i b e r n a t ef r a m e w o r k ,a j a xt e c h n o l o g y 川 西j 匕大学学位论文知识产权声明书 本人完全了解西北大学关于收集、保存、使用学位论文的规定。 学校有权保留并向国家有关部| 1 或机构送交论文的复印件和电子版。 本人允许论文被查阅和借阅。本人授权西北大学可以将本学位论文的 全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫 描等复制手段保存和汇编本学位论文。阉时授权中国科学技术信息研 究所等机构将本学位论文收录到中国学位论文全文数据库或其它 相关数据库。 保密论文待解密后适用本声明。 学位论文作者签名:望壅指导教师签名: 豸年f 月e tv 年f 月t 归 西北大学学位论文独创性声明 本人声明:所呈交的学位论文是本人在导师指导下进行的研究工作及取得的研究 成果。攥我所知,除了文中特别加以标注和致谢的地方井,本论文不包含其他人已经发 表或撰写过的研究成果,也不包含为获得话北大学或其它教育机构的学位或证书而使用 过的材料。与我一厨工作的糊虑对本研究所做的任何贡献均已在论文巾作了明确的说明 并表示澍意。 学位论文作者签名:私奏 埘年f 月乃e l 1 1 课题提出的背景 第一章绪论 考试是教育评价的主要方式,担负着因材施教、选拔人才、评价教学等众 多功能。随着教育的发展,各种各样的学历考试、资格证书考试层出不穷【1 1 。而 传统的考试模式主要以笔试为主,考试要经过人工出题、考生考试、人工阅卷、 成绩统计评估及试卷分析等阶段。随着各种考试类型的不断增加和考试要求的不 断提高,以及高校的继续扩招,任课教师无论是命题、考务,还是评卷、成绩分 析的工作量也大幅度增加。同时传统的考试方式还存在着重复劳动,造成人力资 源及时间上的浪费,成本高、效率低,存在自教自考,考前泄题的情况,难以做 到客观、公正、高效,试卷也容易出现错、漏、缺等现象【2 1 。可以说,已经不能 满足现代考试的需求。 同时,随着科学技术特别是随着我国计算机的普及和计算机网络的广泛应 用,以及计算机远程教育网络的建设与发展,在很多国家和地区已将计算机及网 络技术应用到了教育领域中,由此带来了的巨大影响,改变着我们的学习方式。 因此,在我国高校尝试考试计算机化和网络化既有强烈的应用需求也存在现实可 行性,同时也顺应了教育发展新趋势。 1 2 研究网络考试系统的意义 网络考试系统将传统教育理论与基于w e b 的计算机软件系统有机结合起来, 可以实现在线组题、考生考试、在线阅卷、智能考务、自动评分、实时统计等功 能,优化了传统考试的运行模式。这样可以节约大量的出题时间、阅卷时间、成 绩统计分析时间等,减轻老师的负担,使广大的教师有更多的时间投身于教学和 科学研究中去,提高教学的效率和质量【3 1 。网络考试系统也可以加强考试过程中 的保密性,避免人为因素对评判的影响,使考试趋于公正、客观,成绩准确无误。 能够正确、快速地分析、综合各种考试信息数据,了解学生的学习效果,为改进 教学提供依据。丽络考试系统不受考生所在时间地点的限制,考生可以灵话、方 便地安排学习时橱和考试对间,正式考试时也可以蒙传统考试那样,限制考生在 规定躲时闺段窍参加网上考试【4 】。网络考试系统还有实现教考分离、教学资源共 事、降低考试成本,解诀繁重的考务工作的等优点。 因此,探索和制定既能满足2 1 世纪信息社会对专业人才需求、充分发挥学 生和教师个性及个人潜能,又能结合高校实际情况,吸收国内外最新教学经验和 研究成果,实现具有高校特色的培养模式和教学计划,并开发相应的现代化的考 试系统不仅具有重要的现实意义,还具有时代紧迫性。 1 3 网络考试系统在国内外的研究现状 以下介绍几个典型的网络考试系统,用以说明国内外对网络考试系统的研 究状况: ( 1 ) r a 智能化考试服务系统 国外比较有影响是觚公裁麴考试系统,主要嚣标是模拟真实考试环境, 特别适合计算机操作性题目的考试。朋在产品和服务中使用的核心技术包括: d s t 技术( 动态模拟考试技术) 、r e t 技术( 真实环境考试技术) 、s r a t 技术 ( 全真环境下动态转换技术) 、l a s 技术( 智能化考试结果判定技术) 、z n m 技术( 智能化、非线性多元组卷模板技术) 。d s t 技术是动态模拟考试、培训 的技术,它基于图论的语义状态转换理论,在触r ae - t e s t i n g 通用平台上模拟全 真环境的应用软件和系统软件的操作过程及步骤。其模拟过程体现了全真环境的 动态特点,对考试、培训的过程、结果全程跟踪。d s t 技术摆脱了软件产品对 运行环境的依赖性,完全独立于真实的执行环境。r e t 技术是基于组件对象模 型,以多进程运行方式,允许用户在全冀环境下操作,然后捕捉操作过程及操作 结果,在操作过程中实现智能提示及个性化教学、培训。s r a t 技术是面向网络 考试中的主观题( 如编程题) 而专门设计的,可在模拟一全真环境下动态的自动双 向转换。a t a 公司的产品和服务中使用的核心技术,有较多可取之处。但r a 考试软件更多的魁用于开展计算机信息技术的考试,考试的管理也基本上由 2 r a 公司专人负责,这对于考试环境、内容随着时代的发展而发生很快变化的 各类考试来说,具有相当的局限性吼 ( 2 ) 清华泰豪网络考试系统 清华泰豪网络考试系统是多功能辅助教学系统,具有教学题库管理、自动 试卷生成、网上测验、网上练习、自动成绩统计分析等多项功能,全面覆盖教学 过程中练习、测验、教学效果信息反馈的所有环节。系统是全面网络化的多用户 系统,安装分布于题库服务器、普道教师机、监考教师机、学生机等多台计算机 上,适用于电子教室环境,是校园网软件系统的的重要组成部分。系统内含丰富 的教学资源库,附带教学题库备有小学、初中、高中备科试题2 0 万道,试题全 瑟、丰富、实用性强。该系统可广泛使用哥各种露络教学环境中,系统试题库可 以自由扩充,大中专学校、各类培训机构都可以在上面建立自己的教学资源库, 避季亍网络化的练习、测验、成绩统计等教学工作。该系统主要的缺点是题型比较 少,以选择题和填空题为主,系统使用复杂,需要安装相应的教学系统作为支撑。 ( 3 ) 计算机等级考试 国内计算机等级考试较早地采用了网络考试系统。这种考试系统一般采用 局域网的形式,在考试之前,出专门的考试曜站提供栩关的报名、考务安排等软 件,然后在开始考试时,将题库统一安装在各考点的服务器上。在正式考试之前, 一般给每个考生测试一次的机会。考试采用现场打分的方式,考生只要一提交试 卷,系统就给出相应的分数。为了安全起见,一般还要求考生到服务器上确认。 除此之外,一些政府部门、一些行业管理机构和教育机构也先后采用了网络考试 系统。这些考试系统有一个共同特点,那就是:考题基本上都是选择题,对于主 观题,如计算机二级等级考试编程题,仍然采用的是单机考试模式。 1 。4 论文的研究蟊的和内容 星翁豹一些网络考试系统存在很多的局限性。例如:题型比较少,以选择 题和填空题为主;系统安装使用复杂;软件开发使用的平台、开发工具、操作系 统在结构上紧藕舍,使得开发出的系统,页面逻辑、监务逻辑和数据逻辑混杂在 一起,系统的耦合性高,修改困难,重用性、扩展性差 6 1 ;传统的w e b 应用程序 3 强制用户进入提交、等待、重新显示的模式,服务器处理数据的时候,用户处于 等待的状态【7 1 ,在大量考生参加考试的情况下,服务器负担增加,系统的实时 性降低,刷新速度变慢,导致w e b 用户界面在响应灵敏性方面大打折扣。 为了解决上述问题,本文研究、设计、实现了一个网络考试系统,满足多学 科、多种题型的需要。系统采用b s 结构,易于安装使用。同时,探讨采用j 2 e e 体系,s t r u t s 框架实现m v c 设计模式,并且将h i b e r n a t e 框架引入到s t r u t s 框架 的模型层中,用它来进行数据封装和映射,提供持久化的支持,从而将系统的页 面逻辑、业务逻辑和数据逻辑相分离,层次设计结构清晰,最大限度地降低各模 块间的耦合性,提高系统的重用性、可维护性、可扩展性。探讨在考试部分应用 s t r u t s 框架、h i b e m a t e 框架结合a j a x 技术以异步方式向服务器发送请求和获取 试题,保存考生答案,减少服务器和浏览器之间交换的数据量,减轻服务器负担, 实现答题页面的动态更新和实时响应,减少考生等待的时间。 1 5 论文组织结构 第一章:绪论 介绍了课题提出的背景、研究网络考试系统的意义、网络考试系统在国内 外的研究现状,论文研究的目的和内容,论文组织结构。 第二章:相关理论和技术研究 研究了与网络考试系统相关理论和技术,包括j 2 e e 体系、m v c 设计模式、 s t r u t s 框架、h i b e r n a t e 框架、a j a x 技术等。 第三章:网络考试系统的需求分析和设计 对网络考试系统做了需求分析,介绍了网络考试系统的各个子系统,给出 了考生考试予系统的功能详细说明和考生考试子系统的用例、数据库表设计和网 络考试系统的架构、安全性设计。 第四章网络考试系统实现 简单介绍了开发的网络考试系统,并以考生考试子系统为例给出了工作原 理、m v c 功能描述、登陆模块工作流程、视图、控制器、模型、持久层构建、 框架的配置。 4 第五章:总结与展望 在一系列的探讨、研究、分析、实践之蘑,对课题进行了总结,以及下一 步工作的展望。 5 2 1j 2 e e 体系 2 1 1j 2 e e 的概念 第二章相关理论和技术研究 j 2 e e 是一种利用j a v a 2 平台来简化企业解决方案的开发、部署和管理相关 复杂问题的体系结构。j 2 e e 技术的基础就是核心j a v a 平台或j a v a 2 平台的标准 版【引。j 2 e e 不仅巩固了标准版中的许多优点,例如“编写一次、随处运行”的特性、 方便存取数据库的j d b ca p i 、c o i m 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 ) 、j a v a s e r v l e t s a p i 、 j s p ( j a v as e r v e rp a g e s ) 以及x m l 技术的全面支持。其最终目的就是成为一个 能够使企业开发者大幅缩短投放市场时间的体系结构。 j 2 e e 体系结构提供中间层集成框架用来满足无需太多费用而又需要高可用 性、高可靠性以及可扩展性的应用需求。通过提供统一的开发平台,j 2 e e 降低 了开发多层应用的费用和复杂性,提供对现有应用程序强有力的支持,有良好的 向导支持打包和部署应用,添加了目录支持,增强了安全机制,提高了性能【9 1 。 2 1 2j 2 e e 的四层模型 j 2 e e 使用多层的分布式应用模型,应用逻辑按功能划分为组件,各个应用 组件根据他们所在的层分布在不同的机器上。事实上,s u n 设计j 2 e e 的初衷正 是为了解决两层模式( c l i e n t s e r v e r ) 的弊端。在传统模式中,客户端担当了过多的 角色而显得臃肿,这种模式,第一次部署的时候比较容易,但难于升级或改进, 可扩展性也不理想,而且通常基于某种专有的协议,例如数据库协议。使得重用 业务逻辑和页面逻辑非常困难【l o 】。现在j 2 e e 的多层企业级应用模型将两层模型 中的不同层面切分成许多层。一个多层化应用能够为不同的服务提供一个独立的 层,以下是j 2 e e 典型的四层结构: 运行在客户端机器上的客户层组件; 6 运彳子在j 2 e e 服务器上的w e b 屡组件; 运行在j 2 e e 服务器上的业务逻辑层组件; 运行在e i s 服务器上的企业信息系统( 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 ) 崖软件。 如图2 一l 所示。 j 2 既 应用程撵1 压丽司 i客户端1 丁2 e e 鹿用程序2 圈圈 客户端 机器 j 2 e e 服务器 数据库 服务器 图2 一lj 2 e e 多层应用结构 客户层组件:客户层组件可以是基于w 曲方式,如h t m l 、a p p l e t s 等,也 霹叛基于传统方式的客户端程序。 w e b 层组件:j 2 e ew e b 层组件可以是j s p 页面或s e r v l e t s 。按照j 2 e e 规范, 静态的h t m l 页猫和a p p l e t s 不算是w e b 层组件f l l j 。w 曲层可能包含某些 j a v a b e a n 对象来处理用户输入,j a v a b e a n 可以提供很多服务,如安全服务、事 务处理、持久性驻努、并发处理、分布式中间件服务和优化资源使用等。因此, 程序开发可以主要集中于业务处理上。j a v a b e a n 把输入发送给运行在业务层上的 e n t e r p r i s ej a v a b e a n 来进行处理。 7 固皇量 业务层组件:业务层缀件的逻辑用来满足银行,零售,金融等特殊商务领 域的需要,由运行在业务层上的e n t e r p r i s ej a v a b e a n 进行处理。 企业信息系统层软件:企业信息系统层处理企业信息系统软件,包括企业 基础建设系统例如企业资源计划( e r p ) ,大型机事务处理,数据库系统,和其它 的遗留信息系统。例如,j 2 e e 应用组件可能为了数据库连接需要访问企北信息 系统。 利用j 2 e e 组件技术,可以按照开发人员的技能对考试系统开发进行分工, 并行开发,提高整体开发效率。能够将b e a n 从一种操作环境移植到另一种操作 环境,而无需重新编写其源代码,可移植性强。可以从现有的软件组件装配出考 试系统服务器端应用程序,重用性好。由于组件可以被独立地更新和替代,通过 更新系统中特定的组件,新的功能可以被很容易地增加,提高了考试系统的可维 护性。如果有新的考试科目耱考试题型变化,系统能够快速的进行更改,能够适 应多科目、多种题型的需要,有很高的可扩展性。 2 1 3j 2 e e 的核心a p i 与组件 j 2 e e 平台由一静套服务( s e r v i c e s ) 、应用程序接口( a p i s ) 和协议构成, 它对开发基于w 曲的多层应用提供了功能支持。下面对j 2 e e 中的1 3 种技术规 范进行简单的描述: ( i ) j d b c ( j a v a d a t a b a s ec o n n e c t i v i t :j d b ca p i 为访阔不同的数据库 提供了一种统一的途径。像o d b c 一样,j d b c 对开发者屏蔽了一些细节问题, 另步 ,j d b c 对数据库的访闯也具有平台无关性。 ( 2 ) j n d i ( j a v an a m ea n dd i r e c t o r yi n t e r f a c e ) :j n d ia p i 被用于执行名字 和盛录服务,它提供了一致的模型来存取和操作企业级的资源如d n s 、l d a p 、 本地文件系统、或应用服务器中的对象。 ( 3 ) e j b :j 2 e e 技术之所班赢得广泛重视的原飘之一就是e j b 。它提供 了一个框架来开发和实施分布式商务逻辑,由此很显著地简化了具有可伸缩性和 高度复杂的企业级应用的开发。当然,e j b 并不是实现j 2 e e 的唯一途径。正是 8 由于j 2 e e 豹开敖性,使得有的厂商能够以一种和e j b 平行的方式来达到同样的 目的。 ( 4 ) r m i ( r e m o t em e t h o di n v o k e ) :正如其名字所表示的那样,r m i 协议 调用远程对象上的方法。它使用了序列化方式在客户端和服务器端传递数据。 r m i 是一种被e i b 使用的更底层的协议。 ( 5 ) j a v a 曲u c o r b a :在j a v a i d l 的支持下,开发人员可以将j a v a 和 c o r b a 集成在一起。 ( 6 ) j s p ( j a v as e r v e rp a g e s ) :j s p 页面由h t m l 代码和嵌入其中的j a v a 代码所组成。服务器在页面被客户端所请求以后对这些j a v a 代码进行处理,然 后将生成豹h t m l 页面返网给客户端的浏览器。 ( 7 ) j a v a s e r v l e t :s e r v l e t 是种小型的j a v a 程序,它扩展了w e b 服务器 的功能。作为一种服务器端豹应用,当被请求时开始执行,这和c g i p c r l 脚本很 相似。s e r v l e t 提供的功能太多与j s p 类似,不过实现的方式不同。j s p 通常是大 多数h t m l 代码中嵌入步量的j a v a 代码,而s e r v l e t 全部由j a v a 写成并且生成 h t m l 。 ( 8 ) 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 ) :x m l 是一种可以用来定义其它 标记语言的语言。它被用来在不同的商务过程中共享数据。通过将j a v a 和x m l 的组合,可以得到一个完美的具有平台独立性的解决方案。 ( 9 ) m s ( j a v am e s s a g es e r v i c e ) j m s 是用于和面向消息的中间件相互通 信的应用程序接n ( a m ) 。 ( 1 0 ) j t a q a v at r a n s a c t i o na r c h i t e c t u r e ) j t a 定义了一种标准的肿i ,应 用系统由此可以访问各种事务监控。 ( 11 ) j t s ( j a v at r a n s a c t i o ns e r v i c e ) :j t s 是c o r b a o t s 事务监控的基本 的实现。j t s 规定了事务管理器的实现方式。 ( 1 2 ) j a v a m a i l :j a v a m a i l 是用于存取邮件服务器的a p i ,它提供了一套邮 件服务器的抽象类。不仅支持s m t p 服务器,也支持i m a p 服务器。 ( 13 ) j t a o a v a b e a n sa c t i v a t i o nf r a m e w o r k ) :j a v a m a i l 利用j a f 来处理 m i m e 编码的邮件附件。 9 2 1 4 系统采用j 2 e e 的优势 j 2 e e 为实现具有可扩展性、重用性、易维护性的网络考试系统提供了良好 的平台: ( 1 ) 保留现存的i t 资产:j 2 e e 架构可以充分利用用户原有的投资,由于 基于j 2 e e 平台的考试系统几乎能够在任何操作系统和硬件配置上运行,现有的 操作系统和硬件也能被保留使用。 ( 2 ) 高效的开发:j 2 e e 允许把一些通用的、很繁琐的服务端任务交给中 间件供应商。这样开发人员可以集中精力在如何创建考试业务逻辑上,相应地缩 短了开发时间,提高了效率。 ( 3 ) 支持异构环境:设计合理的基于j 2 e e 的考试系统只需开发一次就可 部署到各种平台。 ( 4 ) 可伸缩性:j 2 e e 领域的供应商提供了更为广泛的负载平衡策略, 允许多台服务器集成部署【1 3 】,因此可以实现可高度伸缩的系统,满足未来考试 的需要。 ( 5 ) 稳定的可用性:j 2 e e 部署到可靠的操作环境中,支持长期的可用性。 2 2m v c 设计模式 2 2 1m v c 设计模式概念 c h r i s t o p h e ra l e x a n d e r 给出一个广泛意义上的设计模式概念:“每一个模式描 述了一个在我们周围不断重复发生的问题,以及该问题的解决方案的核心。这样, 你就能一次又一次的使用该方案而不必做重复劳动【1 4 】。 m v c 是m o d e l 、v i e w 、c o n t r o l l e r 三个词的缩写,分别代表应用的三个 组成部分:模型、视图与控制器。三个部分以最少的耦合协同工作,从而提高应 用的可扩展性及可维护性【1 5 】。 m v c 各层的定义: ( 1 ) 模型层封装了内核数据和功能,是应用程序的核心。模型表示业务逻 辑和数据逻辑,一个模型为多个视图提供数据,提高了应用的可重用性。 1 0 ( 2 ) 视图层向用户显示数据,接受用户输入,与模型层交互,向模型查询 业务状态,接受模型发出的数据,更新显示用户界面。 ( 3 ) 控制器接受用户输入并调用模型和视图,完成用户的请求。 2 2 2m v c 处理过程 户。 m v c 的处理过程是【1 6 】: ( 1 ) 控制器接受用户的请求,决定调用哪个模型进行处理。 ( 2 ) 模型再根据用户请求进行相应的业务逻辑处理,并返回数据。 ( 3 ) 控制器调用相应的视图装载模型返回的数据,最后通过视图返回给用 2 2 3 系统采用m v c 模式的优势 网络考试系统采用m v c 模式的优点: ( 1 ) 多个视图共享一个模型,使得同一个模型可以被不同的视图重用, 大大提高了系统代码的可重用性。 ( 2 ) 系统允许更换视图和控制器对象,而且可以根据需求动态的打开或 关闭,甚至在运行期进行对象替换。 ( 3 )由于m v c 的各个模块相对独立,改变一个不会影响其他两个,所以 开发人员可以构建系统的松散耦合构件。 ( 4 ) 控制器提高了系统应用程序的灵活性和可配置性。控制器可以连接 不同的模型和视图,去完成用户的需求,这样可以为构造应用程序提供强有力的 手段【1 7 】。 ( 5 ) 它还有利于软件工程化管理。由于不同的层各司其职,每一层不同 的应用具有某些相同的特征,有利于通过工程化、工具化产生系统程序代码。 2 3s t r u t s 框架 2 3 1s t r u t s 框架简介 m v c 模式的广泛使用催生了m v c 框架的产生。在所有的m v c 框架中, 出现最早,应用最广的就是s t r u t s 框架。 框架概念并不是很新了,伴随着软件开发方法的发展,在多层软件开发项 目中,可重用、易扩展的且经过良好测试的软件组件越来越为人们所青睐。这意 味着人们可以将充裕的时间用在分析、构建业务逻辑的应用,而非繁杂的代码工 程上。于是人们将相同类型问题的解决途径进行抽象,抽取成一个应用框架。这 也就是我们所说的框架【1 8 】。 s t r u t s 是a p a c h e 软件基金组织j a k a r t a 项目的一个子项目,s t r u t s 的前身是 c r a i g m c c l a n a h a n 编写的j s pm o d e l 2 架构。s t r u t s 在英文中是”支架、支撑”的意思, 这表明了s t r u t s 在w e b 应用开发中的巨大作用,采用s t r u t s 可以更好地遵循m v c 模 式1 1 9 】。此外,s t r u t s 提供了一套完备的规范,以及基础类库,可以充分利用 j s p s e r v l e t 的优点,减轻程序员的工作量,具有很强的可扩展性。s t r u t s 框架一经 推出,立即引起 j a v a 开发者的广泛兴趣,并在全世界推广开来,最终成为世界 上应用最广泛的m v c 框架。 2 3 2s t r u t s 框架具体实现 s t r u t s 作为m v c 模式的典型实现,对m o d e l 、v i e w s l c o n t r o l l e r 都提供了对 应的实现组件,其具体的实现如图2 2 所示。 ( 1 ) m o d e l 部分 s t r u t s 的m o d e l 部分f l j a c t i o n f o r m 和j a v a b e a n 组成。其中a c t i o n f o r m 用于封装 用户请求参数i 所有的用户请求参数由系统自动封装成a c t i o n f o r m 对象,该对象 被a c t i o n s e r v l e t 转发给a c t i o n ,然后a c t i o n 根据a c t i o n f o r m 里的请求参数处理用户 请求【2 0 】。而j a v a b e a n 则封装了底层的业务逻辑,包括数据库访问等。在更复杂的 应用中,不仅是一个简单的j a v a b e a n ,还可能是e j b 组件或者其他的业务逻辑组 件。 1 2 图2 - 2s t r u t s 框架结构圈 ( 2 ) v i e w 部分 s t r u t s 的v i e w 部分采用j s p 实现。s t r u t s 框架中豹鹪p 一般用予两个方面:其 一是为刚刚执行结束的c o n t r o l l e r j 罢的a c t i o n 显示其结果,常常通过使用一系列用 于循环或查诲数据的标签来实现。这种应用并不是s t r u t s 所特有的。萁二是为即 将执行的c o n t r o l l e r 层的a c t i o n 收集必要的数据信息,一般通过若干标签和 a c t i o n f o r m 的实例共同完成,这是j s p 在s t r u t s 中特殊的应用1 。这种应用需要使 用一些s t r u t s 特有的标签和类。s t r u t s 提供了丰富的标签库,通过这些标签库可以 最大限度地减少脚本的使用。这些自定义的标签库可以实现与m o d e l 的有效交 互,并增加了显示功能。整个应用由客户端请求驱动,当客户端请求被 a c t i o n s e r v l e t 接收时,a c t i o n s e r v l e t 根据请求决定是否需要调用m o d e l 处理用户请 求,当用户请求处理完成后,其处理结果通过j s p 呈现给用户。 在一个应用系统中,j s p 页面与控制器之间表单数据的传递是比较频繁的。 在传统的j a v aw e b 开发过程中,开发人员需要编写许多代码来完成,而且重复性 高1 2 2 1 。然而在s t r u t s 框架中,j s p 页面与控制器之问表单数据的传递在框架内部自 动完成,开发人员不必关心实现细节。用户输入表单的数据首先保存在a c t i o n f o r m 中,然后传递给控制器。同时,控制器可以取出a c t i o n f o r m 中保存的数据并 进行修改,然后再羹新设置输出表单。 ( 3 ) c o n t r o l l e r 部分 1 3 s t r u t s 的c o n t r o u c r 由两个部分组成:系统核心控制器和业务逻辑控制器,分 别对应a c t i o n s e r v l e t 类和a c t i o n 类【2 3 】。其q h a c t i o n s e r v l c t 类由s t r u t s 框架提供,继 承h t t p s e r v l e t 类。它负责接收所有的h t t p 请求信息,然后根据s t r u t s - c o n f i g x m l 配置文件的配置信息,取得相应a c t i o n f o r m 中保存的表单数据,并把请求转发给 不同功能处理的a c t i o n 类,否则直接转向请求的j s p 页面。因此a e t i o n s e r v l e t 类担 负s t r u t s 框架的中央控制器的角色。a c t i o n 类负责具体功能流程转发,并调用业务 逻辑模型。s t r u t s c o n f i g x m l 文件主要是定义了h 订p 请求和a c t i o n f o r m 、a c t i o n 类等组件之阔的映射关系。 2 4h i b e r n a t e 框架 2 4 1h i b e r n a t e 框架简介 在系统的开发过程中,有很大精力要花费在业务逻辑的开发上面。由于绝 大多数业务模型都涉及到关系数据库,传统w e b 应用开发方法是直接用j d b c 与 数据库交互。但是这个工作量很大,而且一旦业务逻辑稍微有一些变更,就要大 量地更改这些j d b c 中的s q l 语句,因此不管是开发还是维护系统都很不方便。 考虑至u j a v a 的面向对象性和关系型数据库的关系型结构相差甚远,因此很有必要 引入一种在对象与关系型数据库之阀的直接映射机制【2 稍,这种映射应该是最大 量地使用配置文档,以便今后业务逻辑更改后尽可能地修改映射文件而不是j a v a 源代码,因此出现了对象关系数据库映射模式。 ,h i b e r n a t e 是一个面向j a v a 环境的对象关系数据库映射( o b j e c t r e l a t i o n a l m a p p i n g ,o r m ) 框架。对象关系数据库映射用来把对象模型表示的对象映射到 基于s q l 的关系模型数据结构中去。它具有自我存储到关系数据痒的熊力,对象 的改变能够直接存储到数据库而不用数据库存储的代码,这样就能形成相对独立 的对象持久层,从丽降低j 2 e e 应用与数据库耦合度并简化程序的开发f 2 鄹。 h i b e r n a t e 可以将数据库资源映射为一个或者多个p o j o ( 普通的j a v a 对 象) ,将面向数据疼资源的各种业务操作以p o j o 的属性和方法的形式出现,摆 脱繁琐的j d b c 代码,

温馨提示

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

评论

0/150

提交评论