当前位置:文档之家› 基于JSP servlet技术的在线考试系统—在线成绩查询毕业论文设计

基于JSP servlet技术的在线考试系统—在线成绩查询毕业论文设计

JSP + SERVLET TECHNOLOGY BASED ONLINE EXAMINATION SYSTEM

- ONLINE SCORES INQUIRY

ABSTRACT

With the network technology grow up, network has become our life everywhere, inducing education, shopping, consultation and work, etc. Today network developed rapidly, the application of web technology become more and more widely. For education industry, web technology application has obvious advantages. They can use web to manager students and teachers, organize exam on line, and put out some scholastic information by network. It is not only good for increasing diaphaneity of scholastic management, but also good for improving management level. Exam on line can make use of existing resource and reduce teacher’s heavy workload.

The article is mainly talk about network has many advantages for extending service and offering more management condition of school. This article has many particular investigations, feasible research and analyze. The system use B/S structure, to build education web of school own on internet. There are 3 stages for system development including system analyze, system design and system implement. From bringing forward design project to carrying through particular investigation, the article analyzes feasibility and necessary of this project. In order to improve system integration and stabilization, I use particular system design. To test veracity and stability of testing stage, I use a lots of experiment data in system applied stage.

This article based on IE/Server, foregrounding use Java EE technology and Dreamweaver software, background process use MySQL as database to connect front ground.

II

KEYWORDS: Network, Education, Examination online ,B/S structure ,Java technology

3 基于JSP+servlet技术的在线考试系统—在线成绩查询

摘要

随着网络信息技术的日益成熟,网络信息技术已经极大的改变了人们的生活,包括教育、购物、咨询、办公等诸多领域。信息领域高速发展的今天,网页技术的应用也越来越广泛与成熟。网络信息技术的应用对于传统教育行业来说会有很大的改善。教育行业可以通过网络进行学生和老师的管理、组织学生进行在线考试、在网站上发布学校相关信息等活动。这样既能增加学校管理的透明度,又提高了学校的管理水平。在线考试还能充分的利用学校的现有资源,减轻教师的工作量,把老师从出卷、阅卷等一些繁重中做中解脱出来。

本系统采用了B/S结构,即使用浏览器进行在线考试。系统开发经历了系统分析、系统设计和系统实施三个阶段。从设计方案的提出,经过详细的调查,分析了方案的可行性和必要性,通过详细的系统设计,提高系统的集成性和便捷性;并在系统实施阶段收集了大量的实验数据,以便测试阶段系统的准确性和稳定性。

