




免费预览已结束,剩余19页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
毕业论文 基于 J2EE 架构的在线考试系统 1 目录 摘要: 3 ABSTRACT: 4 1 引言 .5 2 在线考试系统构架 .5 2.1 在线考试系统一般需求分析5 2.2 当前在线考试系统现状分析6 2.3 基于 J2EE 的在线考试系统架构介绍及拥有的优势.6 2.3.1 结构总体介绍 .6 2.3.2 客户层组件 .7 Applets 7 应用程序客户端 .7 2.3.3 WEB 层组件7 2.3.4 业务层组件7 2.3.5 企业信息系统层8 2.3.6 J2EE 架构的优势8 2.3.7 VISUAL BASIC .NET. 2.3.8 SQL SERVER 2000 239 WEB服务 24.0 Web 服务的概念 24.1 Web 服务的优点 24.4NET 对 WEB服务的支持. 24.3 考试系统的运行平台. 24.4 硬件平台 24.5 软件平台 第三章 考试系统的数据库设计、构成模块及特点 31 考试系统的数据库设计. 毕业论文 基于 J2EE 架构的在线考试系统 2 32 考试系统的构成模块. 3 测试系统具体设计 .9 3.1 基于 J2EE 的 E-NETTEST在线考试系统构架概要 9 3.1.1 E-nettest 系统结构9 3.1.2 E-nettest 数据流程.10 3.2 E-NETTEST考试系统环境设置.11 3.3 E-NETTEST总体功能介绍.11 3.4 E-NETTEST模块设计.11 3.5 E-NETTEST数据库设计.13 4 关键技术 14 4.1 TOMCAT数据库连接池介绍与配置14 4.2 APPLET数字签名技术16 4.3 如何调用JAVA外部程序.17 5 总结与展望 18 参考文献 19 毕业论文 基于 J2EE 架构的在线考试系统 3 基于 J2EE 架构的在线考试系统 摘要: 目前国内基于 B/S、C/S 结构的在线考试系统产品已经有许多,本文首先介绍了这些考试系 统的形成和发展过程,大致结构。然后通过仔细分析,提出了目前的这些系统还存有系统更新 和维护等种种弊端,仍不够成熟。基于对现有产品的思考,结合 J2EE 的成熟技术,我们想到了是 否可以将该技术运用在在线考试系统中,提出了一个基于 J2EE 架构的在线考试系统。通过将该 架构与已有结构的在线考试系统进行比较,分析了该架构的优势,重点介绍了该框架的整体构造 以及相关的概念和技术。并通过设计了一个基于 J2EE 架构的在线考试系统对该架构做了一个比 较深入的剖析。最后,对 J2EE 技术做了一个总结性的展望,认为该技术有着良好的发展空间和 广阔的前景。 关键词:J2EE,在线考试系统,b/s,JavaBean,jsp,数据池 毕业论文 基于 J2EE 架构的在线考试系统 4 Abstract: At present, there are many b/s, c/s structure examination systems based on-line, this paper first introduced most of these systems formed and developed process, and structures. Then, analysis these 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 these produces, and now the J2EE technical is becoming mature, we thinking about is this technical can be used in examination systems, so we mentioned a on-line system based on J2EE structure. Compared to other systems, and also analysis its advantages, we introduced this structures construction and technical as emphasize. Finally, make J2EE technical a expectation and it can progress quiet great and have a nice foreground. Keywords: J2EE, Examination system on-line, b/s, JavaBean, jsp, data pool 毕业论文 基于 J2EE 架构的在线考试系统 5 1 引言 现阶段,学校与社会上的各种考试大都采用传统的考试方式,在此方式下,组织一次考试 至少要经过五个步骤,即出卷、考生考试、阅卷、成绩评估和试卷分析。显然,随着考试类型 的不断增加及考试要求的不断提高,教师的工作量将会越来越大,并且其工作将是一件十分繁 琐和非常容易出错的事情,可以说传统的考试方式已经不能适应现代考试的需要。随着计算机 应用的迅猛发展,网络应用不断扩大,如远程教育和虚拟大学的出现等等,且这些应用正逐步 深入到千家万户。人们迫切要求利用这些技术来进行在线考试,以减轻教师的工作负担及提高 工作效率,从而提高了考试的质量,使考试更趋于公证、客观、激发学生的学习兴趣。例如目 前许多国际著名的计算机公司所举办的各种认证考试绝大部分采用这种方式。 为了适应新形势的发展,目前国内有很多公司团体研究开发了基于 Web 的考试系统。而我 们知道网络应用软件运行的模式主要有二类:Client/Server 模式、Browser/Server 模式。前者主 要的缺点是维护、升级较麻烦,后者是近几年伴随 Internet 迅速发展而应运而生的一种技术,在 这种模式下,客户端需要一个浏览器,服务器端是 Web Server ,而 Web Server 是与数据库和 应用服务器的紧密结合,可见,这种模式是瘦客户端,即对客户端的要求不高.如今,很多部门 的业务系统、企业的 MIS 系统纷纷采用这种模式,它的主要优点是便于扩充应用、升级维护简 便。然而,随着技术的发展,更先进的模式纷纷被提出并时兴起来,其中 J2EE 就是比较成熟的 一种。 2 在线考试系统构架 2.1 在线考试系统一般需求分析 在线考试系统应具有以下要求: 1)由于考试对应的是特定的对象,所以系统需要经过有效的身份验证才可以登陆。并且系 统需要有可以管理会话的功能。以便在考试过程中全程跟踪考试状态。 2)系统的权限一般分为两种:管理员和学生。不同的身份使用不同的权限和功能。 3)管理员需要对试题和考生进行有效的管理,负责试题的录入及更新和修改,对试题的分 类,每次考试前,需要对试场环境和考生状态进行考前初始化工作。要注意的是, 鉴于 考试环境一般为机房,考试者之间的距离很近,为了在线考试做到规范,对于每个应试 者来说,试卷的试题和题量都应是相同的,但试题并不相同。 4) 系统要有良好的试卷上传和回收功能,确保信息传送的正确性。 5) 系统要有一个友善的界面,确保考生考试的顺利进行。 6) 因为试卷中的主观题需要老师批改,可能需要一段时间才能查询到成绩。但如果试卷 是由客观题型组成的,考生就可以在考试结束后查询到自己的成绩了。 7) 系统提供对考生成绩的统计和查询等管理功能。 8) 系统应具有良好的安全性管理。 毕业论文 基于 J2EE 架构的在线考试系统 6 2.2 当前在线考试系统现状分析 当前考试系统中,仍有许多是基于 c/s 模式的,每一次伴随着系统的升级,都要在每个客 户端更新软件,耗时耗力。可喜的是,随着技术的发展,基于 b/s 模式的在线考试系统越来越 多,逐渐占据了主导地位。它克服了 c/s 模式下的许多缺点,从传统的基于 C/S 模式的考试系 统转变到基于 B/S 模式的考试系统,可以使用户在任何一台电脑上,只要可以上网,就可以使 用该服务,大大简化了操作,为用户提供了方便。另一方面,也为教师的管理和批阅工作提供 了方便,提高了效率。但是据我多方的观察和研究,发现大多数的在线考试系统都是采用基于 页面的模式开发,每个页面中都包含了要用到的所有功能逻辑,导致代码重复率高,结构不够 清晰,维护升级起来也很费时间和人力。鉴于这种情况,所以我们将 J2EE 的概念加入到在线考 试系统中来,使得该系统更易于升级和维护。 2.3 基于 J2EE 的在线考试系统架构介绍及拥有的优势 23.1 结构总体介绍 J2EE 使用多层的分布式应用模型,应用逻辑按功能划分为组件,各个应用组件根据他们所 在的层分布在不同的机器上。事实上,sun 设计 J2EE 的初衷正是为了解决两层模式 (client/server)的弊端,在传统模式中,客户端担当了过多的角色而显得臃肿,在这种模式中, 第一次部署的时候比较容易,但难于升级或改进,可伸展性也不理想,而且经常基于某种专有 的协议通常是某种数据库协议。它使得重用业务逻辑和界面逻辑非常困难。现在 J2EE 的 多层企业级应用模型将两层化模型中的不同层面切分成许多层。一个多层化应用能够为不同的 每种服务提供一个独立的层,以下是 J2EE 典型的四层结构: 运行在客户端机器上的客户层组件 运行在 J2EE 服务器上的 Web 层组件 运行在 J2EE 服务器上的业务逻辑层组件 运行在 EIS 服务器上的企业信息系统(Enterprise information system)层软件 图 1 J2EE 典型的四层结构 毕业论文 基于 J2EE 架构的在线考试系统 7 2. 3.2 客户层组件 J2EE 应用程序可以是基于 web 方式的,也可以是基于传统方式的。J2EE 规范中指出,客户 层组件有两种,它们是应用客户端程序和 applets 客户端。 Applets 从 Web 层接收的一个 Web 页面可以包含内嵌的 applet。一个 applet 是一个用 Java 编程语 言编写的小的客户端应用程序,它在安装在 Web 浏览器中的 Java 虚拟机中运行。然而,为了在 Web 浏览器中成功地运行 applet,客户端系统很可能需要 Java 插作和安全策略文件。 Web 组件是用来建立一个 Web 客户端程序的首选的 API,因为这样在客户端系统中就不 需要插件和安全策略文件。同样的,使用 Web 组件可以有效地改善应用程序设计,因为它们提 供了一个将应用程序设计和 Web 页面设计有效分离的途径。Web 页面的设计者可以不必关心 Java 编程语言的语法就能很好地完成自己的工作。 应用程序客户端 一个 J2EE 应用程序客户端运行在客户端机器上,它使得用户可以处理需要比标记语言所能 提供的更丰富的用户界面的任务。具有代表性的是用 Swing 或抽象窗口工具包(AWT)API 建立的 图形用户界面(GUI),但是一个命令行界面也是当然可能的。 应用程序客户端直接访问运行在商业层的 enterprise bean。然而,如果应用程序需 要授权, 一个 J2EE 应用程序客户端可以打开一个 HTTP 连接来与一个运行在 Web 层的 servlet 建立通信。 2.3.3 WEB 层组件 J2EE web 层组件可以是 JSP 页面或 Servlets.按照 J2EE 规范,静态的 HTML 页面和 Applets 不算是 web 层组件。 正如下图所示的客户层那样,web 层可能包含某些 JavaBean 对象来处理用户输入,并把 输入发送给运行在业务层上的 enterprise bean 来进行处理。 图 2 Web 层组件 2.3.4 业务层组件 业务层代码的逻辑用来满足银行,零售,金融等特殊商务领域的需要,由运行在业务层上的 毕业论文 基于 J2EE 架构的在线考试系统 8 enterprise bean 进行处理. 下图表明了一个 enterprise bean 是如何从客户端程序接收数据, 进行处理(如果必要的话), 并发送到 EIS 层储存的,这个过程也可以逆向进行。有三种企业级 的 bean: 会话(session) beans, 实体(entity) beans, 和消息驱动(message-driven) beans。 会话 bean 表示与客户端程序的临时交互. 当客户端程序执行完后, 会话 bean 和相关 数据就会消失. 相反, 实体 bean 表示数据库的表中一行永久的记录。当客户端程序中止或服 务器关闭时, 就会有潜在的服务保证实体 bean 的数据得以保存.消息驱动 bean 结合了会话 bean 和 JMS 的消息监听器的特性, 允许一个业务层组件异步接收 JMS 消息。 图 3 业务层组件 2.3.5 企业信息系统层 企业信息系统层处理企业信息系统软件包括企业基础建设系统例如企业资源计划 (ERP), 大型机事务处理, 数据库系统,和其它的遗留信息系统. 例如,J2EE 应用组件可能为了数据库连 接需要访问企业信息系统。 2.3.6 J2EE 架构的优势 J2EE 为搭建具有可伸缩性、灵活性、易维护性的系统提供了良好的机制: 1)保留现存的 IT 资产: 由于技术需求的不断更新,在线考试系统必须可以适应新的要求, 利用已有的对考试系统方面的投资,而不是重新制定全盘方案。这样,一个以渐进的(而不是 激进的,全盘否定的)方式建立在已有考试系统之上的服务器端平台机制是学校和单位所需求 的。J2EE 架构可以充分利用用户原有的投资,这之所以成为可能是因为 J2EE 拥有广泛的业界 支持和一些重要的企业计算领域供应商的参与。每一个供应商都对现有的客户提供了不用废 弃已有投资,进入可移植的 J2EE 领域的升级途径。由于基于 J2EE 平台的产品几乎能够在任何 操作系统和硬件配置上运行,现有的操作系统和硬件也能被保留使用。 2)高效的开发: J2EE 允许客户把一些通用的、很繁琐的服务端任务交给中间件供应商去 完成。这样开发人员可以集中精力在如何创建商业逻辑上,相应地缩短了开发时间。高级中间 件供应商提供以下这些复杂的中间件服务: 状态管理服务 - 让开发人员写更少的代码,不用关心如何管理状态,这样能够更快地 完成程序开发。 持续性服务 - 让开发人员不用对数据访问逻辑进行编码就能编写应用程序,能生成更 轻巧,与数据库无关的应用程序,这种应用程序更易于开发与维护。 分布式共享数据对象服务 - 让开发人员编制高性能系统,极大提高整体部署的伸缩性。 毕业论文 基于 J2EE 架构的在线考试系统 9 3)支持异构环境: J2EE 能够开发部署在异构环境中的可移植程序。基于 J2EE 的应用程序 不依赖任何特定操作系统、中间件、硬件。因此设计合理的基于 J2EE 的程序只需开发一次就可 部署到各种平台。由于考试系统很多时候需要提供给许多不同的学校和单位使用,这些学校和 单位的软件硬件环境存在有较大的差异,所以能支持异构环境这点就十分关键。同时 J2EE 标准 也允许客户订购与 J2EE 兼容的第三方的现成的组件,把他们部署到异构环境中,节省了由自己 制订整个方案所需的费用。 4)伸缩性: 学校和单位必须要选择一种服务器端平台,这种平台应能提供极佳的可伸缩性 去满足可能不断增多的在他们系统上进行考试的大批新的考生。基于 J2EE 平台的应用程序可被 部署到各种操作系统上。例如可被部署到高端 UNIX 与大型机系统,这种系统单机可支持 64 至 256 个处理器。 (这是 NT 服务器所望尘莫及的)J2EE 领域的供应商提供了更为广泛的负载平衡 策略。能消除系统中的瓶颈,允许多台服务器集成部署。这种部署可达数千个处理器,实现可 高度伸缩的系统,满足未来系统升级和规模扩大的需要。 5)稳定的可用性: 虽然在线考试系统不象一般企业的服务器端平台必须能全天候运转以满 足公司客户、合作伙伴的需要,但起码必须保证考生考试的这段时间内不发生意外停机等故障, 从而影响到考生考试。J2EE 部署到可靠的操作环境中,他们支持长期的可用性。一些 J2EE 部 署在 WINDOWS 环境中,客户也可选择健壮性能更好的操作系统如 Sun Solaris、IBM OS/390。 最健壮的操作系统可达到 99.999%的可用性或每年只需 5 分钟停机时间。这是对在线考试系统, 特别对于那些比较重要的考试的理想选择。 该考试系统用 Microsoft Visual Basic.NET 进行开发,数据库采用 SQL Server 2000。由 于系统采用三层结构,即数据库服务器、Web 服务器、客户浏览器,为了实现可用子网内的任何 一台服务器作为数据库服务器的需求,本系统采用 Web 服务技术,即把 Web 服务装在 Web 服务 器中,通过访问 Web 服务来进行数据库的访问。下面分别对 Microsoft Visual Basic.NET、SQL Server 2000 和 Web 服务技术进行介绍。 21 Visual Basic .NET Microsoft Visual Basic.NET 是 Microsoft Visual Basic 6.0 的后续版本,它是基于 .NET 框架直接创建的,因此可以使用所有的平台特性,并能够与其他 .NET 语言协同工作。 211 Visual Basic 6.0 Visual Basic 6.0 有限的面向对象的特性,特别是缺乏继承,使之不适合于开发面向对象 的架构。正由于这一点,对于某些类型的开发,特别是大型、复杂应用程序的开发,与 C+或 Java 开发人员相比,Visual Basic 6.0 开发人员会处于不利的地位。另外,Visual Basic 6.0 没有多线程能力;错误处理能力差,与其他语言如 C+的集成能力差;对于基于 Internet 的应 用程序,没有生动有效的用户界面等缺点。 212 Visual Basic.NET Visual Basic.NET 对于 IT 业来说,它可能是一个小的前进,但是对 VB 开发人员来说,它 是一个巨大的进步!Visual Basic .NET 并不只是向核心技术添加和修改了技术特性的 VB 新版 本,它打破了模式的框框!实际上它是一种新编程语言,基于新的核心技术.NET 范例。在 毕业论文 基于 J2EE 架构的在线考试系统 10 Visual Basic .NET 之中,技术变化是如此之多,以致 VB 开发人员可以与 C#,C和 Java 开 发人员相竞争。 在许多方面 Visual Basic .NET 都与它以前的版本不同。它具有更高的一致性和类型安全 级别。用 Visual Basic .NET 我们更容易写出控制性、可读性很高的代码。虽然它有时要求你 习惯于那些编译时额外的检查,但它将在你测试和调试时,为你节约宝贵的时间。 VB.NET 的语法与 VB 6.0 已经有了根本性的差别,与其说 VB.NET 是 VB 6.0 的升级,不如说 VB.NET 是 C#的 Basic 版本。由于采用了 CLI 的结构,VB.NET 将很难兼容以前的 VB 6.0 的代码, 大量的 VB 代码无法顺利地转移到.NET 上,不过开发人员仍然可以在.NET 平台下,将原有的 COM 组件进行重新包装,形成.NET 平台下的 Web 服务组件,而且.NET 的整个平台、开发工具的高集 成性和友好的开发环境还是会给开发人员留下深刻印象。在 Java 领域中,无论是 Borland 的 JBuilder 6,还是 Sun 的 Forte for Java,或是 IBM 的 WebShpere Studio Application Developer、VisualAge for Java 都无法达到 VB. NET 的生产效率。 22 SQL Server 2000 SQL Server 是一个功能强大的后台数据库管理系统,它可以帮助各种规模的企业用来管理 数据,以可伸缩性的商业解决方案、强大的数据仓库以及与 Microsoft Office 和 Microsoft BackOffice 的紧密集成为企业提供额外的商业便利,日益为广大用户所喜爱。到目前为止,SQL Server 2000 是 Microsoft 公司推出的数据库管理系统的最新版本。它不但继承了原来版本的许 多优点,而且又增加了很多更先进的功能。 Microsoft SQL Server 2000 使用了最先进的数据库架构,具有完全的 Web 功能,通过对高 端硬件平台以及最新的网络和存储技术的支持,可以为较大的 Web 站点和企业级的应用提供很 好的解决方案。SQL Server 2000 扩展了 SQL Server 7.0 版的性能,并增加了几种新的功能, 使得用户能够更方便、更快捷地管理数据库和开发应用程序。因此它已成为大规模联机事务处 理(OLTP) 、数据仓库和电子商务应用程序的优秀数据库平台。 23 Web 服务 随着 Internet 和网络化的日渐成熟,无论是属于单个组织的计算机还是属于多个组织的计算 机都想通过 Internet 彼此交流。借助更基本的 Internet 通信协议,可能需要几个月的时间和大量 的资本开发自己的系统。而且当使用该系统和另一个组织的系统进行通信时,两个系统之间的 转换也许并不容易,甚至是不可能的,最后得到的只是一团糟。过去人们引入分布式架构系统 以解决这个问题。大多数系统本身的缺点甚至妨碍了它们在企业范围内的部署,更别说在全球 的部署。为此带来了 Web 服务。 231 Web 服务的概念 从表面上看,Web 服务就是一个应用程序,它向外界暴露出一个能够通过 Web 进行调用的 API。这就是说,你能够用编程的方法通过 Web 来调用这个应用程序。Web 服务内在的含义是 基于 XML 的通信流通过 HTTP 协议在一个公共网络(Internet)上传送。Web 服务平台是一套标准, 它定义了应用程序如何在 Web 上实现互操作性。你可以用任何你喜欢的语言,在任何你喜欢的 平台上写 Web 服务 ,只要我们可以通过 Web 服务标准对这些服务进行查询和访问。 毕业论文 基于 J2EE 架构的在线考试系统 11 232 Web 服务的优点 Web 服务最大的特性也许是使用 XML 支持的跨平台的兼容性。即使我们假设一个组织内 部使用的都是相同的操作系统、软件等,我们也不可能期望其他的组织使用相同的设备。而 Web 服务不作此类的要求, 它不依赖于任何平台或公司。它的部分吸引力在于,不管是在 Solaris,UNIX,Mac 还是在 Windows 上部署 Web 服务,所有用户都可以连接并使用。这和一 般 Web 站点是一样的,不必关心要访问的 Web 站点运行于什么平台,只要它能够正常工作就行。 Web 服务需要使用一种平台中立的方法来描述数据和交换数据,为此它使用 XML(可扩展 标记语言)。XML 使用标准化的文本格式以一种简单的方法格式化数据(无论数据有多复杂)。最 初,开发人员对 XML 嗤之以鼻,认为它只不过是书写脚本的另一种方式而已。然而这些惯于从事 数据库管理和开发的开发人员不久便意识到,XML 是能在双方之间提供数据而无须依赖于专门 方案的一种技术。 24 .NET 对 Web 服务的支持 .NET 从一开始就深深打上了 Web 服务技术的烙印,在它的市场推广活动中,无时无刻不凸 显其作为 Web 服务的开发和部署平台的特征。可以说,.NET 天生就是为 Web 服务准备的开发和 部署平台。 .NET 是一个全新的架构,它的整个平台、开发工具的高集成性和友好的开发环境给开发人 员留下深刻印象。在 Java 领域中,任何一种语言都无法达到 VS .NET 的生产效率。开发工具是. NET 的一大优势。.NET 正是为进行基于 Web 服务模型的应用程序开发而度身定做的新一代开发 工具和基本结构。.NET 构建块服务、新增的.NET 设备支持以及即将到来的.NET 用户体验,使人 们能够充分利用 Web 服务模型,如愿以偿地开发出新一代应用程序。 VB.NET 平台内建了对 Web 服务的支持,包括 Web 服务的构建和使用。与其它开发平台不同, 使用.NET 平台,你不需要其他的工具或者 SDK 就可以完成 Web 服务的开发了。.NET Framework 本身就全面支持 Web 服务,包括服务器端的请求处理器和对客户端发送和接受 SOAP 消息的支持。 利用 Visual Studio.Net,你可以不必了解 HTTP、XML、SOAP、WSDL 等底层协议,同样能开发和 使用 Web 服务。 25 考试系统的运行平台 251 硬件平台 Web 服务器和数据库服务器可共用一台或分别用一台专用服务器或高档 PC 机,联网设备可 采用交换机或 HUB,带宽为 10M-100M。 252 软件平台 1)操作系统 服务器端采用 Windows 2000 SERVER ,客户端采用 Windows 即均可。 2) Web 服务器 毕业论文 基于 J2EE 架构的在线考试系统 12 目前,市场上有很多 Web 服务器软件,如 IIS、Netscape Enterprise Server、Apache 等, 各有千秋,其中微软的 IIS 具有对系统硬件要求低、功能强、配置简便且与 Windows 紧密集成 等优点,比较适合各院校和中学的网络硬、软件环境,因此我们选用 IIS 5.0。 3) 数据库服务器 数据库服务器与 Web 服务器应有较紧密的结合,Windows 、IIS 均为微软的产品,其数据 库也有相应的产品,即 SQL Server,所以我们选用 SQL Server 2000 为数据库服务器。 4) 浏览器 IE 浏览器(建议版本 5.5 以上) 第三章 考试系统的数据库设计、构成模块及特点 31 考试系统的数据库设计 考试系统离不开数据库系统的支持,不论是试题、答案,还是考生信息都需要存放在数据 库中,而且数据库独立于程序而存在,具有较好的安全性。本系统使用的数据库软件为 SQL Server 2000。首先建立一名为 ksxt 的数据库,主要表格介绍如下: 311 考生信息表(stuinfo) 列名数据类型长度允许空 IdNvarchar10 NameNvarchar8 StateNvarchar6 该表主要存放考生的信息,其中 Id 表示考生的准考证号;Name 表示考生的姓名;State 表 示考生状态,分为三种:已交卷、未交卷(正在考试中) 、缺考。考生登录的时候输入准考证号, 从该表中检查是否存在该准考证号,如果存在,显示该考生姓名,允许进入考试界面;否则显 示“无此考生” 。State 字段有助于统计缺考人数。 312 各类试题表(xuanze,tiankong,panduan,chengxtk,chengxts,chengxsj) 主要包括选择题表、判断题表、概念填空题表、程序填空题表、程序调试题表、程序设计 题表共 6 张表,每张表中存放了各类试题的题号和题目。下面以程序设计题表为例说明: 列名数据类型长度允许空 THChar2 XTHChar2 TMNtext16 OleImage16 其中 TH 表示该试题在第几套题目中;XTH 表示该试题的题号,即这套题目中的 2 个程序设 计题中的第几题;TM 表示该试题的题目描述;Ole 字段存放的为考试时要读出来,解压,供考 生下载的压缩文件。如果是选择题表,还有 A、B、C、D 四个字段分别表示该试题四个选项的内 毕业论文 基于 J2EE 架构的在线考试系统 13 容。除了程序设计题以外,其他试题表没有 Ole 字段。之所以设 TH 字段,是因为试题是按套分 的,每一套中又有若干题目。每套中的题目事先就定好的,但是每次抽到该套题目时,试题的 顺序是打乱的,以减少出现一模一样试卷的概率。 313 考试信息表(testresult01testresult99) 列名数据类型长度允许空 IdNvarchar10 XuanzthChar2 PandthChar2 TiankthChar2 ChengxtkthChar2 ChengxtsthChar2 ChengxsjthChar2 XuanzdaNvarchar40 PandaNvarchar20 TiankdaNvarchar100 ChengxtkdaNvarchar100 ChengxtsdaImage16 chengxsjdaImage16 LasttimeInt4 考试信息表共有 99 张,根据考生准考证号后两位来决定把该考生的考试信息放入哪张表中,比 如该考生准考证号末两位为 28,则放入表 testresult28 中。其中 Id 表示考生的准考证号; Xuanzth、pandth、Tiankth、Chengxtkth、Chengxtsth、Chengxsjth 分别表示选择题、判断题、 概念填空题、程序填空题、程序调试题、程序设计题的题号; Xuanzda、pandda、Tiankda、Chengxtkda、Chengxtsda、Chengxsjda 分别表示选择题、判断题、 概念填空题、程序填空题、程序调试题、程序设计题的正确答案。Lasttime 用于记录考试时间, 如果时间到了还没有交卷,则回收答案,停止考试。 314 回收表(reclaim,result) 回收表共有两张,一张记录回收的答案,另一张记录回收是否成功。 表 1 列名数据类型长度允许空 IdNvarchar10 XuanzthChar2 PandthChar2 TiankthChar2 ChengxtkthChar2 ChengxtsthChar2 ChengxsjthChar2 XuanzdaNvarchar40 毕业论文 基于 J2EE 架构的在线考试系统 14 PandaNvarchar20 TiankdaNvarchar100 ChengxtkdaNvarchar100 ChengxtsdaImage16 chengxsjdaImage16 这张表主要用来记录回收的答案,其中 Xuanzth、Pandth、Tiankth、Chengxtkth、Chengxtsth、Chengxsjth 分别表示选择题、判断题、 概念填空题、程序填空题、程序调试题、程序设计题的题号, Xuanzda、Pandda、Tiankda、Chengxtkda、Chengxtsda、Chengxsjda 分别表示考生的选择题、 判断题、概念填空题、程序填空题、程序调试题、程序设计题的答案,可与考试信息表中各题 的正确答案做比较。 表 2 列名数据类型长度允许空 IdNvarchar10 NameNvarchar8 XuanzeChar2 PandChar2 Tiank Char2 ChengxtkChar2 ChengxtsChar2 ChengxsjChar2 这张表主要用来判断回收是否成功。其中 Id 表示考生的准考证号;Name 表示考生的姓名; Xuanze、Pand、Tiank、Chengxtk、Chengxts、Chengxsj 分别表示选择题、判断题、概念填空题、 程序填空题、程序调试题、程序设计题是否回收成功,如果成功,则为 OK,否则为空。 315 管理表(setting) 列名数据类型长度允许空 Dbname Nvarchar10 Servername Nvarchar10 SqlpwdNvarchar10 TestdirNvarchar40 TesttypeNvarchar4 RelaimdirNvarchar40 redopwdNvarchar10 其中 Dbname 表示数据库名称;Servername 表示服务器名称;Sqlpwd 表示 SQL Server 服务 器密码;Testdir 表示考试目录;Testtype 表示考试类型;Relaimdir 表示回收目录;redopwd 表示重做密码。有些考生考试时可能会因为误操作而退出了系统,这时候要再次进入系统进行 考试,就需要输入密码,以防止作弊行为。重做密码是在考生第一次进入系统时从该表中获得 的。 毕业论文 基于 J2EE 架构的在线考试系统 15 3 测试系统具体设计 3.1 基于 J2EE 的 E-nettest 在线考试系统构架概要 3.1.1 E-nettest 系统结构 我们的系统结构是针对了 J2EE 的四层架构进行设计的 图 4 系统结构 如图所示,客户层负责提供用户界面接口,包括试题的显示和考生答案的输入。 Web 层负责将得到的考生登陆和题目上传的信息送交给业务层,同时,将从业务层处得到 考试的相关信息输出到 html 页面为考生提供相关服务。 业务层负责系统的具体逻辑实现,主要是得到数据池中的数据源,向数据库中提交和获得 数据等。 信息系统层主要采用了 Microsoft sql2000 数据库对数据进行存贮管理。 3.1.2 E-nettest 数据流程 考生首先进入登陆页面,输入用户名和密码,系统将该用户名和密码与数据库中考生表的 用户名密码一一核对,如果存在该考生且未登陆,则弹出一个考试的主页面正常进入考试,并 将该考生置为考试状态。否则会跳到出错页面要求考生重新登陆。 进入考试页面后,有许多分类的试题要求考生分别完成,考生点击相应页面的超链接,进 入做题,在每个分页面的顶部,都将会有对该部分试题的操作提示和注意事项,考生阅读完相 关事项后进行做题,每做完该部分试题都必须保存,系统将收集到的考生做题信息上传到数据 库中,考生则继续做其他部分试题。 完成所有考试后,考生点击交卷标记,系统保存考生所有的答题信息后正常他退出,并将 客户端浏览器,负责处理用户视图 界面 负责处理考生的登录和做题信息, 传送给相应的 javabean 组件。并将 返回信息传送给用户页面显示。 负责得到数据库的连接,从数据库 取得相应信息,将用户信息输入上 传到数据库中。 负责试题和考生信息等的存储。 毕业论文 基于 J2EE 架构的在线考试系统 16 考生置于离线状态。 具体流程见下图: 图 5 系统流程 3.2 E-nettest 考试系统环境设置 本系统运行环境如下: 服务器端:软件环境:win2000/nt Tomcat,jsdk 用以支持 jsp 网页,sql server 数据 库服务器 硬件环境:p3 1.0 以上 cpu,256M Rom 客户端: 软件环境:win9x/2000/xp,ie5.0 以上浏览器 硬件环境:p2 233 以上 cup,32M 以上内存 3.3 E-nettest 总体功能介绍 客户端客户端 登陆服务:负责用户的登陆的输入,与服务器端的验证,如果是重登陆的,需重登陆密码。 题目下载:负责从数据库中读取试题数据,下载到客户端。 用户答题:负责在客户的浏览器中显示下载的题目,供用户做题。 题目上传:负责将客户所答题目的答案上传到服务器端。 毕业论文 基于 J2EE 架构的在线考试系统 17 管理端管理端 生成试题:负责从试题源中生成当场考试的相应试题。 试题初始化:负责在每场考试前清空试题回收信息。 考生监控:负责在考试期间管理监控各考生的考试状态。 试卷回收:负责在考试结束后,将考生提交的答案上传到数据库服务器中。 试卷批阅:负责自动化批阅回收试卷(客观题) 。 数据库连接服务:负责从各共性服务层模块接收相关数据库连接,查询,修改等服务,并 返回相关数据。 数据访问层异常管理:负责数据库连接服务出现的异常。 3.4 E-nettest 模块设计 各模块的详细介绍: 1)考生登陆模块: 在客户层,考生通过主登陆页面输入用户名与密码。 在 web 层,将从用户输入处得到的用户名和密码与从业务层返回的相应用户名和密码作比 较,如果用户存在密码正确且还未登陆就登陆考试主页面,否则跳到出错页面要求重新登 陆。 在业务层,获得与 mssql 数据库的连接,并取出所有的用户名和密码信息。将该信息传入 web 层。 在 EIS 层,对应的是 mssql 数据库中的 students 表格。 2)做题模块: (1)选择题: 在客户层,浏览器中显示每个考生所对应的考试题目,要求考生输入考试答案。并有一个 提交按钮供考生做完题目后上传题目。 在 Web 层,jsp 负责从业务层中获得题目,并将题目组织在一起向客户端显示。 在业务层,获得与数据库的连接,并且取出选择题题目。 在 EIS 层,对应的是数据库中 choose 表格。 (2)word 题: 在客户层,在浏览器中 applet 的 textarea 区域显示 word 题的要求,并利用 applett 数字 签名技术,突破访问本地文件系统的限制,打开 word 做题。 在 Web 层,利用 servlet 的文件上传下载技术,将读出的 word 文件下载到本地磁盘。 毕业论文 基于 J2EE 架构的在线考试系统 18 在业务层,获得数据库连接,并取出 word 题目,word 题是以二进制流的方式将 word 文件 存贮在数据库。 在 EIS 层,对应的是数据库中 word 表格。 3)答案上传模块: 在客户层,在浏览器中单击提交按钮将做完的答案提交制相应页面 在 Web 层,将用户提交的答案提交给相应的 javabean 组件,并在客户端显示提示信息。 在业务层,将提交上来的答案存入相应的数据库中。 在 EIS 层,数据库中 students 表格,有两个相应字段用来存放该用户所对应的提交答案。 图 6 系统模块 3.5 E-nettest 数据库设计 由于目前市场上存在有许多的数据库产品,较流行的有 oracle,Mssql,Access,等,oracle 数据 库多用于大企业中,稳定性最好,但价格也较高,且系统要求也较高,而 Access 数据库不支持 网络功能,一般只对个人或小型的系统适用,而对于本系统来说,采用 Msssql 则是一个较为合 考试系统 登 陆 服 务 用 户 答 题 答 案 上 传 数据库连接服务 MS SQL SERVER 数据 访问 层异 常管 理 题 目 下 载 生成 试 题 试题初 始化 考生监 控 试卷回 收 试卷批 阅 毕业论文 基于 J2EE 架构的在线考试系统 19 适的选择,Mssql 是微软网络数据库的主打产品,支持网络功能,日志记录等多种方便的服务, 并且有着较为稳定的性能和可靠的管理。下面是数据库表的设计: Students table: id, char, 10,notnull; password, char, 10,null; number, char, 10,notnull; sex, char, 1,null;(1=男,0=女) chooseans, char, 60,null; wordans, image,16,null; status, char, 1,notnull;(1=在线,0=离线) choose table: QNUM, INT, 4,notnull; QCON, TEXT, 16, notnull; QANSA, TEXT, 50, notnull; QANSB, TEXT, 50,notnull; QANSC, TEXT, 50,notnull; QANSD, TEXT, 50,notnull; QANSE, TEXT, 50,notnull; QANS, TEXT, 1,notnull; Word table: TOPIC_NUMBER , nvarchar, 2,notnull; QUESTION_TITLE, text, 16,notnull; QUESTION_CONTENT,image, 16,notnull; 毕业论文 基于 J2EE 架构的在线考试系统 20 4 关键技术 4.1 tomcat 数据库连接池介绍与配置 数据库连接池概述:数据库连接是一种关键的有限的昂贵的资源,这一点在多用户的网页 应用程序中体现得尤为突出。对数据库连接的管理能显著影响到整个应用程序的伸缩性和健壮 性,影响到程序的性能指标。数据库连接池正是针对这个问题提出来的。 数据库连接池负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数 据库连接,而再不是重新建立一个;释放空闲时间超过最大空闲时间的数据库连接来避免因为 没有释放数据库连接而引起的数据库连接遗漏。这项技术能明显提高对数据库操作的性能。 数据库连接池在初始化时将创建一定数量的数据库连接放到连接池中,这些数据库连接的 数量是由最小数据库连接数来设定的。无论这些数据库连接是否被使用,连接池都将一直保证 至少拥有这么多的连接数量。连接池的最大数据库连接数量限定了这个连接池能占有的最大连 接数,当应用程序向连接池请求的连接数超过最大连接数量时,这些请求将被加入到等待队列 中。数据库连接池的最小连接数和最大连接数的设置要考虑到下列几个因素: 1) 最小连接数是连接池一直保持的数据库连接,所以如果应用程序对数据库连接的使用量 不大,将会有大量的数据库连接资源被浪费; 2) 最大连接数是连接池能申请的最大连接数,如果数据库连接请求超过此数,后面的数据 库连接请求将被加入到等待队列中,这会影响之后的数据库操作。 3) 如果最小连接数与最大连接数相差太大,那么最先的连接请求将会获利,之后超过最小 连接数量的连接请求等价于建立一个新的数据库连接。不过,这些大于最小连接数
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 执法演讲面试题目及答案
- 先进制造市场分析与经营
- 环境评价公众参与机制在2025年公众参与评价与环境保护教育中的应用报告
- 供电试岗期满考试试题及答案
- 2025年运动控制 试题及答案
- 益智课程考试题及答案
- 2025年食堂食品安全管理人员考试试题及答案
- 2025年flash动画制作考试题及答案
- 2025年法语考试题目及答案
- 2025年陕西省辅警协警笔试笔试真题含答案
- 2024仁爱版初中英语单词表(七-九年级)中考复习必背
- 住宅小区机动车车辆管理制度
- (新版)光伏产业技能竞赛理论试题库及答案(浓缩500题)
- (2024年)公路工程工地试验检测培训课件
- 药店各管理制度
- 大学美育(第二版) 课件 第三单元:心灵的旋律:音乐艺术
- 幼儿园招生小组计划书
- 危险化学品市场现状和发展趋势
- 高一年级英语阅读理解专项练习带答案(50篇)
- 平、坡、刚性屋面防水施工技术培训讲义
- 《思想道德与法治》2021版教材绪论
评论
0/150
提交评论