1、禁止用于不当的传播,源程序不对外公布 ,此论文仅供参考 . 摘 要 随着教育信息化的发展,在线考试系统作为一种新型的考核手段和考试方式,在实际教学中得到了广泛的应用,并成为当前计算机信息系统研究与应用的热点领域。 本考试系统在综合分析了当前考试系统研究成果的基础上,采用 B S 架构形势 ,利用 IE 浏览器作为界面设计,使用户可利用浏览器直接访问本平台,完成考试和测评。 JSP 技术和 MYSQL 数据库以及其他网络程序设计开发平台为本系统主要开发技术,本 论文对在线考试系统的最重要功能,包括用户登录、身份验证、新用户注册、教师学生信息管理、在线考试、管理员登录及管理等模块,以减轻 教师的工
2、作负担、提高工作效率和考试质量为设计目标进行了较深入的研究与分析。 关键词 : JSP技术; MySql 数据库; B/S 架构 禁止用于不当的传播,源程序不对外公布 ,此论文仅供参考 . 摘 要 Title: Online Examination System Abstract: With the development of education informationization, online examination system has been widely utilized in our daily teaching work as a new assessment means
3、and examination method. Furthermore, it has also been a hit research and application field of current computer information systems. The online examination system presented in this paper firstly gives an integrated analysis on current examination system research achievements, and then we make use of
4、B/S structure and IE browser as interface design to make sure the users can access the platform directly through the browser to finish the examination and assessment.The main development techniques utilized in this system include JSP technology and MYSQL databases as well as other network programmin
5、g development platform. This dissertation makes a relatively further analysis on the crucial functions of online examination system, including different modules of user loging, identification, registration, information management, online examination and administrator login management. The design obj
6、ectives of the online examination system presented in this paper is set as to reduce teachers workloads as well as to improve working efficiency and test quality. Keywords: JSP; MySql; B/S 禁止用于不当的传播,源程序不对外公布 ,此论文仅供参考 . 1 1 绪 论 本次标准化 的制作为团队分工合作完成 ,我们将项目的开发分部成前台显示业务界面、后台功能管理业务模块以及数据持久化业务模块。在这样的分工下,我主要
7、负责对数据的控 制性管理,即持久化业务模块功能。 1.1 选题 背景及研究意义 随着计算机科学、网络技术的迅猛发展,在教育领域里,实现网上考试可以充分利用学校现有的计算机软、硬件资源和网络资源实现考试;对于客观题由计算机来完成阅卷,可以将减少人工阅卷的工作量。 目前常用的网上考试系统主要有两种基本模式:传统的 C/S(客户机 /服务器)模式和新型的 B/S(浏览器 /服务器)模式,所谓 C/S 模式,即数据库(比如,试题库)内容放在远程的服务器上,在客户机上安装相应软件; C/S 结构在技术上虽然很成熟,但该结构的程序往往只局限在小型的局 域网内部,不利于扩展。并且,该结构的每台客户机都需要安
8、装相应的客户端程序。当拥有用户量比较多时,如果采用该结构,系统的安装与维护工作比较繁重。同时,由于应用程序直接安装在客户机,客户机直接和数据库服务器交换数据,系统的安全性也受到一定影响。与传统的基于 C/S 模式的网上考试系统相比, B/S 体系将应用逻辑与用户界面和数据访问相分离,使系统的维护变得简单(只需要改变网页,即可实现所有用户的同步更新),同时简化了客户端的功能,用户只需浏览器即可使用此考试系统,更适宜于互联网上的考试。 1.2 网上考试系统的现状分 析 在信息技术迅速发展的今天,网络对于大多数人已不再陌生,并且其应用在人们的工作、学习和生活中越来越多地发挥着不可替代的作用。近年来随
9、着软件工程技术、信息通信技术的快速发展以及计算机网络技术的日趋成熟,网络教育在人们的教育活动中逐步得到普及。 网上考试是网络教育不可缺少的组成部分,是网络教育的一个重要环节。网上考试在国外一些国家已经得到了蓬勃发展,人们的选学课程和考试都是通过网上进行的。一些著名的考试, 如 Microsoft 公司的 MCSE(Microsoft 系统工程师认证考试 )、GMAT(工商管理硕士入 学考试 )、托福考试、 GRE(美国研究生入学考试 )、 Oracle 公司的 SCJP( java 程序远认证) 等,都是采用网上考试的形式进行的。 禁止用于不当的传播,源程序不对外公布 ,此论文仅供参考 . 2
10、 在国内,目前绝大多数考试还停留在传统考试方式上,对互联网的真正应用仅限于一些考试的网上报名工作和网上成绩查询,还没有真正形成网上考试规模。网上考试系统作为现代教育的一个子系统,是保证教育教学质量的重要手段。在传统的考试方式下,组织一次考试要经过出题、考试、评卷、试卷分析等步骤,随着考试类型的增加及考试要求的提高,教师的工作量将会越来越大,并且其工作非常容易出错,在一定程度上说 ,传统的考试方式已经存在着改革的必要了。 Internet 技术的发展使得考试的技术手段和载体发生了划时代的变化,考试从传统的纸笔考试到计算机辅助考试再发展到基于 Web 的网上考试成为现实。 现阶段,网上考试系统的主
11、流开发技术已经相当成熟,且很好地适应了动态站点设计和基于 Web 的数据库访问的要求,是当前网上考试软件实现的主流技术之一。在对大量关于网上考试系统资料的研究和学习后,根据工作的需要,针对本校实际情况特别是教学的需求,利用学校校园网已有的基础条件,我们提出一种基于 Web 的网上考试系统,并用 MySql数据库与 jsp 技术结合进行了该系统的开发 。 1.3 考试系统的开发平台分类 考试系统由应用程序和数据库组成,开发程序主要有微软的 Visual Basic、Visual C+、 Visual FoxPro(VFP)和 PowerBuilder、 Delphi、 JBuilder 等,数据
12、库主要有本地数据库 Access 和网络数据库 SQL Server、 MYSQL、 ORACLE 等。从理论上说开发平台可以由任何一种开发程序和数据库组成,也就是任意两两组合,但是综合考虑系统需求、软件的兼容性等方面,往往有比较合适的组合。 对于数据库的选择,可以考虑数据存取速度、容量和网络存取等要求。如果考试系统是单机版的,那么可以选择 Access 数据库;如果数据库数据的容量在几十万行之内,并且要求网络存取,那么可以选择 SQL Server;如果数据库中的数据非常大,那么从安全性和速度等方面考虑采用 ORACLE 是最好的选择。 如果数据库采用 SQL Server,有很多开发程序支
13、持它,分别使用不同的技术连接和管理数据库。 1.VB+SQL Server, DAOs 方法、 ODBC API 或 VBSQL 方法管理数据库; 2.VC+SQL Server, 开放数据库连接 Open Database Connectivity( ODBC)实现数据库访问; 3.Delphi+SQL Server,数据库引擎 BorlandDatabaseEngine 实现连接; 禁止用于不当的传播,源程序不对外公布 ,此论文仅供参考 . 3 4.VFP+SQL Server, SQL Pass Through( SPT)技术直接访问 ODBC 函数,并把 SQL语句发送给服务器执行;
14、5.Java+SQL Server, JDBC 实现数据库访问。 禁止用于不当的传播,源程序不对外公布 ,此论文仅供参考 . 4 2 系统的关键技术及介绍 2.1 Jsp 技术 JSP(Java Server Pages)是由 Sun Microsystems 公司倡导、许多公司参与一起建立的一种动态网页技术标准。 JSP 技术有点类似 ASP 技术,它是在传统的网页 HTML文件 (*.htm,*.html)中插入 Java 程序段 (Scriptlet)和 JSP 标记 (tag),从而形成 JSP 文件(*.jsp)。 用 JSP 开发的 Web 应用是跨平台的,既能在 Linux 下运
15、行,也能在其他操作系统上运行。 2.1.1 Jsp 的优势 JSP 是在服务器上运行的编译好的公共语言运行库代码 ,它可利用早期绑定、实时编译、本机优化和盒外缓存服务。这相当于在编写代码行之前便显著提高 了性能。 ( 1)一次编写,到处运行。除了系统之外,代码不用做任何更改。 ( 2)系统的多平台支持。基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。相比 ASP/.net 的局限性是显而易见的。 ( 3)强大的可伸缩性。从只有一个小的 Jar 文件就可以运行 Servlet/JSP,到由多台服务器进行集群和负载均衡,到多台 Application 进行事务处
16、理,消息处理,一台服务器到无数台服务器, Java 显示了一个巨大的生命力。 ( 4)多样化和功能强大的开发工具支持。这一点与 ASP 很像, Java 已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下。 (5)支持服务器端组件。 web 应用需要强大的服务器端组件来支持,开发人员需要利用其他工具设计实现复杂功能的组件供 web 页面调用,以增强系统性能。 JSP 可以使用成熟的 JAVA BEANS 组件来实现复杂商务功能。 2.1.2 常用到的 JSP 内置对象 Request 对象:该对象封装了用户提交的信息,通过调用该对象相应的方法可以
17、获取封装的信息,即使用该对象可以获取用户提交信息。它是 HttpServletRequest 的实例。 Response 对象:对客户的请求做出动态的响应,向客户端发送数据。 Session 对象 : session 对象是一个 JSP 内置对象,它在第一个 JSP 页面被装载时禁止用于不当的传播,源程序不对外公布 ,此论文仅供参考 . 5 自动创建,完成会话期管理。 Application 对象 :服务器启动后就产生了这个 application 对象,当客户在所访问的网站的各个页面之间浏览时,这个 application 对象都是同一个,直到服务器关闭。但是与 session 不同的是,所
18、有客户的 application 对象都是同一个,即所有客户共享这个内置的 application对象。 Out 对象 : out 对象是一个输出流,用来向客户端输出数据。 out 对象用于各种数据的输出。 Page java.lang.Object: 对应 this 关键字。 JSP 网页本身, page 对象是当前页面转换后的 Servlet 类的实例。从转换后的 Servlet 类的代码中,可以看到这种关系: Object page = this;在 JSP 页面中,很少使用 page 对象。 Config: javax.servlet. ServletConfig 的实例,该实例代表该
19、 JSP 的配置信息。常用的方法有 getInitParameter(String paramNarne) 及 getInitParameternarnes() 等方法。事实上, JSP 页面通常无须配置,也就不存在配置信息。因此,该对象更多地在 Servlet 中有效。 Exception: java.lang.Throwable 的实例,该实例代表其他页面中的异常和错误。只有当页面是错误处理页面,即编译指令 page 的 isErrorPage 属性为 true 时,该对象才可以使用。常用的方法有 getMessage()和 printStackTrace()等。 PageContext:
20、 javax.servlet.jsp.PageContext 的实例,该对象代表该 JSP 页面上下文,使用该对象可以访问页面中的共享数据。常用的方法有 getServletContext()和getServletConfig()等。 2.1.3 J2SE 实现网上考试系统 现在已经有了多种实用的考试系统,应用于各种类型的考试,那么为什么要开发本网上考试系统呢,主要出于以下几点考虑: 1.虽然各种类型考试系统研究很多,但是和操作系统无关或者支持多操作系统的考试系统的研究还比较少。 Java 语言和平台无关 ,可以使用 JBuilder 开发多平台下的 J2SE 程序。 2.商品化软件一般只能获
21、得考试系统的学生端,出于系统保密的原因,有时甚至不能批改试卷,例如省计算机一级考试下发到学校的是考试客户端,考试结束后学生答题数据包统一上交批改。但是教师希望批改后统计和分析学生成绩,并且以直观的方式显示,从而发现问题改进教学。 禁止用于不当的传播,源程序不对外公布 ,此论文仅供参考 . 6 3.自主控制考试题目,可以用于单元学习后的单元测试。 4.自主扩充修改题库,随时增加修改题目。 现有的考试系统不能完全符合我校定制的需求。我校的老师对考试系统有特定的要求,例如可以在,多种方式分析成绩等 。 结合教学和研究的需要,本人开发了基于 J2SE 的网上考试系统。本考试系统采用 C/S 模式的软件
22、体系结构,客户端使用 Java 集成开发环境 JBuilder 开发调试生成,数据库使用 Microsoft SQL Server2000 技术,使用 JDBC 技术连接数据库。 本课题中的考试系统是基于 J2SE 的 C/S 模式考试系统,具体使用 Java 的开发平台 JBuilder 实现。 JBuilder 的集成开发环境 IDE 广受业界赞誉,其可视化集成开发环境包括文本编辑器、工程创建工具、对象浏览器和调试器等。 JBuilder 集成了软件开发 、调试、部署、管理、版本控制等工具,提高了项目开发速度。 Java 的开发平台称之为 JDK,运行平台称之为 JRE。为了对 Java
23、技术的使用方向和范围进行区分,避免开发中关注不必要的技术特性, Sun 公司将 Java 平台划分成3 个版本: 1.J2SE( Java2 Platform Standard Edition):核心用于桌面系统的 Java2 平台标准版,主要用于桌面应用软件的编程。 2.J2EE( Java2 Platform Enterprise Edition):针对企业级软件开发和应用的 Java2平台企业版。 用于创建服务器应用程序和服务,主要用于分布式的网络程序的开发,如电子商务网站和 ERP 系统。 3.J2ME(Java2 Platform Micro Edition):适用于嵌入式系统开发的
24、 Java2 平台微型版,如手机和 PDA 的编程。开发环境主要包括: Java Virtual Machine(JVM)、核心API、集成 API、用户界面工具、部署技术、部署工具及 API。 J2SE 主要用于实现桌面应用软件开发,其 实现的系统有以下特点: 1.支持多平台: Java 是一种与系统平台无关的语言。在 J2SE 的开发模式下,使用 JBuilder的 Native Executable Builder工具可以生成在不同的系统和处理器平台下执行的程序,目前支持的平台有 Dos、 Windows、 Linux、 Solaris 和 Mac OS。 2.分布性: Java 带有强
25、大有关网络协议族的库,使 Java 网络编程高效易用。 3.面向对象:设计重点放在对象及对象的接口上。 4.简单性: Java 的语法比 C+简单,只能在一个类中定义公用和静态的变量来实现一个全局变量,不支持 goto 语句,自动管理内存并且进行垃圾收集。 禁止用于不当的传播,源程序不对外公布 ,此论文仅供参考 . 7 5.可靠性和安全性: Java 可以用来 构建一定程度防病毒和防攻击的系统。 6.其余特性:多线程、动态性、解释、结构中立性、可移植性、鲁棒性。 2.2 MySql 数据库 MySQL 是一个精巧的 SQL 数据库管理系统,虽然它不是开放源代码的产品,但在某些情况下你可以自由使
26、用。由于它的强大功能、灵活性、丰富的应用编程接口( API)以及精巧的系统结构,受到了广大自由软件爱好者甚至是商业软件用户的青睐,特别是与 Apache 和 PHP/PERL 结合,为建立基于数据库的动态网站提供了强大动力。 MySql 是一种关系型数据库。此种数据库采用数据分类表格化的架构,将 相关的数据组成表格,表格和表格之间可以有关联性,因此称为关系型数据库。系统管理员可透过应用程序进入服务器,更改数据型态,管理及处理服务器资源。 MySql 也是一种具备延展性的数据库( scalable database),亦即 MySql可以支持多位使用者同时进入数据库中处理大量的数据。如图 2-1
27、 所示: 图 2-1 MySql 工作方式 2.3 Browser/Server 模式 2.3.1 Browser/Server 模式简介 随着网络规模的日益扩大,应用程序的 复杂程度不断提高,传统的数据库应用架构已经不能胜任。为了充分利用网络资源,越来越多的信息需要在 www(World Wide Web) 上发布, 实现信息最大程度的共享。 Browser/Server 结构伴随着 Internet 的发展而很快地发展起来。 Browser/Server 体系结构是一种三层结构,其组成如图 2-2 所示 : 禁止用于不当的传播,源程序不对外公布 ,此论文仅供参考 . 8 图 2-2 B/S
28、 结构示意图 第一层, 浏览器是表示层, 完成用户接口功能。在客户端向 URL(Uniform Resource Locator)指定的 Web 服务器提出服务器请求, Web 服务器用 HTTP 协议把所需文件资料传给用户,客户端接受并显示在 WWW 浏览器上。 第二层, Web 服务器是功能层,完成客户的应用功能。即 Web 服务器接受客户请求,以 CGI 或 ASP 与数据库连接,进行申请处理,而后数据库结果返回 Web 服务器,再传至客户端。 第三层,数据库服务器是数据层。数据库服务器应客户请求独立地进行各种处理。 Browser/Server 系统中的 Browser 作为一种通用的
29、浏览器,一般没有任何应用程序; Browser/Server 系统中的中间层是 B/S 结构中相当关键的部分,中间层在Browser/Serve 系统中充当着双重身份 :从 Browser 的角度看,它是 Web Server,而从 DB Server 的角度看,它是一个功能丰富的 Client。 2.3.2 Browser/Server 模式的特点 B/S 系统的这种三层体系结构的特点 : 友好、统一的图形用户界面 在 Browser/Server 系统中,由于遵循了统一的标准协议,而且使用浏览器作为统一的客户软件,用户无须再花费大量的时间与精力去学习和熟悉不同的系统的 使用方法,用户可以把大部分的精力集中在系统的内容上,而不是去记住系统的使用说明书。 减少网络中的数据流量 在 Browser/Server 系统中,由于数据的处理工作是由服务器来执行的,因此在读取数据和保存数据时,这些数据只在几台服务器之间传输,不需要通过浏览器与服