ImageVerifierCode 换一换
格式:DOCX , 页数:21 ,大小:208.03KB ,
资源ID:25036468      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/25036468.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(jsp+mysql在线考试系统论文.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

jsp+mysql在线考试系统论文.docx

1、jsp+mysql在线考试系统论文目 录1 系统概述 31.1系统需求 31.2 国内外研究现状 31.3网站的开发语言和语言功能 41.4 系统具备的特点 62 在线考试系统的系统的需求分析 62.1在线考试系统的需求分析 62.2在线考试系统的概要设计 73 在线考试系统的详细过程 83.1系统环境 93.2数据连接的设计 93.3 servlet的使用 93.4部分功能的设计与实现举例 103.4.1在线考试功能的设计与实现 103.4.2系统管理功能的设计与实现 123.5安全性设计 134 系统的测试 144.1系统测试分析 144.1.1测试过程 144.1.2 测试方法 154.

2、1.3 具体的方案测试 154.2 系统测试结果 155 课程设计总结 151 系统概述1.1系统需求网络考试系统是实现网络教育的一个重要组成部分,通过网络考试系统你可以及时测试自己的学习进度、自己对已学习知识的掌握程度。网络考试与传统考试相比有着明显的优势,考生和教师可以从世界的任何角落,通过浏览器接入因特网来使用考试系统,不受地域的限制,同时也使得用户可以更加灵活地安排考试时间,可以在任何时候使用网络考试系统进行自测,快速查询考试成绩。所以,网络考试系统的开发和应用现在正受到越来越多的大学的重视。在本单位,网络考试模式是教学改革的正式项目之一,它可以运用到多种教学过程中。例如对于本单位公共

3、课程“计算机应用基础”,要求在计算机等级考试前进行一次拟上机考试,以前都是由老师自己命题,然后复制题目到每个学生的机器上,学生把答案写一个文件中,做完题后由教师回收该文件进行判分。这样的考试,过程变得非常复杂,让教师的负担很重;而且考试题目不统一,经常出现很多无法估计的问题,考试效果不能达到预想的目的。基于上述情况,迫切需要一个界面统一、管理使用方便的网络考试系统的出现。校园网建设的普及和完善以及Web数据库技术的快速发展为网络考试系统开发提供了良好的媒介和基础,使我们对考试过程的实施和管理由书面化和单机化过渡到了网络化。1.2 国内外研究现状互联网的考试用途很早就受到了各方面的重视,既然考试

4、能够通过电脑完成,那么网上考试从技术上来说就是可行的。国内著名的工商管理考试GMAT于1999年就开始实行算机考试,2000年后GRE,TOEFL考试也开始采用计算机考试,向着网络化方向发展。近年来出现的各种rI认证考试以及英语GM八T和GRE考试已经是一种基于计算机网络的考试,完全摆脱了纸和笔。考生使用计算机答卷,通过网络提交答卷,自动阅卷。网络考试的优点是显然的:阅卷更加迅速,考试结束考生即可知道考试结果,还免了纸介质的试卷和答卷的传输,从而降低了保密成本。通过抽取不同的试题,或者是随机变换试题顺序或答案顺序,可以做到一人一卷,极大地降低了作弊的几率。另外,网络考试为自适应考试提供了可能。

5、基于计算机网络的考试需要专门的较高水平的技术支持,考试己经发展为一种产业。网络考试系统的实现技术有多种,可以采用传统的客户机/服务器(C/S)型的Mls型架构,即试题内容放在远程的服务器上,在考试机上安装考试应用程序和数据库客户机配置,因此每次考试时要对机器进行安装、配置,这样一来考务工作比较烦琐;而且考试程序放在客户机上,安全性也受到一定影响。另外一种考试系统采用W七b技术实现。节几b技术超越了传统的“客户机/服务器”两层结构,采用了三层体系结构:用户界面层/事务层/数据库层。因此Web结构有着更好的安全性。在用户机上不需要安装任何应用程序,只需要有一个标准的web浏览器就可以。应用程序可以

6、安装在事务层所在的计算机上,试题存放在数据库服务器上(事务层和数据库可以是同一台机器)。采用这种体系结构的计算机网络考试和管理系统适用于一个考场或几十个考场、几十人或几万人同时进行无纸化考试,解决了考试系统对客户机软件过分依赖的问题,减轻了客户机软件维护工作量。比以往的考试系统更具有实用性。而且,考试系统安装和试题装卸的程序简易,进行不同类别试题的考试时仅需要在服务器上进行试题的更换处理,对考场的计算机配置应考专业的相应软件,考生就可以进行考试。目前国内成熟的网络考试系统多为QS模式,比如清华毫太网络考试系统,B/S模式的比较少,其中基于JavaZ技术的网络考试平台则更少。1.3网站的开发语言

7、和语言功能(1) JSP技术JavaServer PagesTM (JSP)技术为创建显示动态生成内容的Web页面提供了一个简捷而快速的方法。JSP技术的设计目的是使得构造基于Web的应用程序更加容易和快捷,而这些应用程序能够与各种Web服务器,应用服务器,浏览器和开发工具共同工作。下面是JavaServer PagesTM具的一些特点:将内容的生成和显示进行分离使用JSP技术,Web页面开发人员可以使用HTML或者XML标识来设计和格式化最终页面。使用JSP标识或者小脚本来生成页面上的动态内容。生成内容的逻辑被封装在标识和JavaBeans组件中,并且捆绑在小脚本中,所有的脚本在服务器端运行

8、。如果核心逻辑被封装在标识和Beans中,那么其他人,如Web管理人员和页面设计者,能够编辑和使用JSP页面,而不影响内容的生成。在服务器端,JSP引擎解释JSP标识和小脚本,生成所请求的内容(例如,通过访问JavaBeans组件,使用JDBCTM技术访问数据库,或者包含文件),并且将结果以HTML(或者XML)页面的形式发送回浏览器。这有助于作者保护自己的代码,而又保证任何基于HTML的Web浏览器的完全可用性。强调可重用的组件绝大多数JSP页面依赖于可重用的,跨平台的组件(JavaBeans或者Enterprise JavaBeansTM组件)来执行应用程序所要求的更为复杂的处理。开发人员

9、能够共享和交换执行普通操作的组件,或者使得这些组件为更多的使用者或者客户团体所使用。基于组件的方法加速了总体开发过程,并且使得各种组织在他们现有的技能和优化结果的开发努力中得到平衡。采用标识简化页面开发Web页面开发人员不会都是熟悉脚本语言的编程人员。JavaServer Page技术封装了许多功能,这些功能是在易用的、与JSP相关的XML标识中进行动态内容生成所需要的。标准的JSP标识能够访问和实例化JavaBeans组件,设置或者检索组件属性,下载Applet,以及执行用其他方法更难于编码和耗时的功能。通过开发定制化标识库,JSP技术是可以扩展的。今后,第三方开发人员和其他人员可以为常用功

10、能创建自己的标识库。这使得Web页面开发人员能够使用熟悉的工具和如同标识一样的执行特定功能的构件来工作。JSP技术很容易整合到多种应用体系结构中,以利用现存的工具和技巧,并且扩展到能够支持企业级的分布式应用。作为采用Java技术家族的一部分,以及Java 2(企业版体系结构)的一个组成部分,JSP技术能够支持高度复杂的基于Web的应用。由于JSP页面的内置脚本语言是基于Java编程语言的,而且所有的JSP页面都被编译成为JavaServlet,JSP页面就具有Java技术的所有好处,包括健壮的存储管理和安全性。作为Java平台的一部分,JSP拥有Java编程语言“一次编写,各处运行”的特点。随

11、着越来越多的供应商将JSP支持添加到他们的产品中,您可以使用自己所选择的服务器和工具,更改工具或服务器并不影响当前的应用。(2) Servlet技术Servlet是使用JavaServlet 应用程序设计接口(API)及相关类和方法的 Java 程序。除了 JavaServlet API,Servlet 还可以使用用以扩展和添加到 API 的 Java 类软件包。Servlet 在启用 Java 的 Web 服务器上或应用服务器上运行并扩展了该服务器的能力。JavaServlet对于Web服务器就好象Java Applet对于Web浏览器。Servlet装入Web服务器并在Web服务器内执行,

12、而applet装入Web浏览器并在Web浏览器内执行。JavaServlet API 定义了一个Servlet 和Java使能的服务器之间的一个标准接口,这使得Servlet具有跨服务器平台的特性。Servlet 通过创建一个框架来扩展服务器的能力,以提供在 Web 上进行请求和响应服务。当客户机发送请求至服务器时,服务器可以将请求信息发送给 Servlet,并让Servlet 建立起服务器返回给客户机的响应。当启动 Web 服务器或客户机第一次请求服务时,可以自动装入 Servlet。装入后,Servlet 继续运行直到其它客户机发出请求。Servlet 的功能涉及范围很广。例如,Servl

13、et 可完成如下功能:创建并返回一个包含基于客户请求性质的动态内容的完整的 HTML页面。创建可嵌入到现有 HTML 页面中的一部分 HTML 页面(HTML 片段)。与其它服务器资源(包括数据库和基于 Java 的应用程序)进行通信。用多个客户机处理连接,接收多个客户机的输入,并将结果广播到多个客户机上。例如,Servlet 可以是多参与者的游戏服务器。当允许在单连接方式下传送数据的情况下,在浏览器上打开服务器至applet的新连接,并将该连接保持在打开状态。当允许客户机和服务器简单、高效地执行会话的情况下,applet也可以启动客户浏览器和服务器之间的连接。可以通过定制协议或标准(如 II

14、OP)进行通信。对特殊的处理采用 MIME 类型过滤数据,例如图像转换和服务器端包括(SSI)。将定制的处理提供给所有服务器的标准例行程序。例如,Servlet 可以修改如何认证用户。(3) MySql数据库技术MySQL是一个真正的多用户、多线程SQL数据库服务器。SQL(结构化查询语言)是世界上最流行的和标准化的数据库语言。MySQL是以一个客户机/服务器结构的实现,它由一个服务器守护程序mysqld和很多不同的客户程序和库组成。SQL是一种标准化的语言,它使得存储、更新和存取信息更容易。例如,你能用SQL语言为一个网站检索产品信息及存储顾客信息,同时MySQL也足够快和灵活以允许你存储记

15、录文件和图像。MySQL 主要目标是快速、健壮和易用。最初是因为我们需要这样一个SQL服务器,它能处理与任何可不昂贵硬件平台上提供数据库的厂家在一个数量级上的大型数据库,但速度更快,MySQL就开发出来。自1996年以来,我们一直都在使用MySQL,其环境有超过40个数据库,包含10,000个表,其中500多个表超过7百万行,这大约有100个吉字节(GB)的关键应用数据。(4) JavaScript技术JavaScript就是适应动态网页制作的需要而诞生的一种新的编程语言,如今越来越广泛地使用于Internet网页制作上。JavaScript是由Netscape公司开发的一种脚本语言(scri

16、pting language),或者称为描述语言。在HTML基础上,使用JavaScript可以开发交互式Web网页。JavaScript的出现使得网页和用户之间实现了一种实时性的、动态的、交互性的关系,使网页包含更多活跃的元素和更加精彩的内容。运行用JavaScript编写的程序需要能支持JavaScript语言的浏览器。Netscape公司Navigator 3. 0以上版本的浏览器都能支持JavaScript程序,微软公司Internet Explorer 3. 0以上版本的浏览器基本上支持JavaScript。微软公司还有自己开发的JavaScript,称为JScripto JavaS

17、cript和Jscript基本上是相同的,只是在一些细节上有出入。JavaScript短小精悍,又是在客户机上执行的,大大提高了网页的浏览速度和交互能力。同时它又是专门为制作Web网页而量身订做的一种简单的编程语言。1.4 系统具备的特点本系统利用JAVA实现了在线考试管理系统,该系统应在开发出来后在技术上应具有一定的先进性、操作性和交互性,具有强大的数据统计分析功能。这样才能使系统在建成后一段时间内,不会因技术的落后而需要大规模的调整,并且能够跟随逐步的升级而保持整个系统的先进性。同时要求系统对计算机硬件要求不能太高,运行速度要快。因为个体用户从经济实力上无法大量投资去购置高档硬件、软件,短

18、时间内对系统进行全面升级,系统应能够适应社会的不断变化,应具有良好的实时性、交互性、可扩展性、易扩充性、开放性。(1) 良好的实时性:作为一个远程教育实时系统,它的质量的好坏关键在方法调用的快捷和网络数据传输的快慢上,所以系统必须具有完备和良好的实时性。(2) 良好的通用性:全国各个地区的用户或会员都可对网站进行使用,因此应具有良好的通用性。(3) 易扩充性:本网站的数据库管理模块能够方便灵活地对各种数据库进行扩充修改,使得各个数据库中的记录保持最新最完整的状态,并且初步具备网络化的特征,为以后的网络版留下升级空间。(4) 界面的人性化:良好的界面,能使管理员工作更加轻松,操作更加方便,能在需

19、要的时候,很快的找到自己所需要的内容。2 在线考试系统的系统的需求分析2.1在线考试系统的需求分析要实现一个在线考试系统,首先应该进行需求分析,这样才能令设计出的软件满足用户的各项功能。基于JsP的网络考试系统采用三层体系结构,解决了两层体系结构中的缺点。在三层体系结构中,把应用逻辑独立出来形成一个中间层,中间层位于客户层与存储层之间。该三层结构中,客户层采用研几b浏览器作为标准用户界面,使客户层简单且便于维护。存储层采用 SQLServer7.0/2000。中间层采用Tomcats服务器。所有服务器的操作系统采用 Windows2000。在这种模式下,客户层是“瘦”的,而中间层也被称为应用层

20、或应用服务器,它可依据应用逻辑的要求来分布部署,而且可以在各个部署点上进行维护,并由应用层负责与存储层进行交互在线考试时在网上模拟考试的应用程序,它维护着一个数据库,存储着考生、题库、管理员等信息,主要包括教师出题、学生在线考试、自动判卷以及相关的系统维护功能。2.2在线考试系统的概要设计2.2.1系统功能描述对于JsP方案的在线考试系统,总体上作如下设计:(l)将访问系统的用户按身份分为两类:管理员用户(一般是教师)、考生用户;(z)只允许系统管理员对考生、题目等基本信息进行管理;(3)考生的主要功能是在线考试以及查看成绩;(4)只有通过身份验证的用户才能进入相应用户身份的主页。以上两类用户

21、分别拥有自己的操作功能。根据操作划分模块,每一个操作模块都要实现自身的功能,并且在整个操作流程中负责承上启下。下面根据这两个方面的需要,来分别描述各个模块要实现的功能: 其功能模块大致分为:1) 考生信息模块考生信息是由超级用户添加生成德,其中包括对考生信息的添加和删除功能2) 题目管理模块主要包括对考试题目的添加和修改功能3) 成绩统计模块其中包括所有考生考试成绩的显示及各个分数段考生人数的统计4) 管理员追加主要功能是添加和删除后台管理员5) 在线考试模块考生在线考试主要经过三个步骤,首先考生登录,登录成功后进入考试,将所有问题答完后提交,将成绩显示出来。如图所示: 考生过程描述这个应用程