设计整体是基于浏览器/服务器(B/S)模式,前台应用Java 技术(stru,后台采用MySQL作为数据库与前台连接。

关键词:网络,教育,在线考试,B/S结构,Java技术

4

1 绪论

1.1课题背景及意义

随着Internet技术的发展,开发基于Web的管理信息系统(MIS)、最大限度利用高校现有资源、提高教学质量是高等院校教学上的新的研究课题。

管理信息系统(MIS)是集计算机网络技术、通信技术、信息处理技术于一体的一种人机交互的智能化计算机系统,对信息进行收集、传递、存储及加工处理,用于辅助决策进行事务管理。MIS的发展与计算机网络技术的发展紧密相关,随着因特网技术的广泛应用,MIS的体系结构发生了很大变化,从以往基于客户/服务器(Client/Server)模式的数据访问及安全体系发展到了当前基于浏览器/服务器(Browser/Server)模式的结构体系。

该系统采用IBM MyEclipse的集成开发环境,使用Java EE技术,开发基于Web 的在线考试系统。

网络考试系统将传统教育理论与基于Web的计算机协同工作(CSCW)软件系统有机结合起来,以满足各种课程的考试需求;该系统将教育理论、经验和方法引入系统内部,在完成网络考试任务的同时还获得了科学的量化指标,可以协助高校对学生考试进行科学的评价和分析;在线考试系统将实现网络组卷、在线考试、网上判分等各项相关的功能以优化传统考试的运行模式,在确保考试系统安全性的前提下,在线考试系统将极大地提高考试的组织效率,节约考试成本与时间。

1.2考试系统的发展现状

目前,各类考试系统层出不穷。按照考场所在位置可以分为:局域网环境的考试系统、基于Web的在线考试系统,以及二者都包含的网络考试系统。开发基于局域网络的考试系统可采用VB,VC,Delphi等开发工具,数据库访问多采用C/S模式。

随着教育信息化的不断深入,网络教育越来越多的运用在教学过程中。远程教学、在线辅导、在线考试已被越来越多的人所接受。目前,世界上许多国际考试都采用在线考试的方式,比如:微软认证(微软公司的MCSE,MCDBA,MCSD等考试),思科认证(Cisco career certification),惠普认证(HP-UX),SUN 公司的JAVA认证考试,以及TOFEL,GRE,这些考试都是通过网络实时进行考试的。国内的许多考试也搬到了网上,如驾照模拟考试系统,职业英语在线考试,以及众多的远程教育学院及网络学院的在线考试。

在众多的线考试系统中,题目类型大多采用单一的选择题模型,考生只需通过点

5

击正确的选项即可完成考试,同时系统根据已存入的正确答案,可迅速计算出学生的成绩。这种系统虽然可以实现自动判分,但由于考试的题型形式单一,不能适用各种科目考试的需求。

由此,本系统选择JSP技术,因为JSP技术可以跨越任何操作系统,配合IBM 的eclipse,结合开源的数据库MySql数据库管理系统可以使系统达到最佳组合,实现无缝连接。基于B/S模式(浏览器/服务器)的设计思想,便于扩充应用和升级维护,利用浏览器访问位于WEB服务器的纯WEB页面,实现网络组卷、在线考试、网上判分等各项相关的功能。实现在线网络出试卷与考试等各项相关的功能。

6

2 在线考试系统的需求分析

2.1系统结构规划

目前,网络应用软件运行的模式主要有两类:客户机/服务器(C/S)模式和浏览器/服务器(B/S)模式。网络考试系统的实现技术可以采用传统的客户机/服务器型(C/S)的MIS型架构,即数据库(试题库)内容放在远程的服务器上,在考试机上安装考试应用程序和数据库客户机配置,因此每次考试时要对机器进行安装、配置,考务工作比较繁琐。而且考试程序放在客户机上,安全性也受到一定影响,因此,客户机/服务器(C/S)模式难于适应当前信息技术与网络技术发展的需要。而利用Web技术,用Web服务器与数据库系统的连接,对数据进行处理,用户也可以通过简单易学的浏览器来处理所需要的数据。这种从浏览器到服务器的数据处理结构就是目前在Internet中十分流行的B/S模式(browser/server)。B/S(browser/server)与C/S(Client/Server)结构相比较,该结构将数据处理功能全部转移到服务器端,实现了数据处理和维护与用户机的无关性,并可随时向用户发送信息及提供系统未建立的数据,使网络的使用和维护更加方便,更快捷。因此,采用B/S架构能够有效的克服对机器的安装,配置等繁琐操作,具有通过浏览器处理数据等优势。

2.2开发工具的选择

2.2.1 三种动态网页制作技术

目前,开发基于Web的应用程序,最常用的三种动态网页语言有ASP(Active Server Pages),JSP(Java Server Pages),PHP (Hypertext Reprocessor)。ASP全名Active Server Pages,是一个WEB服务器端的开发环境,利用它可以产生和运行动态的、交互的、高性能的WEB服务应用程序。ASP采用脚本语言VBScript或JavaScript作为自己的开发语言。

PHP是一种跨平台的服务器端的嵌入式脚本语言。它大量地借用C,Java和Perl 语言的语法,并耦合PHP自己的特性,使WEB开发者能够快速地写出动态生成页面。它支持目前绝大多数数据库。

JSP是Sun公司推出的新一代站点开发语言,他完全解决了只能执行脚本级程序的特点,可以使用编译来执行程序。Sun公司借助自己在Java上的不凡造诣,将Java从Java应用程序和JavaApplet之外,又有新的硕果,就是Jsp--Java Server Page。Jsp可以在Serverlet和JavaBean的支持下,完成功能强大的站点程序。

JSP是新一代的技术,与传统ASP相比,JSP在许多方面都显示出更多的优越性。

7

配合Tomcat服务器,使开发的应用程序更加方便快捷。

2.2.2 Java 的优越性

开发基于Web应用程序所使用的JSP技术是运行在支持Java EE标准的服务器之上的,如tomcat,Jboss等。

从开发人员的角度来看:ASP和JSP技术都能使开发者实现通过点击网页中的组件制作交互式的,动态的内容和应用程序的WEB站点。ASP仅支持组件对象模型COM,而JSP技术提供的组件都是基于JavabeansTM技术或JSP标签库。由此可以看出两者虽有相同之处,但其区别是很明显的。

1)JSP标签可扩充性

