jsp在线考试系统论文毕业论文.doc_第1页
jsp在线考试系统论文毕业论文.doc_第2页
jsp在线考试系统论文毕业论文.doc_第3页
jsp在线考试系统论文毕业论文.doc_第4页
jsp在线考试系统论文毕业论文.doc_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

jsp在线考试系统论文毕业论文1 引言1.1项目背景当今时代是一个信息化的时代,随着科学技术的迅速发展,各行业的面貌都在发生着翻天覆地的变化,教育行业更是受到很大的影响和改变。在科学技术的冲击下,网络考试也正在兴起和发展,相信在不久的将来,方便快捷的网络考试模式会代替传统的考试模式。我们都知道,传统的考试要经过一系列繁杂的步骤,例如出卷、排版、学生考试、阅卷、成绩评估和试卷分析,显然,随着考试类型的不断增加及考试要求的不断提高,教师的工作量将会越来越大,并且其工作将是一件十分繁琐和非常容易出错的事情,可以说传统的考试方式已经不能适应现代考试的需要。随着计算机应用的迅猛发展,网络应用不断扩大,如远程教育和虚拟大学的出现等等,且这些应用正逐步深入到千家万户。因此,人们迫切要求利用这些技术来进行在线考试,以减轻教师的工作负担及提高工作效率,从而提高了考试的质量,使考试更趋于公证、客观、激发学生的学习兴趣。为了适应新形势的发展和本次毕业设计的需要,特推出了这套在线考试系统。希望其能在考试中发挥高效、便捷的作用。把教师从繁重的工作中解脱出来。1.2 项目研究的目标及意义为了适应新形势的发展,目前国内有很多公司团体研究开发了基于Web的考试系统。而我们知道网络应用软件运行的模式主要有两类:Client/Server模式、Browser/Server模式。前者主要的缺点是维护、升级较麻烦,后者是近几年伴随Internet迅速发展而应运而生的一种技术,在这种模式下,客户端需要一个浏览器,服务器端是Web Server ,而Web Server是与数据库和应用服务器的紧密结合,可见,这种模式是瘦客户端,即对客户端的要求不高.所以这种模式已经被很多行业和部门所应用,它的主要优点是便于扩充应用、升级维护简便。人们迫切要求利用这些技术来进行在线考试,以减轻教师的工作负担及提高工作效率,因此有必要开发一个完备的在线考试系统。该在线考试系统可以使用户在网上学习过后及时检验自己的学习效果,以发现自己的不足,使得学习效率得到很大提高。在线考试系统中题目的生成、试卷的提交、成绩的批阅等都可以在网络上自动完成。只要形成一套成熟的题库就可以实现考试的自动化。在线考试系统可以从人力、物力和财力等各方面都改善了目前考试的现状,使用在线考试系统,减轻了老师的负担、提高了工作效率,提高了学生学习兴趣,节省了印刷试卷的成本,教师所要做的只是精心设计题目、维护题库,而不是组织考试,从而大大减轻了教师的负担,其经济性是相当可观的。实用性、安全性也很好。2 项目概述2.1 课题简要说明随着学校的不断扩大,有关学校管理的各种信息也成倍增长。面对庞大的信息量,有必要开发在线考试系统来提高考试工作的效率。今天我们使用计算机对考试信息进行管理,具有手工管理所无法比拟的优点。通过这样的系统,可以做到信息的规范管理、科学统计和快速查询,从而减少管理方面的工作量,有效地提高考试信息管理的工作效率。2.2 可行性分析该阶段通过对系统目标的初步调研和分析,提出可行性方案并进行论证。我们在这里主要从技术可行性、经济可行性、操作可行性和法律可行性等方面进行分析。2.2.1 经济可行性开发该系统所需的相关资料可以通过已存在的相关系统进行调查采集,所需的其他应用软件、硬件系统也易于获得.因此,开发成本较低。而引进使用本系统后,与传统方式相比,具有高效率、低成本、高质量的特点,可以节省不少人力、物力及财力。所以,从经济的角度来看,该系统可行。2.2.2 技术可行性技术可行性要考虑现有的技术条件是否能够顺利完成开发工作,软硬件配置是否满足开发的需求等。本网站用的是JSP开发语言,调试相对简单,当前的计算机硬件配置也完全能满足开发的需求,因此在技术上是绝对可行的。软件方面:由于目前网页模式相对发展成熟,故软件的运行环境成熟可行,它们速度快、容量大、可靠性能高,完全能满足系统的需求。2.2.3时间可行性从时间上看,在四个月的时间里学习相关知识, 整理分析系统的需求,设计系统的数据库和实现, 并开发在线考试系统,时间上是有点紧,但是不是不可能实现,通过四个多月的努力功能基本实现。2.2.4 法律可行性(1)所有技术资料都为合法。(2)开发过程中不存在知识产权问题。(3)未抄袭任何在线考试系统,不存在侵犯版权问题。(4)开发过程中未涉及任何法律责任。综上所述,本系统的开发从技术上、从经济上、从法律上都是完全可靠的。3 需求分析3.1 在线考试系统一般需求分析 在线考试系统的使用群体是面向在学学生和非在校学生以及老师和系统的管理者使用的, 各部分主要功能有:(1)用户登录: 用户输入自己的用户名、密码,(学生输入的是学号)并且选择相应的身份登录在线考试系统 ,登录成功之后会进入相应的操作界面,如果输入的登录信息不正确,则会提示信息输入有误,提示重新登录。(2)系统的权限一般分为三种:管理员、老师和学生。不同的身份使用不同的权限和功能。(3)管理员需要对整个系统信息的全局掌控,包括用户信息管理、学生信息管理、学生成绩的查询 ,考试试卷的查询和审核、 设置考试时间、修改密码等功能。(4)老师对试题进行有效的管理,负责试题的录入及更新和查询,修改自己的登录密码,在考试前生成试卷和查询学生的考试成绩等功能。(5)学生登录在线考试系统后可以修改自己的资料,进行在线答题,查询自己的考试成绩等。系统要有良好的试卷上传和回收功能,确保信息传送的正确性。系统要有一个友善的界面,确保学生考试的顺利进行。试卷由客观题和主观题组成,客观题的成绩有系统自动给出,考试可以在交卷之后看到自己客观题部分的考试成绩,主观题需要老师批改,所以可能需要一段时间才能查到成绩。系统提供对学生成绩的统计和查询等管理功能。系统应具有良好的安全性管理。3.2 当前在线考试系统现状分析当前考试系统中,仍有许多是基于C/S模式的,每一次伴随着系统的升级,都要在每个客户端更新软件,耗时耗力。但是现在,随着技术的发展,基于B/S模式的在线考试系统越来越多,逐渐占据了主导地位。它克服了C/S模式下的许多缺点,从传统的基于C/S模式的考试系统转变到基于B/S模式的考试系统,可以使用户在任何一台电脑上,只要可以上网,就可以使用该服务,大大简化了操作,为用户提供了方便。另一方面,也为教师的管理和批阅工作提供了方便,提高了效率。但是据我多方的观察和研究,发现大多数的在线考试系统都是采用基于页面的模式开发,每个页面中都包含了要用到的所有功能逻辑,导致代码重复率高,结构不够清晰,维护升级起来也很费时间和人力。鉴于这种情况,所以我们将J2EE的概念加入到在线考试系统中来,使得该系统更易于升级和维护。3.3 性能需求系统对环境的要求服务起端的最低配置是由建立站点所需要的软件来决定的,在最底配置的情况下,服务器的性能往往不尽人意,现在硬件性能已经相当出色,而且价格也很便宜,因此通常应给服务器端配置高性能硬件。本机器的配置如下:处理器:Intel(R) Core(TM) i3 CPU内存:2GB题目主要采用的技术数据库:mysql编程语言 JSP、Java、Jquery服务器:Tomcat6.0 , jdk1.6开发环境:Windows73.4 对性能的规定3.4.1精度 数据精度要求:(1)要按照严格的数据格式输入,否则系统将给出错误提示信息并要求重新输入,系统给予不响应处理。 (2)查询时要保证查全率,所有相应域包含查询关键字的记录都应能查到。因为通常有文件的记录会很多,所以系统应该两种方法进行查询:直接查询和模糊查询。3.4.2时间特性要求本系统在正常的网络环境下,应能够保证系统的及时响应:(1)一般操作的响应时间应在3-5秒内。(2)数据库检索超时不超过20秒。3.4.3灵活性a.操作方式上的变化: 该系统适用于现在市场应用的操作系统。b.精度和有效时限的变化:可以根据用户需求自行设定。 3.4.4故障处理要求正常使用时不应出错,若运行时遇到不可恢复的系统错误,也必须保证数据库完好无损。调试中遇到的错误及解决方案:(1)遇到跳出“数据库已经关闭”提示信息阻止程序运行时可查看一下进行此项操作时,操作的表是否已经被关闭了或者是在没有关闭此表的情况下又一次运用打开语句打开此表。(2)有些空记录往往会使程序无法运行。此时可用先判定是否为空记录再操作。3.5其他专门要求(1)系统的功能实现情况: 用户可在本系统下实现各种用户要求的功能。(2)系统的安全性: 对于系统的重要数据都有密码保护,具有一定的安全性。 (3)系统的容错性: 用户输错数据都有提示信息,具有较好的容错性能。(4)系统的封闭性: 用户的封闭性较好,用户基本上在提示信息下输数据。(5)系统的可移植性: 能在Windows、Linux和Unix操作系统上运行。系统的可维护性: 采用基于JAVA技术并且符合J2EE开发规范的系统应用平台,使系统具有良好的可维护性和可扩展性。4 相关技术分析4.1 JSP、JQUERY编程语言JSP(Java Server Page服务器网页)是从1998年开始出现的新技术。由Sun公司倡导、许多公司参与一起建立的一种动态网页技术标准,是基于JAVASERVLET 以及整个Java体系的web开发技术。在传统的网页HTML文件(*.htm,*.html)中加入脚本片段和JSP标记(Tag),构成JSP网页(*.jsp)。JSP技术为创建显示动态生成内容的web页面提供了简便的方法。JSP作为Java家族的一员,承袭了Java的特点,即跨平台的特性,也即一次编译,到处运行。在国外,己经大量使用JSP作为网络应用程序的开发工具,而在国内,尽管JSP还不是主流开发技术,但是由于JSP的强大优势,许多网站都已经准备转向JSP,利用JSP来开发动态网站。 JQUERY 是开源软件,使用MIT许可证授权。JQUERY的语法设计使得许多操作变得容易,如操作文档对象(document)、选择DOM元素、创建动画效果、处理事件、以及开发Ajax程序。JQUERY也提供了给开发人员在其上创建插件的能力。这使开发人员可以对底层交互与动画、高级效果和高级主题化的组件进行抽象化。模块化的方式使 JQUERY 函数库能够创建功能强大的动态网页以及网络应用程序4.2 MYSQL 数据库MYSQL是一个关系型数据库管理系统,由瑞典MySQLAB公司开发,目前属于Oracle公司。MYSQL是最流行的关系型数据库管理系统,在WEB应用方面MYSQL是最好的RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一。MYSQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MYSQL所使用的SQL语言是用于访问数据库的最常用标准化语言。MYSQL软件采用了双授权政策(本词条“授权政策”),它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择MYSQL作为网站数据库。4.3 MYSQL数据库连接1首先分别下载安装MYSQL服务器端和客户端2. 下载MYSQL连接驱动网址:/downloads/connector/j/,下载解压之后将 .jar文件放在web项目的lib文件下。3.加载驱动在Eclipse中,选中相应的工程,点击Project-Properties中的Java Build Path,在Libraries中增加mysql-connector-java-5.1.21-bin.jar,点OK。数据库驱动加载就完成了。数据库访问的三层结构如图1所示,浏览器端程序要访问数据库,首先通过中间件,然后由中间件对数据库操作权限进行认证,认证通过才能对数据库进行操作。图1 使用中间件的数据库访问三层结构用户对数据库的存取权限认证是中间件中完成,对数据库的查询、插入、更新和删除操作等都封装在中间件中,该中间件位于服务器端,中间件对数据库进行操作后,再将处理结果通过Web服务器返回到浏览器端用户。这样,在用户端输入的用户名和密码,可以通过加密算法进行加密后在网络上传输,在中间件中进行解密认证,然后再进行数据库的存取操作,数据库存取权限的用户名和密码出现在位于服务器端的中间件中,这样就更加安全。本系统采用的正是这样的三层结构的数据库访问模式。数据库连接如图2所示:图2 数据库的连接处理数据库的连接处理具体实现如下:/加载MYSQL数据库驱动mysql-connector-java-5.1.21-bin.jar/连接不成功时的处理catch(ClassNotFoundException event)/建立与数据库的连接,并发送SQL查询语句,将结果保存到rs对象中con=通过Driver对象得到连接对象 ;sql=SQL查询语句;执行查询;Rs=返回结果;/SQL出错处理; catch(SQLException e1);5概要设计5.1 数据库表设计数据字典是关于数据库中数据的描述,即元数据,而不是数据本身。针对在线考试系统的需求,通过对考试过程的内容和数据流程分析,数据结构如下所示:表1.1 管理员表列名数据类型长度是否主键描述Idint11是自动编号Namevarchar50用户名Pwdvarchar50登录密码Typeint11用户身份Tstimestamp0时间戳表1.2 学生表列名数据类型长度是否主键描述Idint11是自动编号Novarchar20学生编号Namevarchar50学生姓名Pwdvarchar20登录密码Sexint11性别Classesvarchar50班级Emailvarchar50邮箱Mobilesvarchar50联系电话Addressesvarchar50地址Tstimestamp0时间戳表1.3 成绩表列名数据类型长度是否主键描述Idint11是自动编号StuIdint11学生IdScoreint11成绩PaperIdint11试卷IdTstimestamp0时间戳表1.4 选择题表列名数据类型长度是否主键描述Idint11是自动编号Novarchar50试题编号Questionvarchar8192试题内容Typeint11试题类型EasyTypeint11难易程度ResultAvarchar255选项AResultBvarchar255选项BResultCvarchar255选项CResultDvarchar255选项DResultsvarchar255答案Tstimestamp0时间戳表1.5 判断题表列名数据类型长度是否主键描述Idint11是自动编号Novarchar50试题编号Questionvarchar8192试题内容Resultsint11答案Tstimestamp0时间戳表1.6 填空题表列名数据类型长度是否主键描述Idint4是自动编号Novarchar20试题编号Questionvarchar8192试题内容Typeint4试题类型EasyTypeint难易程度Resultsvarchar答案Tstimestamp0时间戳表1.7 主观题表列名数据类型长度是否主键描述Idint11是自动编号Novarchar20试题编号EasyTypeint11难易程度Questionvarchar8192试题内容Tstimestamp0时间戳表1.8 试卷表列名数据类型长度是否主键描述Idint4是自动编号Novarchar20试卷编号XZQuestionvarchar255选择题编号TKQuestionvarchar255填空题编号PDQuestionvarchar255判断题编号ZGQuestionarcher255主观题编号Creatorint11出卷人isShenHeint11是否审核Tstimestamp0时间戳表1.9 考试时间表列名数据类型长度是否主键描述Idint4是自动编号PaperNovarchar255试卷编号Timesdatetime0考试时间5.2总体 E-R 图在线考试系统总体E-R图如下: 图 3 总体E-R图 5.3 在线考试系统数据流程学生首先进入登陆页面,输入用户名和密码,系统将该用户名和密码与数据库中学生表的用户名密码一一核对,如果存在该学生且登录,则弹出一个考试的主页面正常进入考试。否则会跳到出错页面要求学生重新登录。进入考试页面后,有许多分类的试题要求学生分别完成,学生点击相应页面的超链接,进入做题,在每个分页面的顶部,都将会有对该部分试题的操作提示和注意事项,学生阅读完相关事项后进行做题,每做完该部分试题都必须保存,系统将收集到的学生做题信息上传到数据库中,学生则继续做其他部分试题。完成所有考试后,学生点击交卷标记,系统保存学生所有的答题信息后正常地退出。在线考试系统的数据流图如下所示:图4 系统流程图5.4在线考试系统总体功能介绍图5 总体功能结构图5.4.1学生使用端:用户登录:负责用户的登录的输入,客户端和服务器端分别对用户输入的信息进行验证,并且根据登录的结果进行相应页面的跳转。修改信息:用户登录之后,负责改自己的个人资料。在线答题:进入在线答题模块,打开试题页面,进行在线答题成绩查询:在线答题之后,可以进入查询模块,查询自己的考试的客观题部分。5.4.2 管理员和老师使用端用户登录:负责用户的登录的输入,客户端和服务器端分别对用户输入的信息进行验证,并且根据登录的结果进行相应页面的跳转。信息修改:用户登录之后,负责修改用户的个人资料。生成试卷:负责在题库中随机抽取题目,并且生成试卷试卷管理:管理员登录系统之后可以对已有的试卷进行查询,并且对新生成的试卷进行审核,老师在考试之前需要生成考试试卷,可以查询、更新已有试卷信息。题库管理:老师登录系统之后可以添加试题,并且生成题库。试卷批阅:负责自动化批阅考试完成的答题试卷(客观题)。成绩查询:管理员和老师登录系统之后都可以查询学生的考试成绩。考试时间设置:考试之前,老师需要对设置考试时间,以便规范化考试的管理。数据库连接服务:负责从各共性服务层模块接收相关数据库连接,查询,修改等服务,并返回相关数据。数据访问层异常管理:负责数据库连接服务出现的异常。6 详细设计6.1前台部分(学生使用端)这一部分主要包括考试子系统、成绩查询子系统和信息修改子系统三个模块,主要是针对的对象是学生6.1.1 考试子系统由于采用Web技术实现,所以从理论上讲,考试可以在任何时候、任何地方进行,但是为了使考试易于组织和管理,所以本系统的学生使用学号登录,所以需要管理员将学生的信息添加到数据库中或者有学生自己进行在线注册,然后才能进行考试,如果没有添加学生的信息或者学生没有注册,系统也会认为是非法学生,系统给出提示信息,并重新定位到登录页面;如信息正确,则显示试卷页面,试卷页面上的试题内容根据学生输入的试卷编号从数据库中取出符合条件的记录动态地生成。当学生点击“交卷”按钮时,则系统把学生答案传送至服务器的数据库中保存起来。考试子系统是网络考试系统的核心部分,它的工作流程如图6所示. 图6 考试子系统流程图(1)考试系统是在线考试系统的核心部分,学生通过输入学号和密码登录在线考试系统,点击左边菜单栏中的在线考试菜单便可以进入试卷列表,显示的试卷列表都是通过审核过的。(2)学生通过点击开始考试之后,跳转到试题页面就可以开始答题,学生在规定的时间内完成答题,并且点击交卷按钮,完成交卷,如果考试没有在规定的时间内交卷,则系统会自动提交试卷。6.1.2 成绩查询子系统为了能让学生及时、方便地了解自己的考试成绩,查询子系统也采用Web方式实现。学生在登录查询子系统之后,在页面输入自己的合法信息,系统测试无误后,服务器就能把成绩信息传送到学生的机器上。工作流程如图7所示:图7成绩查询子系统流程图(1)学生通过身份验证登录在线考试系统之后,可以查看自己本次以及之前的考试成绩。(2)学生通过点击左边菜单栏中的成绩查看窗口可以进入考试成绩查询的列表,默认显示全部考试成绩,考试成绩会按照考试时间倒叙排列。成绩列表显示的信息有学生的姓名、试卷编号、成绩、考试时间等信息。6.1.3 信息修改子系统为了保证学生的信息正确性,学生登录在线考试系统之后,可以确认修改自己的个人信息。作流程如图8所示:图8 个人信息修改流程图(1) 学生通过身份验证登录在线考试系统之后,当学生的个人信息发生改变时,可以修改自己的个人信息。(2) 学生填写的个人信息需要进行验证,验证学生输入的姓名、性别、电话号码、邮箱、地址信息是否合法,才能提交表单,表单提交之后方可修改学生的信息。6.2 管理员管理子系统本模块主要分为五个部分。一是个人资料管理,管理员登录以后可以对自己的资料进行修改和完善;二是用户信息管理,可以添加管理员用户、老师用户和学生用户,并对其信息进行查询和修改,三是考试时间的管理,四是查询试卷,审核试卷 。五是学生成绩查询,三是考试时间的管理 具体流程图如图9所示:图9 管理员管理子系统流程图6.2.1 个人资料管理(1)修改密码 管理员通过身份验证登录在线考试之后,可以修改自己的登录密码等信息,输入的修改信息需要通过验证才可提交,表单提交之后管理员的修改信息才可生效。6.2.2 用户信息管理(1)添加用户信息 管理员登录在线考试系统之后,可以添加管理员、老师和 学生的资料信息。(2)查询学生信息管理员登录在线考试系统之后,可以根据条件查询学生信息,默认显示所有学生信息。(3)删除学生信息 选中学生列表的某一行时即可根据学生的Id删除学生信息(4)修改学生信息 选中学生列表中需要修改信息的学生,点击修改图标,即可进入修改学生信息页面,修改学生信息的时候需要判断输入的信息是否合法,信息合法时,才可修改,否则不能修改。6.2.3 考试时间管理(1)查询考试时间登录在线考试系统之后,点击查看考试时间列表,可以查询所有的考试时间,每个考试时间都有自己对应的考试编号,表示每次考试的时间。(2)考试时间添加每次考试之前,需要添加考试时间,以提前做好考试安排(3)考试时间修改可以通过考试时间列表,修改某次考试的时间6.2.4 试卷管理(1)试卷查询试卷管理功能是管理员的权限之一,管理员登录之后,可以查询已有试卷信息,在试卷列表页面,管理员可以查看组成每份试卷的试题编号。并且可以试卷组成的试题编号进行手工修改,已达到对试卷的有效管理(2)试卷审核对于新添加的试卷,管理员可以对其做出审核(3)试卷修改在试卷列表页面可以通过点击时间编号对试卷中的试题编号,通过手工修改试卷组成的方法可以对试卷的内容进行有效的掌握。6.2.5 成绩管理(1)成绩查询成绩管理模块是管理员通过考试成绩了解学生学习状况的重要窗口,在登录在线考试系统之后,管理员可以查看所有学生的考试成绩,考试列表会显示出每次考试的试卷编号、学生的成绩、考试时间等信息、以便管理员对学生的学习情况有一个更好的掌握,除此之外,管理员可以对学生的考试成绩进行删除。6.3 教师管理子系统本模块分为四部分。教师登录界面以后可以更改自己的资料,以及对试卷进行管理,并管理学生成绩。如图10所示图10教师管理子系统流程图6.3.1 个人资料修改 (1)个人资料修改老师通过身份验证登录在线考试之后,可以修改自己的登录密码等信息,输入的修改信息需要通过验证才可提交,表单提交之后老师的修改信息才可生效。6.3.2 题库管理(1)试题添加 题库管理模块是支撑在线考试系统进行考试重要基础,在考试之前老师需要登录在线考试系统,添加考试试题,对试题库进行更新,可添加的试题类型有,选择题、填空题、判断题和主观题,选择题添加时分为单选题和多选题,添加题添加时分为一般填空题和程序填空题。(2)试题查询试题查询时可以根据单个条件和多个条件查询,默认显示所有试题。(3)试题修改通过试题列表点击修改图标进入修改页面,可以修改试题的内容、答案等其他信息。(4)试题删除通过试题列表页面点击删除按钮删除某一道试题,试题的更新保证了对题库的有效管理。6.3.3 试卷管理(1)试卷查询试卷管理功能是老师的权限之一,老师登录之后,可以查询已有的试卷信息。查询时,可根据单个条件查询也可根据多个条件查询,默认显示所有的试卷信息。(2)试卷生成每次考试之前,老师需要生成新的试卷,生成试卷的时候,需要输入每一份试卷中各类型题目的数目,方可随机生成试卷。(3)试卷删除 通过试卷列表页面点击删除图标,可删除试卷信息。(4)试卷修改通过试卷列表页面的修改图标,可以删除试卷的试题编号等信息。6.3.4 成绩管理(1)成绩查询成绩管理模块是老师通过考试成绩了解学生学习状况的重要窗口,登录在线考试系统之后,老师可以查看所有学生的考试成绩,考试列表会显示出每次考试的试卷编号、学生的成绩、考试时间等信息、以便老师对学生的学习情况有一个更好的掌握。(2)成绩删除通过成绩列表页面删除成绩的图标 ,老师可以对学生的考试成绩进行删除。6.4数据的安全与保密由于此系统的特殊性,数据的安全与保密显得尤为重要。保密性是指用户在网上的所有信息应有一定的保密度,不同类型的用户之间的内容是互相保密的。安全性是指用户参加一次活动是一个安全的过程,对于所有用户的动作,服务器都加以跟踪。为了确保其安全与保密性,一要确保学生不能联网作弊。(1) 凡进入在线考试的用户,都要通过用户身份验证才能进入。而且,不同用户具有不同的操作权限,支持按权限进行操作,确保数据的公共性与私有性。不允许用户执行非法的操作,防止用户无意或有意的破坏。(2) 禁止用户查看所有试卷的源文件及拷贝功能,方法禁止考试刷新浏览器,一旦刷新学生的成绩就当提交。7 系统页面的设计与实现7.1 用户登录的实现登录界面是用户进入在线考试系统的入口,用户通过输入自己的用户名(学生登录时输入自己的学号)和密码,选择相应的身份登录在线考试系统。用户通过在浏览器地址栏中输入http:/localhost:8080/exam_3/login.jsp进入登录页面进行登录。用户登录界面如图11所示:图11 用户登录对用户输入的信息进行验证并且决定跳转到相应页面的代码如下所示:客户端验证: function checkKgLogin() var No = trim($(#Name).val();var Password = trim($(#Pwd).val();if(No= | No.length=0) $(#noMesg).html(请输入用户名 ); $(#Name).focus(); return false;else if(Password= | Password.length=0) $(#pwdMesg).html(请输入密码 ); $(#Pwd).focus(); return false; return true; 服务器端验证:if(request.getParameter(Name)!=null& request.getParameter(Pwd)!=null)String name_login = ;int type_login = 0 ;Student stu = null;Users u = null ;String Name = request.getParameter(Name);String Pwd = request.getParameter(Pwd);String Type = request.getParameter(Type); if(Util.str2int(Type)=Users.TYPE_STU) stu = stuDao.Stu_login(Name,Pwd); if(stu=null) out.print(alert(你输入的用户名或密码错误,请重新登录!);window.history.go(-1);); else name_login = stu.getNo(); type_login = Util.str2int(Type); else u = userDao.login(Name,Pwd,Util.str2int(Type); if(u=null) out.print(alert(你输入的用户名或密码错误,请重新登录!);window.history.go(-1);); else name_login = u.getName(); type_login = Util.str2int(Type); session.setAttribute(log_Name,name_login); session.setAttribute(log_type,type_login); if(Util.str2int(Type)=Users.TYPE_ADMIN & u!=null) response.sendRedirect(main_admin.jsp); else if(Util.str2int(Type)=Users.TYPE_TEACHER & u!=null) response.sendRedirect(main_tea.jsp); else if(Util.str2int(Type)=Users.TYPE_STU& stu!=null) response.sendRedirect(main_stu.jsp); 7.2管理员管理界面管理员管理界面是管理员对整个系统进行管理的地方,管理员通过登录,通过身份验证之后,会跳转到管理页面,管理员信息有用户信息管理(管理员和老师)、学生信息管理、成绩查询、试卷管理、考试时间管理、修改密码登录功能。7.2.1 管理员主界面设计及实现管理员主界面如图12所示图12 管理员操作主界面管理员输入登录信息,通过验证之后,会跳转到主界面进行相应的操作 ,主界面的实现使用iframe的网页布局形式,页面的css样式采用JQueryUI 的 插件的显示风格。实现代码如下所示:用户信息管理 用户列表用户添加7.2.2 管理员主界功能模块设计界面及实现(1) 添加学生界面如图13所示: 图13 添加学生界面页面验证实现代码如下:$(#addstu_form).validate( rules: No: required: true , Name: required: true, minlength:2, maxlength:18 , Classes: required:true , messages: No: required: 请输入学号! , Name: required: 请输入姓名 !, minlength:姓名的长度不能小于2个字符!, maxlength:姓名的最大长度不能大于18个字符 ! , Classes: required:请选择班级名称! 学生的信息由管理员手动添加到数据库,添加学生的信息之后,学生才可以登录在线考试系统进行考试,学号作为登录的账号为必输项,老师添加学生之后,学生拥有默认的登录密码,如果添加学生时有电话号码,则电话号码的后6位会作为学生登录在线考试系统的初始密码。(2) 查询学生信息界面如图14所示:图14 查询学生信息界面查询实现代码如下所示:String sql = select * from Student where 1=1;String No = request.getParameter(No);String Name = request.getParameter(Name);String ClassId = request.getParameter(ClassId);String Sex = request.getParameter(Sex);if (No != null & No.length() != 0) sql += and No = + No + ;if (Name != null & Name.length() != 0) sql += and Name like % + Name + %;if (ClassId != null & ClassId.length() != 0) sql += and ClassId = + ClassId + ;if (Sex != null & Sex.length() != 0) sql += and Sex = +Sex + ; sql += limit + (curPage

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论