基于J2EE架构的在线考试系统计算机毕业设计论文docx.docx
- 文档编号:27026154
- 上传时间:2023-06-25
- 格式:DOCX
- 页数:23
- 大小:194.71KB
基于J2EE架构的在线考试系统计算机毕业设计论文docx.docx
《基于J2EE架构的在线考试系统计算机毕业设计论文docx.docx》由会员分享,可在线阅读,更多相关《基于J2EE架构的在线考试系统计算机毕业设计论文docx.docx(23页珍藏版)》请在冰豆网上搜索。
基于J2EE架构的在线考试系统计算机毕业设计论文docx
基于J2EE架构的在线考试系统
摘要:
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
2.3.2.1Applets7
2.3.2.2应用程序客户端7
2.3.3WEB层组件7
2.3.4业务层组件7
2.3.5企业信息系统层8
2.3.6J2EE架构的优势8
3测试系统具体设计9
3.1基于J2EE的E-MTTEST在线考试系统构架概要9
3.1.1E-nettest系统结构9
3.1.2E-nettest.数据流程10
3.2E-xettest考试系统环境设置11
3.3E-nettest总体功能介绍11
3.4E-xettest模块设计11
4关键技术
4.1TOMCAT数据库连接池介绍与配置14
4.2APPLET数字签名技术16
4.3如何调用JAVA外部程序17
基于J2EE架构的在线考试系统
计算机科学与技术专业001班沈志钢指导教师:
袁贞明张佳
摘要:
日前国内基于B/S、C/S结构的在线考试系统产品12经有许多,本文首先介绍了这些考试系统的形成和发展过程,大致结构。
然后通过仔细分析,提出了口前的这些系统还存有系统更新和维护等种种弊端,仍不够成熟。
基于对现有产殆的思考,结合J2EE的成熟技术,我们想到了是否可以将该技术运用在在线考试系统屮,提出了…个基于J2EE架构的在线考试系统。
通过将该架构与已有结构的在线考试系统进行比较,分析了该架构的优势,重点介绍了该框架的整体构造以及相关的概念和技术。
并通过设计了一个基于J2EE架构的在线考试系统对该架构做了一•个比较深入的剖析。
最后,对J2EE技术做了-•个总结性的展望,认为该技术有着良好的发展空间和广阔的前景。
关键i司:
J2EE,在线考试系统,b/s,JavaBean,jsp,数据池
Abstract:
Atpresent:
therearemanyb/s,c/sstructureexaminationsystemsbasedon-line,thispaperfirstintroducedmostofthesesystems9formedanddevelopedprocess,andstructures.Then,analysisthesesystems,andpointedoutthattherestillhavemanydefectsaboutthem,justliketheupdateandtheservicetothesesystems.Thinkingbasedontheseproduces,andnowtheJ2EEtechnicalisbecomingmature,wethinkingaboutisthistechnicalcanbeusedinexaminationsystems,sovvementionedaon-linesystembasedonJ2EEstructure^Comparedtoothersystems,andalsoanalysisits,advantages,weintroducedthisstructuredconstructionandtechnicalasemphasize*Finally,makeJ2EEtechnicalaexpectationanditcanprogressquietgreatandhaveaniceforegrounde
Keywords:
J2EE,Examinationsystemon-line,b/s,JavaBeanJsp,datapool
1引言
现阶段,学校与社会上的各种考试人都采用传统的考试方式,在此方式下,纟H.织一次考试至少要经过五个步骤,即出卷、考生考试、阅卷、成绩评估和试卷分析。
显然,随着考试类型的不断增加及考试要求的不断提高,教师的工作量将会越來越人,并且其工作将是一件十分繁琐和非常容易出错的事情,对以说传统的考试方式己经不能适应现代考试的需耍。
随着计算机应用的迅猛发展,网络应用不断扩大,如远程教育和虚拟大学的出现等等,且这些应用正逐步深入到T•家万户。
人们迫切要求利用这些技术來进行在线考试,以减轻教师的工作负担及提髙工作效率,从而提高了考试的质量,使考试更趋于公证、客观、激发学生的学习兴趣。
例如目前许多国际著名的计算机公司所举办的备种认证考试绝大部分采用这种方式。
为了适应新形势的发展,目前国内有很多公司团体研究开发了基于Web的考试系统。
而我们知道网络应用软件运行的模式主要有二类:
Client/Server模式、Browser/Server模式。
前者主要的缺点是维护、升级较麻烦,厉者是近儿年伴随Internet迅速发展而应运而生的一种技术,在这种模式卜S客户端需要一个浏览器,服务器端是WebServer,而WebServer是与数据库和应用服务器的紧密结合,可见,这种模式是瘦客户端,即对客户端的要求不高•如今,很多部门的业务系统、企业的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使用多层的分布式应用模型,应用逻辑按功能划分为组件,齐个应用组件根据他们所在的层分布在不同的机器上。
事实上,smv设计J2EE的初衷正是为了解决两层模式(client/server)的弊端,在传统模式屮,客户端担当了过多的角色而显得臃肿,在这种模式屮,第一次部署的时候比较容易,但难于升级或改进,可伸展性也不理想,而且经常基于某种专有的协议一一通常是某种数据库协议。
它使得重用业务逻辑和界而逻辑非常困难。
现在J2EE的多层企业级应用模型将两层化模型屮的不同层面切分成许多层。
一个多层化应用能够为不同的每种服务提供一个独立的层,以下是J2EE典型的四层结构:
•运行在客户端机器上的客户层组件
•运行在J2EE服务器上的Web层组件
•运行在J2EE服务器上的业务逻辑层组件
•
运行在EIS服务器上的企业信息系统(Enterpriseinformationsystem)层软件
图1J2EE典型的四层结构
2.3.2客户层组件
J2EE应用程序可以是基于web方式的,也可以是基于传统方式的。
J2EE规范屮指出,客户层组件有两种,它们是应用客户端程序和applets客户端。
2.3.2.1Applets
从Web层接收的一个Web页面可以包含内嵌的applet0一个applet是一个用Java编程语言编写的小的客户端应用程序,它在安装在Web浏览器屮的Jdvn虚拟机屮运行。
然而,为了在Web浏览器屮成功地运行applet,客八端系统很可能需要Java插作和安全策略文件。
Web纽件是川来趙立一个Web客户端程序的首选的API,因为这样在客八端系统屮就不需要插件和安全策略文件。
同样的,使用Web组件可以有效地改善应用程序设计,因为它们提供了一个将应用程序设计和Web页面设计有效分离的途径.Web页面的设计者可以不必关心Java编程语言的语法就能很好地完成白己的工作。
2.3.2.2应用程序客户端
一个J2EE应用程序客户端运行•在客户端机器上,它使得用户可以处理需要比标记语言所能提供的更丰富的用户界面的任务。
具有代表性的是用Swing或抽象窗ILT•具包(AWT)APT建立的图形用户界面(GUI),但是一个命令行界面也是当然可能的。
应用程序客八端直接访问运行在商业层的enterprisebean。
然而,如果应用程序需要授权,一•个J2EE应用程序客户端可以打开一•个HTTP连接来与一个运行在Web层的servlet建立通信。
2.3.3WEB层组件
J2EEweb层组件可以是JSP页面或Servlets.按照J2EE规范,静态的HTML页面和Applets不算是web层组件。
正如下图所示的客八层那样,web层可能包含某些JavaBean对象來处理用八输入,并把输入发送给运行在业务层上的enterprisebean來进行处理。
Web层
Web浏览器v
A.
A
Web贝面9Applet和可选的
JavaBean类
JSP页面Servlet
.JavaBean类何选)
业务层
za/uo:
/j*tt/刊V"和可选的
JavaBean类
—>
J2EE服务器
图2Web层组件
2.3.4业务层组件
业务层代码的逻辑用來满足银行,零售,金融等特殊商务领域的需要,由运行在业务层上的enterprisebean进行处理.下图表明了一个enterprisebean是如何从客八端程序接收数据,进行处理(如果必要的话),并发送到EIS层储存的,这个过程也可以逆向进行。
有三种企业级的bean:
会话(session)beans,实体(entity)beans,和消息驱动(message-driven)beans0会话bean表示与客八端程序的临时交互.当客八端程序执行完后,会话bean和相关数据就会消先相反,实体beem表示数据库的表屮一•行永久的记录。
当客户端程序屮止或服务器关闭时,就会有潜在的服务保证实体bean的数据得以保存.消息驱动bean结合了会话bean和JMS的消息监听器的特性,允许一•个业务层纽件异步接收JMS消息。
业务层EIS层
J2EE服务器
Web浏览器
Feb页jfi|,Applet和可选的JavaBean类
序客户端和可选的TavaBcan类
图3业务层组件
2.3.5企业信息系统层
企业信息系统层处理企业信息系统软件包括企业基础建设系统例如企业资源计划(ERP),人型机事务处理,数据库系统,和其它的遗留信息系统.例如,J2EE应用组件可能为了数据库连接需要访问企业信息系统。
2.3.6J2EE架构的优势
J2EE为搭建具有可伸缩性、灵活性、易维护性的系统提供了良好的机制:
1)保留现存的IT资产:
由于技术需求的不断更新,在线考试系统必须可以适应新的耍求,利用已有的对考试系统方而的投资,而不是重新制定全盘方案。
这样,一个以渐进的(而不是激进的,全盘否定的)方式建立在已有考试系统之上的服务器端平台机制杲学校和单位所需求的。
J2EE架构可以充分利用用户原有的投资,这Z所以成为可能是因为J2EE拥有广泛的业界支持和—些重要的'企业计算'领域供应商的参与。
每一个供应商都对现有的客户提供了不用废弃已有投资,进入可移植的J2EE领域的升级途径。
由于基于J2EE平台的产品儿乎能够在任何操作系统和硬件配置上运行,现有的操作系统和换件也能被保留使用。
2)高效的开发:
J2EE允许客户把一些通用的、很繁琐的服务端任务交给屮间件供应商去完成。
这样开发人员可以集屮精力在如何创建商业逻懾上,相应地缩短了开发时间。
高级屮间件供应商提供以下这些复杂的屮间件服务:
1状态管理服务--让开发人员写更少的代码,不用关心如何管理状态,这样能够更快地完成程序开发。
2持续性服务一让开发人员不用对数据访问逻辑进行编码就能编写应用程序,能生成更轻巧,与数据库无关的应用程序,这种应用程序更易于开发与维护。
3分布式共亨数据对象服务--让开发人员编制高性能系统,极人提高整体部署的伸缩性。
3)支持异构环境:
J2EE能够开发部署在异构环境中的可移植程序。
基于J2EE的应用程序不依赖任何特定操作系统、屮间件、硬件。
因此设计合理的基于J2EE的程序只需开发一次就可部署到齐种平台。
由于考试系统很多时候需要提供给许多不同的学校和单位使用,这些学校和单位的软件换件环境存在有较人的差异,所以能支持异构环境这点就十分关键。
同时J2EE标准也允许客八订购与J2EE兼容的第三方的现成的组件,把他们部署到异构环境屮,节省了由自己制订整个方案所需的费用。
4)伸缩性:
学校和单位必须要选择一种服务器端平台,这种平台应能提供极佳的可伸缩性去满足可能不断增多的在他们系统上进行考试的人批新的考生。
基于J2EE平台的应用程序可被部署到各种操作系统上。
例如可被部署到髙端UNIX与人型机系统,这种系统单机可支持64至256个处理器。
(这是NT服务器所望尘莫及的)J2EE领域的供应商提供了更为广泛的负载平衡策略。
能消除系统中的瓶颈,允许多台服务器集成部署。
这种部署可达数千个处理器,实现可高度伸缩的系统,满足未来系统升级和规模扩大的需要。
5)稳定的可用性:
虽然在线考试系统不象一•般企业的服务器端平台必须能全天候运转以满足公司客户、合作伙伴的需要,但起码必须保证考生考试的这段时间内不发生意外停机等故障,从而影响到考生考试。
J2EE部署到对靠的操作环境屮,他们支持长期的对川性。
一些J2EE部署在WINDOWS环境屮,客户也可选择健壮性能更好的操作系统如SunSolaris、IBM0S/390.最健壮的操作系统可达到99.999%的可用性或每年只需5分钟停机吋间。
这是对在线考试系统,特别对于那些比较重要的考试的理想选择。
3测试系统具体设计
3.1基于J2EE的E-nettest在线考试系统构架概要
3.1.1E-nettest系统结构
我们的系统结构是针对了J2EE的四层架构进行设计的
图4系统结构
如图所示,客八层负责提供用八界而接口,包括试题的显示和考生答案的输入。
Web层负责将得到的考生登陆和题目上传的信息送交给业务层,同时,将从业务层处得到考试的相关信息输出到html页而为考生提供相关服务。
业务层负责系统的具体逻辑实现,主要是得到数据池屮的数据源,向数据库屮提交和获得数据等。
信息系统层主耍采用了Microsoftsql2000数据库对数据进行存贮管理。
3.1.2E-nettest数据流程
考生首先进入登陆页面,输入用户名和密码,系统将该用户名和密码与数据库屮考生表的用户名密码一一•核对,如果存在该考生且未登陆,则弹出一个考试的主页面正常进入考试,并将该考生直为考试状态。
否则会跳到出错页面要求考生重新登陆。
进入考试页面厉,有许多分类的试题要求考生分别完成,考生点击相应页面的超链接,进入做题,在每个分页面的顶部,都将会有对该部分试题的操作捉示和注意事项,考生阅读完相关事项厉进行做题,何做完该部分试题都必须保存,系统将收集到的考生做题信息上传到数据库屮,考生则继续做其他部分试题。
完成所有考试后,考生点击交卷标记,系统保存考生所有的答题信息后正常他退出,并将考生置于离线状态。
具体流程见下图:
图5系统流程
3.2E-nettest考试系统环境设置
本系统运行环境如下:
服务器端:
软件环境:
win2000/ntTomcat,jsdk用以支持jsp网页,sqlserver数据库服务器
硬件环境:
p31.0以上cpu,256MRom
客户端:
软件环境:
win9x/2000/xp,ie5.0以上浏览器
硬件环境:
p2233以±cup,32M以上内存
3.3E-nettest总体功能介绍
客户端
登陆服务:
负责用八的登陆的输入,与服务器端的验证,如果是重登陆的,需重登陆密码。
题n下载:
负责从数据库屮读取试题数据,卜载到客户端。
用八答题:
负责在客八的浏览器中显示卜•载的题目,供用户做题。
题目上传:
负责将客八所答题h的答案上传到服务器端。
管理端
生成试题:
负责从试题源中生成当场考试的相应试题。
试题初始化:
负责在每场考试前清空试题回收信息。
考生监控:
负责在考试期间管理监控各考生的考试状态。
试卷冋收:
负责在考试结束后,将考生提交的答案上传到数据库服务器屮。
试卷批阅:
负责白动化批阅冋收试卷(客观题)。
数据库连接服务:
负责从各共性服务层模块接收相关数据库连接,查询,修改等服务,并返冋相关数据。
数据访问层异常管理:
负责数据库连接服务出现的异常。
3.4E-nettest模块设计
各模块的详细介绍:
1)考生登陆模块:
在客户层,考生通过主登陆页面输入用户名与密码。
在web层,将从用户输入处得到的用户名和密码与从业务层返冋的相应用户名和密码作比
较,如果用八存在密码正确且述未登陆就登陆考试主页而,否则跳到出错页而要求重新登陆。
在业务层,获得与mssql数据库的连接,并取出所有的用八名和密码信息。
将该信息传入web层□
在EIS层,对应的是mssql数据库中的students表格。
2)做题模块:
(1)选择题:
在客户层,浏览器屮显示每个考生所对应的考试题日,要求考生输入考试答案。
并有一个提交按饥供考生做完题目后上传题目。
在%b层,jsp负责从业务层屮获得题目,并将题目组织在一-起向客户端显示。
在业务层,获得与数据库的连接,并且取出选择题题目。
在EIS层,对应的是数据库屮choose表格。
(2)word题:
在客户层,在浏览器中applet的textarea区域显示word题的要求,并利用applett数字签名技术,突破访问本地文件系统的限制,打开wed做题。
在Web层,利用servlet的文件上传下载技术,将读出的word文件下载到本地磁盘。
在业务层,获得数据库连接,并取出word题U,word题是以二进制流的方式将word文件存贮在数据库。
在E1S层,对应的是数据库屮word表格。
3)答案上传模块:
在客八层,在浏览器屮单击捉交按钮将做完的答案捉交制相应页面
在Web层,将用户提交的答案提交给相应的javabean组件,并在客户端显示提示信息。
在业务层,将提交上來的答案存入相应的数据库屮。
在EIS层,数据库屮students表格,有两个相应字段用來存放该用户所对应的提交答案。
图6系统模块
3.5E-nettest数据库设计
由于目前市场上存在有许多的数据库产品,较流彳亍的有oracle,Mssql,Access,等,oracle数据库多用于大企业屮,稳定性最好,但价格也较高,且系统要求也较高,而Access数据库不支持网络功能,一般只对个人或小型的系统适用,而对于本系统來说,采用Msssql则是一个较为合适的选择,Mssql是微软网络数据库的土打产品,支持网络功能,日志记录筹多种方便的服务,并且有着较为稳定的性能和可靠的管理。
下而是数据库表的设计:
Studentstable:
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二离线)
choosetable:
QNUM,
1NT,
4,notnull;
QCON,
TEXT,
16,notnull;
QANSA,
TEXT,
50,notnull;
QANSB,
TEXT,
50,notnull;
QANSC,
TEXT,
50,notnull;
QANSD,
TEXT,
50,nol.null;
QANSE,
TEXT,
50,notnull;
QANS,
TEXT,
1,notnull;
Wordtable:
TOPICNUMBER,nvarchar,2,notnull;
QUESTIONTITLE,text,16,notnull;
QUESTIONCONTENT,image,16,notnull;
4关键技术
4.1tomcat数据库连接池介绍与配置
数据库连接池概述:
数据库连接是一种关键的有限的昂贵的资源,这一点在多用户的网页应用程序屮体现得尤为突出。
对数据库连接的管理能显箸影响到瘵个应川程序的伸缩性和健壮性,影响到程序的性能指标。
数据库连接池正是针对这个问题提出來的。
数据库连接池负责分配、管理和释放数据库连接,它允许应川程序重复使川一•个现有的数据库连接,而再不是重新建立一个;群放空闲吋间超过最人空闲吋间的数据库连接来避免因为没有释放数据库连接而引起的数据库连接遗漏。
这项技术能明显提高对数据库操作的性能。
数据库连接池在初始化时将创建一定数量的数据库连接放到连接池屮,这些数据库连接的数量是由最小数据库连接数来设定的。
无论这些数据库连接是否被使用,连接池都将一廿•保
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 J2EE 架构 在线 考试 系统 计算机 毕业设计 论文 docx