尽管ASP和JSP都使用标签与脚本技术来制作动态WEB网页,JSP技术能够使开发者扩展JSP标签得以应用,JSP开发者能定制标签库,所以网页制作者充分利用与XML兼容的标签技术强大的功能,大大减少对脚本语言的依赖。

2)JSP跨平台的可重用性

JSP的开发人员在开发过程中一直关注可重用性。JSP组件(企业JavabeansTM,Javabeans,或定制的JSP标签)都是跨平台可重用的。企业Javabeans组件可以访问传统的数据库,并能以分布式系统模式工作于UNIX和WINDOWS平台。JSP技术标签可扩充功能为开发人员提供简便的,与XML兼容的接口即共享网页的打包功能使其完全的工业标准化。

2.3数据库管理系统的选择

开发B/S结构的在线考试系统,一定会处理大量的数据,因此选择合适的数据库管理系统对系统的性能影响深远。

基于Web的应用系统可选择的数据库管理系统有:Oracle,MS SQL Server,Mysql,Sybase, MS Access。其中,使用JSP技术开发的web应用程序可以Oracle, SQL Server, Access,MySql。而开源数据库Mysql与JSP技术都是同是SUN公司的产品(先已被Oracle公司收购),可以使软件开发达到更好的效果。

总之,JSP与Tomcat的完美组合,为Web模型提供了一个更为稳定,高效,安全的运行环境。采用目前最为先进的可视化开发系统MyEclipse以及最有效的数据库系统Mysql进行开发,保证了软件的功能,提高了开发的效率。

2.4在线考试系统的功能分析

在线考试系统分成三个系统功能模块:学生模块、教师模块(管理员)模块。学生通过主页登录后,开始进入考试界面,考生需在规定时间内完成该科目所有试题,系统自动评分,存入后台数据库,展示学生自考成绩,并可查看学生所选试题的标准答案,最后考生安全退出系统。

8

教师模块登录后,教师可以查看试题基本信息,添加该教师所教科目的选择题信息、填空题信息、发布选择题与填空题,按照班级学生的考试成绩和根据考生姓名查看考生成绩。

9

3 在线考试系统的概要设计

3.1系统目标

本系统属于小型的在线考试系统,可以从数据库中随机抽取试题,并且可以自动对考生的答案评分。本系统主要实现一下目标:

1)系统采用人机交互的方式,界面美观友好,信息查询灵活、方便,数据存储安全可靠。

2)实现从数据库中随机抽取试题。

3)对用户输入的数据,进行严格的数据检验,尽可能地避免认为错误。 4)实现对考试结果自动评分。 5)实现教师对试题信息单独管理。

6)系统最大限度地实现了易维护性和易操作性。

3.2系统功能结构

在线考试系统前台功能结构图如图3-1所示。在线考试系统前台有以下几个模块:注册模块,登陆模块,以及随机生成试卷并自动评阅,以及对整个考试系统的意见反馈。

图3-1 在线考试系统结构图

在线考试系统前台结构图

注册模块

登录模块

随机试题

查询模块

评分模块

生成考卷

开始开始

成绩查询

10

在线考试系统后台功能结构图如图3-2所示。在后台主要有学生管理模块和试题管理模块。在学生管理模块中可以通过姓名查找学生成绩或者查询一个班级的学生成绩,在试题管理模块中,可以录入,查询,管理选择题和填空题,对题型进行管理。

图3-2 在线考试系统后台结构图

3.3业务流程图

在线考试系统的业务流程图如图3-3所示。用户在登录界面根据相应的类型选择登录,如果没有账号则选择注册,登录成功后,根据选择的角色挑战到不同的页面,如果是老师,则跳转到后台管理界面,如果是学生,则生成一套试卷进行考试。

在线考试系统后台管理

学生管理 试卷管理

通过姓名查成绩

查找班级查成绩

管理试题

录入试题

11

图 3-3 系统流程图

3.4在线考试系统的数据库设计

在开发在线考试系统前,分析了系统的数据量,由于在线考试系统中试题及考生信息的数据量会很大,因此选择MySql数据库存储数据信息,数据库命名为db_examsystem,在数据库中创建了6个数据表存储不同信息。

3.4.1 在线考试系统的数据库表结构设计

1)根据设计好的E-R图在数据库中创建各表,tb_student保存所有老师信息表,如图3-9所示。

表4.1学生信息表

列名数据类型可否为空说明

