基于java的标准化考试系统含源文件.doc
- 文档编号:1215454
- 上传时间:2023-04-30
- 格式:DOC
- 页数:39
- 大小:1.39MB
基于java的标准化考试系统含源文件.doc
《基于java的标准化考试系统含源文件.doc》由会员分享,可在线阅读,更多相关《基于java的标准化考试系统含源文件.doc(39页珍藏版)》请在冰点文库上搜索。
.
摘要
随着教育信息化的发展,在线考试系统作为一种新型的考核手段和考试方式,在实际教学中得到了广泛的应用,并成为当前计算机信息系统研究与应用的热点领域。
本考试系统在综合分析了当前考试系统研究成果的基础上,采用B/S架构形势,利用IE浏览器作为界面设计,使用户可利用浏览器直接访问本平台,完成考试和测评。
JSP技术和MYSQL数据库以及其他网络程序设计开发平台为本系统主要开发技术,本论文对在线考试系统的最重要功能,包括用户登录、身份验证、新用户注册、教师学生信息管理、在线考试、管理员登录及管理等模块,以减轻教师的工作负担、提高工作效率和考试质量为设计目标进行了较深入的研究与分析。
关键词:
JSP技术;MySql数据库;B/S架构
摘要
Title:
OnlineExaminationSystem
Abstract:
Withthedevelopmentofeducationinformationization,onlineexaminationsystemhasbeenwidelyutilizedinourdailyteachingworkasanewassessmentmeansandexaminationmethod.Furthermore,ithasalsobeenahitresearchandapplicationfieldofcurrentcomputerinformationsystems.Theonlineexaminationsystempresentedinthispaperfirstlygivesanintegratedanalysisoncurrentexaminationsystemresearchachievements,andthenwemakeuseofB/SstructureandIEbrowserasinterfacedesigntomakesuretheuserscanaccesstheplatformdirectlythroughthebrowsertofinishtheexaminationandassessment.ThemaindevelopmenttechniquesutilizedinthissystemincludeJSPtechnologyandMYSQLdatabasesaswellasothernetworkprogrammingdevelopmentplatform.
Thisdissertationmakesarelativelyfurtheranalysisonthecrucialfunctionsofonlineexaminationsystem,includingdifferentmodulesofuserloging,identification,registration,informationmanagement,onlineexaminationandadministratorloginmanagement.Thedesignobjectivesoftheonlineexaminationsystempresentedinthispaperissetastoreduceteacher’sworkloadsaswellastoimproveworkingefficiencyandtestquality.
Keywords:
JSP;MySql;B/S
1绪论
本次标准化的制作为团队分工合作完成,我们将项目的开发分部成前台显示业务界面、后台功能管理业务模块以及数据持久化业务模块。
在这样的分工下,我主要负责对数据的控制性管理,即持久化业务模块功能。
1.1选题背景及研究意义
随着计算机科学、网络技术的迅猛发展,在教育领域里,实现网上考试可以充分利用学校现有的计算机软、硬件资源和网络资源实现考试;对于客观题由计算机来完成阅卷,可以将减少人工阅卷的工作量。
目前常用的网上考试系统主要有两种基本模式:
传统的C/S(客户机/服务器)模式和新型的B/S(浏览器/服务器)模式,所谓C/S模式,即数据库(比如,试题库)内容放在远程的服务器上,在客户机上安装相应软件;C/S结构在技术上虽然很成熟,但该结构的程序往往只局限在小型的局域网内部,不利于扩展。
并且,该结构的每台客户机都需要安装相应的客户端程序。
当拥有用户量比较多时,如果采用该结构,系统的安装与维护工作比较繁重。
同时,由于应用程序直接安装在客户机,客户机直接和数据库服务器交换数据,系统的安全性也受到一定影响。
与传统的基于C/S模式的网上考试系统相比,B/S体系将应用逻辑与用户界面和数据访问相分离,使系统的维护变得简单(只需要改变网页,即可实现所有用户的同步更新),同时简化了客户端的功能,用户只需浏览器即可使用此考试系统,更适宜于互联网上的考试。
1.2网上考试系统的现状分析
在信息技术迅速发展的今天,网络对于大多数人已不再陌生,并且其应用在人们的工作、学习和生活中越来越多地发挥着不可替代的作用。
近年来随着软件工程技术、信息通信技术的快速发展以及计算机网络技术的日趋成熟,网络教育在人们的教育活动中逐步得到普及。
网上考试是网络教育不可缺少的组成部分,是网络教育的一个重要环节。
网上考试在国外一些国家已经得到了蓬勃发展,人们的选学课程和考试都是通过网上进行的。
一些著名的考试,如Microsoft公司的MCSE(Microsoft系统工程师认证考试)、GMAT(工商管理硕士入学考试)、托福考试、GRE(美国研究生入学考试)、Oracle公司的SCJP(java程序远认证)等,都是采用网上考试的形式进行的。
在国内,目前绝大多数考试还停留在传统考试方式上,对互联网的真正应用仅限于一些考试的网上报名工作和网上成绩查询,还没有真正形成网上考试规模。
网上考试系统作为现代教育的一个子系统,是保证教育教学质量的重要手段。
在传统的考试方式下,组织一次考试要经过出题、考试、评卷、试卷分析等步骤,随着考试类型的增加及考试要求的提高,教师的工作量将会越来越大,并且其工作非常容易出错,在一定程度上说,传统的考试方式已经存在着改革的必要了。
Internet技术的发展使得考试的技术手段和载体发生了划时代的变化,考试从传统的纸笔考试到计算机辅助考试再发展到基于Web的网上考试成为现实。
现阶段,网上考试系统的主流开发技术已经相当成熟,且很好地适应了动态站点设计和基于Web的数据库访问的要求,是当前网上考试软件实现的主流技术之一。
在对大量关于网上考试系统资料的研究和学习后,根据工作的需要,针对本校实际情况特别是教学的需求,利用学校校园网已有的基础条件,我们提出一种基于Web的网上考试系统,并用MySql数据库与jsp技术结合进行了该系统的开发。
1.3考试系统的开发平台分类
考试系统由应用程序和数据库组成,开发程序主要有微软的VisualBasic、VisualC++、VisualFoxPro(VFP)和PowerBuilder、Delphi、JBuilder等,数据库主要有本地数据库Access和网络数据库SQLServer、MYSQL、ORACLE等。
从理论上说开发平台可以由任何一种开发程序和数据库组成,也就是任意两两组合,但是综合考虑系统需求、软件的兼容性等方面,往往有比较合适的组合。
对于数据库的选择,可以考虑数据存取速度、容量和网络存取等要求。
如果考试系统是单机版的,那么可以选择Access数据库;如果数据库数据的容量在几十万行之内,并且要求网络存取,那么可以选择SQLServer;如果数据库中的数据非常大,那么从安全性和速度等方面考虑采用ORACLE是最好的选择。
如果数据库采用SQLServer,有很多开发程序支持它,分别使用不同的技术连接和管理数据库。
1.VB+SQLServer,DAOs方法、ODBCAPI或VBSQL方法管理数据库;
2.VC+SQLServer,开放数据库连接OpenDatabaseConnectivity(ODBC)实现数据库访问;
3.Delphi+SQLServer,数据库引擎BorlandDatabaseEngine实现连接;
4.VFP+SQLServer,SQLPassThrough(SPT)技术直接访问ODBC函数,并把SQL语句发送给服务器执行;
5.Java+SQLServer,JDBC实现数据库访问。
2系统的关键技术及介绍
2.1Jsp技术
JSP(JavaServerPages)是由SunMicrosystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。
JSP技术有点类似ASP技术,它是在传统的网页HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件(*.jsp)。
用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行。
2.1.1Jsp的优势
JSP是在服务器上运行的编译好的公共语言运行库代码,它可利用早期绑定、实时编译、本机优化和盒外缓存服务。
这相当于在编写代码行之前便显著提高了性能。
(1)一次编写,到处运行。
除了系统之外,代码不用做任何更改。
(2)系统的多平台支持。
基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。
相比ASP/.net的局限性是显而易见的。
(3)强大的可伸缩性。
从只有一个小的Jar文件就可以运行Servlet/JSP,到由多台服务器进行集群和负载均衡,到多台Application进行事务处理,消息处理,一台服务器到无数台服务器,Java显示了一个巨大的生命力。
(4)多样化和功能强大的开发工具支持。
这一点与ASP很像,Java已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下。
(5)支持服务器端组件。
web应用需要强大的服务器端组件来支持,开发人员需要利用其他工具设计实现复杂功能的组件供web页面调用,以增强系统性能。
JSP可以使用成熟的JAVABEANS组件来实现复杂商务功能。
2.1.2常用到的JSP内置对象
Request对象:
该对象封装了用户提交的信息,通过调用该对象相应的方法可以获取封装的信息,即使用该对象可以获取用户提交信息。
它是HttpServletRequest的实例。
Response对象:
对客户的请求做出动态的响应,向客户端发送数据。
Session对象:
session对象是一个JSP内置对象,它在第一个JSP页面被装载时自动创建,完成会话期管理。
Application对象:
服务器启动后就产生了这个application对象,当客户在所访问的网站的各个页面之间浏览时,这个application对象都是同一个,直到服务器关闭。
但是与session不同的是,所有客户的application对象都是同一个,即所有客户共享这个内置的application对象。
Out对象:
out对象是一个输出流,用来向客户端输出数据。
out对象用于各种数据的输出。
Pagejava.lang.Object:
对应this关键字。
JSP网页本身,page对象是当前页面转换后的Servlet类的实例。
从转换后的Servlet类的代码中,可以看到这种关系:
Objectpage=this;在JSP页面中,很少使用page对象。
Config:
javax.servlet.ServletConfig的实例,该实例代表该JSP的配置信息。
常用的方法有getInitParameter(StringparamNarne)及getInitParameternarnes()等方法。
事实上,JSP页面通常无须配置,也就不存在配置信息。
因此,该对象更多地在Servlet中有效。
Exception:
java.lang.Throwable的实例,该实例代表其他页面中的异常和错误。
只有当页面是错误处理页面,即编译指令page的isErrorPage属性为true时,该对象才可以使用。
常用的方法有getMessage()和printStackTrace()等。
PageContext:
javax.servlet.jsp.PageContext的实例,该对象代表该JSP页面上下文,使用该对象可以访问页面中的共享数据。
常用的方法有getServletContext()和getServletConfig()等。
2.1.3J2SE实现网上考试系统
现在已经有了多种实用的考试系统,应用于各种类型的考试,那么为什么要开发本网上考试系统呢,主要出于以下几点考虑:
1.虽然各种类型考试系统研究很多,但是和操作系统无关或者支持多操作系统的考试系统的研究还比较少。
Java语言和平台无关,可以使用JBuilder开发多平台下的J2SE程序。
2.商品化软件一般只能获得考试系统的学生端,出于系统保密的原因,有时甚至不能批改试卷,例如省计算机一级考试下发到学校的是考试客户端,考试结束后学生答题数据包统一上交批改。
但是教师希望批改后统计和分析学生成绩,并且以直观的方式显示,从而发现问题改进教学。
3.自主控制考试题目,可以用于单元学习后的单元测试。
4.自主扩充修改题库,随时增加修改题目。
现有的考试系统不能完全符合我校定制的需求。
我校的老师对考试系统有特定的要求,例如可以在,多种方式分析成绩等。
结合教学和研究的需要,本人开发了基于J2SE的网上考试系统。
本考试系统采用C/S模式的软件体系结构,客户端使用Java集成开发环境JBuilder开发调试生成,数据库使用MicrosoftSQLServer2000技术,使用JDBC技术连接数据库。
本课题中的考试系统是基于J2SE的C/S模式考试系统,具体使用Java的开发平台JBuilder实现。
JBuilder的集成开发环境IDE广受业界赞誉,其可视化集成开发环境包括文本编辑器、工程创建工具、对象浏览器和调试器等。
JBuilder集成了软件开发、调试、部署、管理、版本控制等工具,提高了项目开发速度。
Java的开发平台称之为JDK,运行平台称之为JRE。
为了对Java技术的使用方向和范围进行区分,避免开发中关注不必要的技术特性,Sun公司将Java平台划分成3个版本:
1.J2SE(Java2PlatformStandardEdition):
核心用于桌面系统的Java2平台标准版,主要用于桌面应用软件的编程。
2.J2EE(Java2PlatformEnterpriseEdition):
针对企业级软件开发和应用的Java2平台企业版。
用于创建服务器应用程序和服务,主要用于分布式的网络程序的开发,如电子商务网站和ERP系统。
3.J2ME(Java2PlatformMicroEdition):
适用于嵌入式系统开发的Java2平台微型版,如手机和PDA的编程。
开发环境主要包括:
JavaVirtualMachine(JVM)、核心API、集成API、用户界面工具、部署技术、部署工具及API。
J2SE主要用于实现桌面应用软件开发,其实现的系统有以下特点:
1.支持多平台:
Java是一种与系统平台无关的语言。
在J2SE的开发模式下,使用JBuilder的NativeExecutableBuilder工具可以生成在不同的系统和处理器平台下执行的程序,目前支持的平台有Dos、Windows、Linux、Solaris和MacOS。
2.分布性:
Java带有强大有关网络协议族的库,使Java网络编程高效易用。
3.面向对象:
设计重点放在对象及对象的接口上。
4.简单性:
Java的语法比C++简单,只能在一个类中定义公用和静态的变量来实现一个全局变量,不支持goto语句,自动管理内存并且进行垃圾收集。
5.可靠性和安全性:
Java可以用来构建一定程度防病毒和防攻击的系统。
6.其余特性:
多线程、动态性、解释、结构中立性、可移植性、鲁棒性。
2.2MySql数据库
MySQL是一个精巧的SQL数据库管理系统,虽然它不是开放源代码的产品,但在某些情况下你可以自由使用。
由于它的强大功能、灵活性、丰富的应用编程接口(API)以及精巧的系统结构,受到了广大自由软件爱好者甚至是商业软件用户的青睐,特别是与Apache和PHP/PERL结合,为建立基于数据库的动态网站提供了强大动力。
MySql是一种关系型数据库。
此种数据库采用数据分类表格化的架构,将相关的数据组成表格,表格和表格之间可以有关联性,因此称为关系型数据库。
系统管理员可透过应用程序进入服务器,更改数据型态,管理及处理服务器资源。
MySql也是一种具备延展性的数据库(scalabledatabase),亦即MySql可以支持多位使用者同时进入数据库中处理大量的数据。
如图2-1所示:
图2-1MySql工作方式
2.3Browser/Server模式
2.3.1Browser/Server模式简介
随着网络规模的日益扩大,应用程序的复杂程度不断提高,传统的数据库应用架构已经不能胜任。
为了充分利用网络资源,越来越多的信息需要在www(WorldWideWeb)上发布,实现信息最大程度的共享。
Browser/Server结构伴随着Internet的发展而很快地发展起来。
Browser/Server体系结构是一种三层结构,其组成如图2-2所示:
图2-2B/S结构示意图
第一层,浏览器是表示层,完成用户接口功能。
在客户端向URL(UniformResourceLocator)指定的Web服务器提出服务器请求,Web服务器用HTTP协议把所需文件资料传给用户,客户端接受并显示在WWW浏览器上。
第二层,Web服务器是功能层,完成客户的应用功能。
即Web服务器接受客户请求,以CGI或ASP与数据库连接,进行申请处理,而后数据库结果返回Web服务器,再传至客户端。
第三层,数据库服务器是数据层。
数据库服务器应客户请求独立地进行各种处理。
Browser/Server系统中的Browser作为一种通用的浏览器,一般没有任何应用程序;Browser/Server系统中的中间层是B/S结构中相当关键的部分,中间层在Browser/Serve系统中充当着双重身份:
从Browser的角度看,它是WebServer,而从DBServer的角度看,它是一个功能丰富的Client。
2.3.2Browser/Server模式的特点
B/S系统的这种三层体系结构的特点:
·友好、统一的图形用户界面
在Browser/Server系统中,由于遵循了统一的标准协议,而且使用浏览器作为统一的客户软件,用户无须再花费大量的时间与精力去学习和熟悉不同的系统的使用方法,用户可以把大部分的精力集中在系统的内容上,而不是去记住系统的使用说明书。
·减少网络中的数据流量
在Browser/Server系统中,由于数据的处理工作是由服务器来执行的,因此在读取数据和保存数据时,这些数据只在几台服务器之间传输,不需要通过浏览器与服务器之间的网络。
采用Browser/Server,可以充分地利用服务器之间的高速连接通路,减少在浏览器与服务器之间的长距离,减少网络中的数据流量。
·更好的开放性
开放性是发挥分布式系统优势的基本保障,它为不同厂商生产的产品协同工作创造了条件,但是这些产品还应当遵循统一的标准。
在Browser/Server系统中,采用了一致的HTTP协议以及其他一些共同的规则,不同系统之间的冲突将会大大减少。
·平台无关性
在Browser/Server系统中,程序的主体分布在Mid-Server上,客户机上只有一个标准的浏览器,它与服务器之间采用标准的TCP/IP及HTTP等协议进行通信,因此客户端的平台是相对独立的,它不依赖于服务器方所采用的软硬平台。
用户可以自由地选择自己熟悉的平台进行工作。
·有效地解决异种数据库联合使用的问题
在Browser/Server系统中,由于采用了Browser/Mid-Server/Server的三层体系结构,只需在中间层服务器上安装数据库的驱动程序,或者使用专门的服务器用作与数据库连接的桥梁。
因为程序的主体是运行在中间服务器上的,客户端只是一个浏览器,避免了在客户端重复安装数据库驱动程序的问题,可以有效地解决异种数据库联合使用的问题。
·客户端的维护工作简单
Brower/Server系统中,由于采用了通用的客户软件,维护工作主要集中在服务器端,而服务器是由专门的管理人员集中管理的,对系统的维护相对简单得多。
基于B/S结构的Web应用体系有如此多的优势,因此本网上考试系统的主体就采用这种B/S体系结构。
2.4Spring技术
2.4.1Spring简介
Spring是一个开源的Java/JavaEE全功能栈(full-stack)的应用程序框架,以Apache许可证形式发布,也有.NET平台上的移植版本。
该框架基于ExpertOne-on-OneJavaEEDesignandDevelopment(ISBN0-7645-4385-7)一书中的代码,最初由RodJohnson和JuergenHoeller等开发。
SpringFramework提供了一个简易的开发方式,这种开发方式,将避免那些可能致使底层代码变得繁杂混乱的大量的属性文件和帮助类。
2.4.2Spring中包含的关键特性
强大的基于JavaBeans的采用控制翻转(InversionofControl,IoC)原则的配置管理,使得应用程序的组建更加快捷简易。
一个可用于从applet到JavaEE等不同运行环境的核心Bean工厂。
数据库事务的一般化抽象层,允许声明式(Declarative)事务管理器,简化事务的划分使之与底层无关。
内建的针对JTA和单个JDBC数据源的一般化策略,使Spring的事务支持不要求JavaEE环境,这与一般的JTA或者EJBCMT相反。
JDBC抽象层提供了有针对性的异常等级(不再从SQL异常中提取原始代码),简化了错误处理,大大减少了程序员的编码量。
再次利用JDBC时,你无需再写出另一个'终止'(finally)模块。
并且面向JDBC的异常与Spring通用数据访问对象(DataAccessObject)异常等级相一致。
以资源容器,DAO实现和事务策略等形式与Hibernate,JDO和iBATISSQLMaps集成。
利用众多的翻转控制方便特性来全面支持,解决了许多典型的Hibernate集成问题。
所有这些全部遵从Spring通用事务处理和通用数据访问对象异常等级规范。
灵活的基于核心Spring功能的MVC网页应用程序框架。
开发者通过策略接口将拥有对该框架的高度控制,因
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 java 标准化 考试 系统 源文件