22、序的系统框架图: 3 在线考试系统的详细过程系统的详细设计是利用需求分析和概要设计来确定每个模块的内部特征以及实现过程,进行详细的程序设计,其中包括数据库详细设计和程序的详细设计。3.1系统环境1、硬件方面:服务器的CPU主频至少在400MHZ以上,内存容量至少在256MB以上,硬盘容量至少在4GB以上。2、软件方面:1)服务器的操作系统为 Windows2003Server。2)数据库管理系统为 sqlserver2000o3)开发工具:Sun的 Jdk、 tomcat5.5,eclipse。3.2数据连接的设计数据库作为在线考试应用系统的核心,在建立之后要和前台应用程序建立连接才能发挥它的

23、作用。本节将介绍建立数据库的连接文件,在需要与数据库进行交互操作的应用程序中都将引用此连接。在本系统中我们把数据库的连接参数写入一个名为jdbcsql.Properties的配置文件中,这样在程序运行时如果环境变化,可以方便地修改数据库配置。Jdbcsql.ProPerties的代码如下:Driver=com.microsoft.jdbc.sqlserver.SQLServverDriverurl=jdbc:microsoft:sqlserver:/localhost:1433;DatabaseName=examusername=”password=”为了避免在每一次进行数据库操作前都需要进行