studentid number NOT NULL 考生主键,外键username varchar(20) NOT NULL 用户名(唯一) name varchar(10) NOT NULL 姓名

password varchar(30) NOT NULL 用户密码

address varchar(50) NOT NULL 地址

sex varchar(2) NOT NULL 性别

email varchar(50) NULL 邮件

(2)教师信息表(teacher)包括的数据项有:主键,用户名、密码。

表4.2 教师表

列名数据类型可否为空说明

teacherid integer NOT NULL 教师主键username varchar(10) NOT NULL 用户名

password varchar(30) NOT NULL 密码

12

(3)科目信息表(subject)包括的数据项有:主键,科目名,考试时长,考试是否公开标志,科目描述,科目发布的时间。

表4.3科目信息表

列名数据类型可否为空说明

subjectid integer NOT NULL 科目主键,外键name varchar(20) NOT NULL 科目名字

time number NOT NULL 科目考试的时间state number(1,0) NOT NULL 标志考试公开

intro varchar(50) NOT NULL 科目描述

sdate varchar(50) NOT NULL 科目发布的时间

(4)问题信息表(question)包括的数据项有:问题主键,引用科目的外键,问题内容,问题类型标志,问题分数,正确答案,问题录入时间等信息。

表4.4 问题信息表

列名数据类型可否为空说明

questionid integer NOT NULL 问题主键,外键subjectid integer NOT NULL 引用科目外键content varchar(2000) NOT NULL 问题内容

qtype number(1,0) NOT NULL 问题类型标志score number(5,0) NOT NULL 问题分数rightanswer varchar(10) NOT NULL 正确答案

sdate varchar(10) NULL 问题录入时间

(5)选项信息表(options)包括的数据项有:选项主键,引用问题id,选项内容。

表4.5 选项信息表

列名数据类型可否为空说明

optionid integer NOT NULL 选项主键questionid integer NOT NULL 引用问题id

13

content varchar(2000) NOT NULL 选项的内容

(6)考试记录信息表(examrecord)包括的数据项有: 考试记录主键,引用考试结果的外键,引用问题外键,选择的答案。

表4.6 考试信息表

列名数据类型可否为空说明examrecordid integer NOT NULL 考试记录主键resultid number(9,0) NOT NULL 引用结果外键questioned number(9,0) NOT NULL 引用问题外键answer varchar(10) NOT NULL 选择的答案

(7)考试结果信息表(result)包括的数据项有:问题主键,引用考生外键,引用考试科目外键,考生得分,考试开始时间,考试结束时间

表4.7 考试结果信息表

列名数据类型可否为空说明

resultid integer NOT NULL 问题主键,外键studnetid integer NOT NULL 引用考生外键subjectid number(9,0) NOT NULL 引用考试科目外键score number(9,0) NOT NULL 考生得分

starttime Date NOT NULL 考试开始时间endtime Date NOT NULL 考试结束时间

(8)登录信息表(loginlog)包括的数据项有:登录主键,登录名,登录成功标志,是否为老师的标志,登录的IP地址,登录的时间。

表4.8 登录信息表

列名数据类型可否为空说明

loginlogid integer NOT NULL 登录信息主键username Varchar(30) NOT NULL 登录名

success number(1,0) NOT NULL 登录成功标志isteacher number(1,0) NOT NULL 判断是否是老师

ip varchar(15) NOT NULL 登录的ip地址

14

logtime Date NOT NULL 登录的时间

3.4.2 数据库的安全性、信息的保密性考虑

由于考试系统的特殊性,数据的安全与保密显得尤为重要。保密性是指用户在网上的所有信息应有一定的保密度,不同类型的用户之间的内容是互相保密的。安全性是指用户参加一次考试是一个过程,对于所有的用户,服务器都加以跟踪。为了确保其安全与保密性,采用如下方案:

一、考生的身份验证。凡进入在线考试的用户,都要通过用户身份验证才能进入。教师用户按权限进行操作,确保数据的公共性与私有性。不允许用户执行非法的操作,防止用户无意或有意进行的破坏。

二、在时间上加以严格控制。在用户登录后将用户的登陆时间存入到浏览器的cookies中,当用户断线重新连接后,进行的考试时间仍然是以最初登录考试系统的时间为参考点,而不是重新生成。

禁止用户查看试卷源文件及拷贝功能,即用户不能下载试卷到本地,不能通过获取源代码得到试卷。

以下为禁止使用鼠标右键功能的javascript脚本语言代码:

相关主题
文本预览
相关文档 最新文档