基于J2EE架构的在线考试系统 摘要: 目前国内基于B/S、C/S结构的在线考试系统产品已经有许多,本文首先介绍了这些考试系统的形成和发展过程,大致结构。然后通过仔细分析,提出了目前的这些系统还存有系统更新和维护等种种弊端,仍不够成熟。基于对现有产品的思考,结合J2EE的成熟技术,我们想到了是否可以将该技术运用在在线考试系统中,提出了一个基于J2EE架构的在线考试系统。通过将该架构与已有结构的在线考试系统进行比较,分析了该架构的优势,重点介绍了该框架的整体构造以及相关的概念和技术。并通过设计了一个基于J2EE架构的在线考试系统对该架构做了一个比较深入的剖析。最后,对J2EE技术做了一个总结性的展望,认为该技术有着良好的发展空间和广阔的前景。 关键词:J2EE,在线考试系统,b/s,JavaBean,jsp,数据池 Abstract: At present, there are many b/s, c/sstructure examination systems based on-line, this paper first introduced mostof these systems’ formed and developed process, and structures. Then, analysisthese systems, and pointed out that there still have many defects about them,just like the update and the service to these systems .Thinking based on theseproduces, and now the J2EE technical is becoming mature, we thinking about isthis technical can be used in examination systems, so we mentioned a on-linesystem based on J2EE structure. Compared to other systems, and also analysisits’ advantages, we introduced this structure’s construction and technical as emphasize.Finally, make J2EE technical a expectation and it can progress quiet great andhave a nice foreground. Keywords:J2EE, Examination system on-line, b/s, JavaBean, jsp, data pool 1 引言现阶段,学校与社会上的各种考试大都采用传统的考试方式,在此方式下,组织一次考试至少要经过五个步骤,即出卷、考生考试、阅卷、成绩评估和试卷分析。显然,随着考试类型的不断增加及考试要求的不断提高,教师的工作量将会越来越大,并且其工作将是一件十分繁琐和非常容易出错的事情,可以说传统的考试方式已经不能适应现代考试的需要。随着计算机应用的迅猛发展,网络应用不断扩大,如远程教育和虚拟大学的出现等等,且这些应用正逐步深入到千家万户。人们迫切要求利用这些技术来进行在线考试,以减轻教师的工作负担及提高工作效率,从而提高了考试的质量,使考试更趋于公证、客观、激发学生的学习兴趣。例如目前许多国际著名的计算机公司所举办的各种认证考试绝大部分采用这种方式。 为了适应新形势的发展,目前国内有很多公司团体研究开发了基于Web的考试系统。而我们知道网络应用软件运行的模式主要有二类:Client/Server模式、Browser/Server模式。前者主要的缺点是维护、升级较麻烦,后者是近几年伴随Internet迅速发展而应运而生的一种技术,在这种模式下,客户端需要一个浏览器,服务器端是Web Server ,而Web Server是与数据库和应用服务器的紧密结合,可见,这种模式是瘦客户端,即对客户端的要求不高.如今,很多部门的业务系统、企业的MIS系统纷纷采用这种模式,它的主要优点是便于扩充应用、升级维护简便。然而,随着技术的发展,更先进的模式纷纷被提出并时兴起来,其中J2EE就是比较成熟的一种。 2 在线考试系统构架2.1 在线考试系统一般需求分析 在线考试系统应具有以下要求: 1)由于考试对应的是特定的对象,所以系统需要经过有效的身份验证才可以登陆。并且系统需要有可以管理会话的功能。以便在考试过程中全程跟踪考试状态。 2)系统的权限一般分为两种:管理员和学生。不同的身份使用不同的权限和功能。 3)管理员需要对试题和考生进行有效的管理,负责试题的录入及更新和修改,对试题的分类,每次考试前,需要对试场环境和考生状态进行考前初始化工作。要注意的是, 鉴于考试环境一般为机房,考试者之间的距离很近,为了在线考试做到规范,对于每个应试者来说,试卷的试题和题量都应是相同的,但试题并不相同。 4) 系统要有良好的试卷上传和回收功能,确保信息传送的正确性。 5) 系统要有一个友善的界面,确保考生考试的顺利进行。 6) 因为试卷中的主观题需要老师批改,可能需要一段时间才能查询到成绩。但如果试卷是由客观题型组成的,考生就可以在考试结束后查询到自己的成绩了。 7) 系统提供对考生成绩的统计和查询等管理功能。 8) 系统应具有良好的安全性管理。 2.2 当前在线考试系统现状分析当前考试系统中,仍有许多是基于c/s模式的,每一次伴随着系统的升级,都要在每个客户端更新软件,耗时耗力。可喜的是,随着技术的发展,基于b/s模式的在线考试系统越来越多,逐渐占据了主导地位。它克服了c/s模式下的许多缺点,从传统的基于C/S模式的考试系统转变到基于B/S模式的考试系统,可以使用户在任何一台电脑上,只要可以上网,就可以使用该服务,大大简化了操作,为用户提供了方便。另一方面,也为教师的管理和批阅工作提供了方便,提高了效率。但是据我多方的观察和研究,发现大多数的在线考试系统都是采用基于页面的模式开发,每个页面中都包含了要用到的所有功能逻辑,导致代码重复率高,结构不够清晰,维护升级起来也很费时间和人力。鉴于这种情况,所以我们将J2EE的概念加入到在线考试系统中来,使得该系统更易于升级和维护。 2.3 基于J2EE的在线考试系统架构介绍及拥有的优势2.3.1 结构总体介绍J2EE使用多层的分布式应用模型,应用逻辑按功能划分为组件,各个应用组件根据他们所在的层分布在不同的机器上。事实上,sun设计J2EE的初衷正是为了解决两层模式(client/server)的弊端,在传统模式中,客户端担当了过多的角色而显得臃肿,在这种模式中,第一次部署的时候比较容易,但难于升级或改进,可伸展性也不理想,而且经常基于某种专有的协议――通常是某种数据库协议。它使得重用业务逻辑和界面逻辑非常困难。现在J2EE 的多层企业级应用模型将两层化模型中的不同层面切分成许多层。一个多层化应用能够为不同的每种服务提供一个独立的层,以下是 J2EE 典型的四层结构: l 运行在客户端机器上的客户层组件 l 运行在J2EE服务器上的Web层组件 l 运行在J2EE服务器上的业务逻辑层组件 l 运行在EIS服务器上的企业信息系统(Enterprise information system)层软件 file:///C:/Users/Administrator/AppData/Local/Temp/msohtmlclip1/01/clip_image002.gif 图1 J2EE 典型的四层结构 2. 3.2 客户层组件J2EE应用程序可以是基于web方式的,也可以是基于传统方式的。J2EE规范中指出,客户层组件有两种,它们是应用客户端程序和applets客户端。 2.3.2.1Applets从Web层接收的一个Web页面可以包含内嵌的applet。一个applet是一个用Java编程语言编写的小的客户端应用程序,它在安装在Web浏览器中的Java虚拟机中运行。然而,为了在Web浏览器中成功地运行applet,客户端系统很可能需要Java插作和安全策略文件。 Web组件是用来建立一个Web客户端程序的首选的API,因为这样在客户端系统中就不需要插件和安全策略文件。同样的,使用Web组件可以有效地改善应用程序设计,因为它们提供了一个将应用程序设计和Web页面设计有效分离的途径。Web页面的设计者可以不必关心Java编程语言的语法就能很好地完成自己的工作。
|