24、的加载驱动、创建连接等操作,提高编写代码的效率,在本系统中,我们通过使用编写JavaBean读取配置文件(jdbcsql.properties)来连接数据库,文件名为DBConnectionBeanjava。该JavaBean把数据库的连接及数据库的基本操作封装在其中。这样做有很大的优点:1、实现了数据库的统一管理,方便程序开发时与数据库的交互;2、一旦系统移植、数据库参数改变,则不需要重新修改所有的连接代码并重新编译,只要在这个封装JavaBean中改变其中的参数即可。3.3 servlet的使用在本系统中,也使用了Servlet来帮助实现业务逻辑控制,例如用户登录系统答题时间超过预定时间后

25、会显示答题超时就采用了CTimeout这个Servlct来处理。该Servlet的代码如下: /CTimeout java/验证密码,验证是否以参加考试,传送参数 import java.io.*: imP0rt javax.servlet.*; import javax.servlet.httP.*: import java.util.*; PublieclassCllmeoutextendsHttPServlet/定义d0Post方法用来接受数据 Public void doGet(HttPServletRequest req, HttpServletResponse res)throws

26、ServletException,IOException/定义输出流req.setCharacterEncoding(“gh2312”):res.setContentType(”text/html:charset=gh2312”); Printwriter out=res.getwriter(); StringchaoshiID=req.getParameter(“chaoshiID”);tryout.Println(“”);out.Println(“”):out.Println(“ ”);out.prindn(“无标题文档 ”);out.Println(“ ”);out.printhln(“

27、”):out.Println(“”);out.Println(“ ”);out.println(“ ”);out.println(“ ”);out.close; catch(Exception e)System.out.println(e.tostring():3.4部分功能的设计与实现举例3.4.1在线考试功能的设计与实现在线考试模块主要是实现用户登录、信息确认、考试、显示成绩等功能。1、考生登录考生登录时要进行验证,验证分了客户端和服务器端。在客户端主要是验证考生输入的准考号是不是数字信息;在服务器端主要是判断数据库中是否有该考生的信息存在。若存在,则显示登录成功信息,并列出该考生详细资料

28、,给出进入考试系统的连接;若不存在该考生信息或密码错误,则提示出错,并返回登录认证页面。考生登录的界面和流程图如图5一1所示。2、随机出题考生考试是从数据库中随机抽取100道考题提供给考生,这也是整个系统的一个难点,其中包含随机数的产生,相同随机数的处理。3、显示成绩考生答题完毕后系统要根据答题的情况,计算出考试成绩并显示出来。显示成绩功能流程如图5一2所示3.4.2系统管理功能的设计与实现1、考生信息管理主要是对考生的基本信息进行维护,包括对考生信息的添加、修改和删除功能。考生信息管理功能的流程如图5一3所示2、题目管理主要是对考试题目进行维护,其中包括题目的添加、修改和删除功能。题目管理功

29、能的流程可参考图5一3:3、成绩统计主要是对成绩进行统计,其中有以10分为分数段的各个分数段的人数及针对所有成绩的平均分、最高分和最低分;另外,所有考生成绩也要按从高到低进行排列。3.5安全性设计本系统主要用两个方法来加强应用系统的安全性:1、首先使用session限制未经登录的访问。当考生从登录界面登录,jsp程序进行用户名和密码的检查后,如果数据符合则成功登录,将用户的ID值写到Session对象中,对以后的页面都会先检查Session对象保存的数据,从而判断用户是否可以浏览页面,以达到安全控制的目的。如果检查失败都会导向登录界面,要求用户重新登录。2、防止考生任意刷新页面,起到了防止作弊

30、的作用。具体实现是利用客户端Javascript,采用Cookie存储用户登录时间和url,比较url如果发现相同值则认定用户登录之后刷新了页面,抛出错误处理。4 系统的测试4.1系统测试分析软件在设计、编码阶段之后,为了发现潜在的错误,需要进行完整的测试工作。大量统计资料表明,系统测试和维护的工作量往往占软件开发总工作量的40%以上。可见软件测试工作是非常重要的。由于本系统是web应用软件,必须面对同时在线的大量的访问者,因此需要进行压力测试,以适应于访问量较大时的情况。由于程序中潜在的缺陷只在特定的环境下才有可能显露。系统缺陷通常是由于设计时,或者编码过程中,对某些特定情况考虑不周造成的,需要通过测试来暴露这些问题。所以,有意义的软件测试应该是从“破坏”的角度出发,精心设计最有可以暴露程序缺陷的测试方案。因此软件测试的目标应该是以尽可能少的代价和时间找出软件系统中潜在的错误和缺陷。从产品角度看,测试计划中的测试项目包括软件结构中的分系统层、子系统层、功能模块层、程序模块层中的各类模块,从测试本身看,分为单元测试,组合测试,确认测试等。测试对象是随阶段而异的,最基本、最初的测试是单元测试,之后的组合测试、确认测试都是以测试过后的模块作为测试对象的。4.1.1测试过程测试的主要目的包括:1)测试软件的功能,衡量是否满足实际需求。2)测试软件的运行稳定性,衡量软件质量

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1