会员注册 | 登录|微信快捷登录 QQ登录 微博登录 |帮助中心 精品学习网 专业在线学习考试资料文档分享平台

基于JSP的在线考试系统源代码和论文

收 藏 此文档一共:54页 本文档一共被下载: 本文档被收藏:

显示该文档阅读器需要flash player的版本为10.0.124或更高!

关 键 词:
  文库屋所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
文档介绍
毕业设计说明书(论文) 目录 绪 论.......................................................................................................................1 第 1 章 系统****背景及意义..............................................................................2 1.1 系统****背景.............................................................................................2 1.2 系统****意义.............................................................................................2 第 2 章网上考试系统需求****...........................................................................3 2.1 现状****.....................................................................................................3 2.2 可行性****.................................................................................................4 2.2.1 经济可行性.......................................................................................4 2.2.2 技术可行性.......................................................................................4 2.3 设计目标.....................................................................................................5 2.4 功能要求.....................................................................................................5 2.5 系统****环境配置.....................................................................................6 2.6 系统****工具.............................................................................................6 2.6.1 ****语言—JSP(Java Server Page)......................................6 2.6.2 数据库—MySQL5.0......................................................................7 第 3 章 网上考试系统设计..................................................................................8 第1页 毕业设计说明书(论文) 3.1 数据库设计.................................................................................................8 3.1.1 数据库需求****..............................................................................8 3.1.2 数据库概念结构设计......................................................................9 3.1.3 数据库逻辑结构设计....................................................................10 3.1.4 数据库表设计................................................................................13 3.2 系统结构设计...........................................................................................15 3.2.1 页面模块化设计............................................................................15 3.2.2 MVC 模式设计(Jsp+Servlet+JavaBean).........................16 第 4 章 网上考试系统实现................................................................................17 4.1 系统各部分的实现方法..........................................................................17 4.1.1 创建与数据库的连接....................................................................17 4.1.2 访问数据库的 JavaBean.............................................................18 4.1.3 用户及****登录模块页面.......................................................19 4.1.4 系统主要模块页面........................................................................23 4.1.5 学生考试模块的实现页面...........................................................25 4.1.6 教师添加试题制作****模块的实现...........................................27 第 5 章 系统测试................................................................................................30 第2页 毕业设计说明书(论文) 5.1 什么是软件测试.......................................................................................30 5.2 软件测试的目标与方法..........................................................................30 5.3 系统的不足和展望..................................................................................30 结束语.................................................................................................................. 32 致 谢.....................................................................................................................33 参考文献.............................................................................................................. 34 绪论 考试是检验教学效果的重要手段,也是促进学生学习的重要手段,是教学 过程中的一个重要环节。学生考试成绩的优劣,不但反映其对教学内容和应掌握 知识的****、理解、吸收、运用的能力,更反映教师对教学内容的把握和熟练程度 传统的学校教学中,进行一场考试,要求老师编写****、印****、安排考试、 监考、收集****、评改****、讲评****和********,这是一个繁杂的过程,需要大 量人力、物力与时间的投入,已经越来越不适应学校信息化建设与现代教学的需 要。尤其在远程网络教学中,学生分布广,不易统一集中安排考试,给校方和学 生带来了众多的不便。 第3页 毕业设计说明书(论文) 而网上考试系统不仅减轻了在组织考试、评卷、成绩统计等方面所花费的人力 和物力,并且突破了时间与空间的限制,不仅节省了资源,而且提高了评分的客 观性、公正性和准确度,大大改善了考试工作的效率。加上数据库技术的利用,大 大简化了传统考试的过程,因此在线考试是电子化教学的不可缺少的辅助手段。 在当今信息时代,计算机技术与网络技术越来越广地应用于各个领域,改变着人们 的学习、工作、生活乃至思维方式,也引起了教育领域的重大变革。将计算机与网络 技术应用于现代高等教育中,是现代高等教育发展的需要,也是改革教育模式,提高 学校教学效果和教学效率、提高科研和管理水平的必要手段。 第 1 章 系统****背景及意义 1.1 系统****背景 随着计算机技术、网络技术迅速发展和高校校园网功能的日益完善,很多高 校建立了基于校园网的网络信息管理平台,为提高教学管理水平提供了先进的 管理手段。目前,基于网络的在线考试系统己经成为现代考试方式的有力补充和 发展。相对于传统的笔试,网络在线考试不仅减轻了在组织考试、评卷、成绩统计 第4页 毕业设计说明书(论文) 等方面所花费的人力和物力,并且突破了时间与空间的限制,不仅节省了资源, 而且提高了评分的客观性、公正性和准确度,大大改善了考试工作的效率。 1.2 系统****意义 很多学校学生的期末考试仍采用任课教师(个人或集体)考前出题的方式。 为解决学生压题,考前漏题,补(缓)考试题与正式考试试题题量及难度差异 问题,教务管理部门通常要求教师同时出多套****,其题量与难度要求相同, 并且要同时给出答案和评分标准。这样做虽能解决一些问题,但给教师增加了很 大的工作负担,若上下届学生的同一门课程由同一教师承担,则难免几届学生 用相同几套****;若由不同教师任课出题,则上下届学生的成绩之间又不具有 可比性。 若建立题库,每次考试前由题库中题目随机生成****,则可较好地解决考 教分离的问题,也可将广大教师从每学期末繁重的命题工作中解放出来。近年来 部分学校陆续****了一些基于微机的题库系统,并作为成果向其它学校推广, 但这些题库一般都是结合本校具体情况,针对单一课程的小型题库,甚至某些 学校购得的题库系统中的题目本身是不可维护的,即使题目已不适合自己的学 第5页 毕业设计说明书(论文) 生考试使用,也无法更新题库中的题目。 为解决题库系统中存在的这些问题, 作者经过研究几种不同的网上系统, 经充分的考虑,最后给出了一个较为理想的题库系统解决方案,并结合当前比 较使用的 B/S 结构****一个功能完备的网上考试系统。 第6页 毕业设计说明书(论文) 第 2 章网上考试系统需求**** 2.1 现状**** 传统的考试方法要求组织者提前命题****,然后约定一个统一时间,让所 有考生到考场里进行考试。这种模式如图 2-1 所示: 编辑考题 印刷大量**** 安排考场,时间,监考人员 学生集体考试 阅卷,统计成绩 图 2-1 传统考试模式 这种模式存在有较多的问题: 命题:由于考试要求统一进行,所有考生都考同样的一份****,所以**** 第7页 毕业设计说明书(论文) 的命题工作便一定得非常谨慎小心,试题太难或太容易,都达不到考试目的, 尤其是对于一个大规模的考试,(比如计算机等级考试,英语四,六级考试等), 如何正确把握****的难度,一直都是让命题教师最为头痛的问题之一。而如何不 在考试之前使命好的试题泄漏出去,也是组织者费尽心思。 ****印刷:对于大规模的考试,****印刷费工费时,成本高,对纸张资源 也是一种浪费。对于涉及地域范围较广的考试(如英语四,六级考试),还要考虑 ****大的长途运送费用。在考试的印刷和运输过程中同样有试题泄漏出去的问题 任何一个环节出了问题,都可能使前面有的工作付诸流水。 考场的安排:监考人员的培训与管理。对于大规模的考试,尤其是到了考试 密集期(如期末,期中)。诸多学科的考试都要陆续开始的时候,对于教室资源和 教师数量相对紧张的学校,如何安排考场,调配监考人员,是一件相对繁琐而 又复杂的事情。如果考试再涉及到不同地域之间的同步,如英语四,六级的考试 还要考虑更多的问题。 进行考试:由于同一次考试的****相同,要杜绝考生作弊是一个普遍的难 题,因此,历届组织考试的人动了很多脑筋,如分 AB 卷,加强监考,加重对 第8页 毕业设计说明书(论文) 作弊者的惩罚程度等,但这些都没能从根本上杜绝作弊。不同地域监考的严格程 度,考试时问控制的严格程度,也很难达到统一。过多人为因素的加入,也使得 考试的公正性下降。 判卷:考试结束后,采用人工判卷比较容易出错,并可能出现人为造成的 不公正现象。 2.2 可行性**** 可行性****也称为可行性研究,即是在系统调查的基础上,针对新系统的 ****是否具备必要性和可能性,对新系统的****从技术、经济、管理的方面进行 ****和研究,以避免投资失误,保证新系统的****成功。可行性研究的目的就是 用最小的代价在尽可能短的时间内确定问题是否能够解决。该系统的可行性**** 包括以下几个方面的内容。 2.2.1 经济可行性 主要是对项目的经济效益进行评价,利用计算机来实现网上考试以成为适 应当今教学管理的方式。****一套能满足网上考试系统的软件是十分必要的,实 现****管理和****生成自动化,在减少由于认为失误而早成损失的同时,也可 第9页 毕业设计说明书(论文) 以使教师减少工作量。本系统在经济上是可以接受的,并且本系统实施后可以显 著提高考试效率,有助于学院完全实现网络化管理。所以本系统在经济上是可行 的。 2.2.2 技术可行性 技术上的可行性****主要****技术条件是否能顺利完成****工作,硬、软件 能否满足****者的需要等。 软件方面,网络化考试需要的各种软件环境都已具备,数据库服务器方面 则有 MySQL,均能够处理大量数据,同时保持数据的完整性并提供许多高级 管理功能。其灵活性、安全性和易用性为数据库编程提供了良好的条件。因此,系 统的软件****平台已成熟可行。 硬件方面,科技飞速发展的今天,硬件更新的速度越来越快,容量越来越 大,可靠性越来越高,价格越来越低,其硬件平台完全能满足此系统的需要。 2.3 设计目标 在线考试系统的总体目标: 1. 在线考试系统可以帮助教师完成一个考试从题目设计,考试安排,考试 实施,考卷批改到分数计算总结的所有工作。 第 10 页 毕业设计说明书(论文) 2. 所有的考试数据和其它数据库需要一种主流的方式进行存储和管理,例 如使用数据库技术。 3. 考试数据的存放和处理必须对****密,需要一定的安全性保障。 4. 题目最好有一定的稳定性和随机性。稳定性可以保证每一次考试对每一 个考生是公平的,随机性可以避免作弊的发生。 5. 考试的部分客观题在考生考完之后系统就能自动评分,并保存考生的主 观题答案。 2.4 功能要求 系统应该具备的基本功能: 用户类别:登录系统的身份定为三种,一是****,二是普通老师,四是 学生,只有被授权的用户才可以使用本系统的资源。 权限管理:系统需要经过有效的身份验证可以登录。用户的身份不同,使用 的系统资源也不同。考生只可以参加在线考试;普通教师可以在线制作****,控 制考试、成绩查询、添加试题、阅卷等。****可添加系系部、教师、专业、科目信息、 查询修改****信息及审批****、查询考生成绩。 在线考试功能:考生输入学********登陆系统后,选择对应的****可进行考 第 11 页 毕业设计说明书(论文) 试。答题中,有倒计时的功能,考试结束时还没提交就自动交卷,系统将自动对 客观题进行评分。 在线制作****:教师、****可在线制作****,可设定试题的类型、分值, 但教师制作****后必须要由****审核才能考试。 控制考试功能:可设定每次的考试时间。 考生管理功能:可注册新增学生用户,同时查看考生及班级考生的信息。 考生成绩查询功能:提供考生各科目成绩的详细查询。 ****审批功能:只有****有此权限。教师制作****完毕,只有经过**** 审批后才能发布,发布后学生才能开考。 除了实现上述功能以外,在线考试系统还应该具有友好、简洁的界面,安全 性要高,稳定性要强。 2.5 系统****环境配置 选择微软平台作为主导,一方面考虑目前微软的飞速发展,越来越多的企 业在规划内部网络时,将微软平台作为首选方案;令一方面从技术角度来讲, 微软平台上的应用无论是在****上,还是在软件的部署上都是非常容易,而且 性能优越。具体如下: 第 12 页 毕业设计说明书(论文) 1. ****工具:MyEclipse 8.0 2. 辅助****工具: Dreamweaver 8 3. 数据库:MySQL5.0 4. 服务器 :Apache Tomcat6.0 5. 运行环境 :安装 JDK1.6 支持 Java 运行。 6. 技术:前台网页的设计采用 JSP 技术制作。负责响应用户对业务逻辑的 请求并根据用户的请求行为,决定将哪个 JSP 页面发送给客户由 servlet 处理,JavaBean 则负责数据的处理。 2.6 系统****工具 本系统是基于 JSP+MySQL5.0 数据库技术实现的,现对 JSP 技术和 SQL Server 2005 数据库作简要的介绍。 2.6.1 ****语言—JSP(Java Server Page) JSP 页面由 HTML 代码和嵌入其中的 Java 代码所组成。Java Servlet 是 JSP 的技术基础,而且大型的 Web 应用程序的****需要 Java Servlet 和 JSP 配合才 能完成。JSP 具备了 Java 技术的简单易用,完全的面向对象,具有平台无关性 且安全可靠,主要面向因特网的等特点。JSP 的技术的优势: 第 13 页 毕业设计说明书(论文) 一次编写,到处运行。在这一点上 Java 比 PHP 更出色,除了系统之外,代 码不需要做任何更改。 系统的多平台支持。基本上可以在所有平台上的任意环境中****,在任意环 境中进行系统部署,在任意环境中扩展。相比 ASP/PHP 的局限性是显而易见的。 JSP 技术是用 Java 语言作为脚本语言的。Java 语言是成熟的、强大的、易扩 充的编程语言。 高效性与安全性。JSP 在执行前先被编译成字节码,字节码由 Java 虚拟机 解释执行,比源码解释效率高。 可维护性。由于 JSP 技术是一种开放的、跨平台的结构,因此 Web 服务器、 平台及其他组件能很容易升级或切换,且不会影响 JSP 基本的应用程序。 多样化和功能强大的****工具支持。Java 已经有了许多非常优秀的****工 具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之 下。 2.6.2 数据库—MySQL5.0 MySQL 是一个精巧的 SQL 数据库管理系统,虽然它不是开放源代码的产 品,但在某些情况下你可以****使用。由于它的强大功能、灵活性、丰富的应用编 第 14 页 毕业设计说明书(论文) 程接口(API)以及精巧的系统结构,受到了广大****软件爱好者甚至是商业 软件用户的青睐,特别是与 Apache 和 PHP/PERL 结合,为建立基于数据库的 动态网站提供了强大动力。 SQL 是一种标准化的语言,它使得存储、更新和存取信息更容易。例如,你 能用 SQL 语言为一个网站检索产品信息及存储顾客信息,同时 MySQL 也足够 快和灵活以允许你存储记录文件和图像。 包含资料:源程序+论文(15000 字以上)+可执行程 序+答辩稿 ppt+开题报告 若 有 需 要 请 联 系 QQ : 859515463 E****il: 859515463@qq**** 第 15 页 毕业设计说明书(论文) 第 3 章 网上考试系统设计 3.1 数据库设计 在对网上考试系统数据库部分进行设计的过程中,通过对系统功能进行需 求****得到系统的基本信息表,绘制系统业务流程图和系统数据流程图,**** 得到数据字典;在概率结构设计阶段通过对需求阶段得到的用户需求抽象得到 数据库关系模型的 E-R 图;在逻辑结构设计阶段得到数据库的关系模式并绘制 信息表。详细设计过程如下介绍。 3.1.1 数据库需求**** 需求****是设计数据库的起点,需求****的结果是否准确地反映了用户的 实际要求,将直接影响到后面各个阶段的设计,并影响到设计结果是否合理和 实用。 3.1.1.1 系统基本信息 综合以上****,要实现上面的所有功能模块,数据库共要设计十个表,它 们分别是:科目表、班级表、系别表、专业表、****信息表、学生表、学生成绩表、学 生答题****信息表、教师表、题库表。 第 16 页 毕业设计说明书(论文) 3.1.1.2 系统层次图 根据所要实现的功能和用户权限的设置。 系统总体的层次图如下图 3-1 所示: 图 3-1 系统层次图 3.1.1.3 系统数据流程图 系统数据流程图如下图 3-2 所示: 第 17 页 毕业设计说明书(论文) 图 3-2 数据流程图 3.1.2 数据库概念结构设计 概念设计阶段主要是将需求****阶段得到的用户需求抽象为信息结构(概 念模型)的过程,它是整个数据库设计的关键,包括概念模型设计和新系统流 程两个阶段。在需求****阶段所得到的应用需求应该首先抽象为信息世界的结构 才能更好地、更准确地用某一 DBMS 实现这些需求。 概念数据模型****于具体的数据处理的细节和数据库管理系统。这次设计仍 采用传统的实体联系图作为概念设计的工具。再进行优化后,尽量满足结构清晰 关联简洁、实体个数适中、属性分配合理、没有低级冗余。系统 E-R 图如下图 3-3 所示: 第 18 页 毕业设计说明书(论文) 图 3-3 系统 E-R 图 3.1.3 数据库逻辑结构设计 对于关系型数据库,数据库的概念结构设计完毕后,要把 E-R 图描述的概 念数据模型转换为等价的关系模式极其约束。逻辑设计的基本工作主要包括如下 的 3 个步骤。 第 19 页 毕业设计说明书(论文) 3.1.3.1 关系模式设计 该设计以概念结构设计中的 E-R 图为主要依据,这几出相关的整体逻辑结 构。该系统的关系模式如下图 3-4 所示: 图 3-4 概念关系模型图 3.1.3.2 完整性设计 完整性要求用于描述各种信息之间的制约关系,以及关联关系,各个数据 项的取值范围以及各个数据项是否可以取值。根据实际需要,采取一定的手段来 第 20 页 毕业设计说明书(论文) 满足用户的完整性需求。域完整性约束要求属性值必须在域中。实体完整性约束 要求主键必须唯一且不能为空。如用户信息表中的用户名设置为主键,并且要求 唯一且不能为空。 3.1.3.3 模式优化 本次采用 3NF 为规范准则来分解关系。将一个关系分解为两个或者多个关 系,以满足规范,从而避免产生插入异常、删除异常、更新异常。 包含资料:源程序+论文(15000 字以上)+可执行程 序+答辩稿 ppt+开题报告 若 有 需 要 请 联 系 QQ : 859515463 E****il: 859515463@qq**** 第 21 页 毕业设计说明书(论文) 3.1.4 数据库表设计 学生信息表如图 3-5 所示 图 3-5 学生信息表 教师信息表如图 3-6 所示 图 3-6 教师信息表 题库信息表如图 3-7 所示 图 3-7 题库信息表 第 22 页 毕业设计说明书(论文) ****信息表如图 3-8 所示 图 3-8 ****信息表 学生答案表如图 3-9 所示 图 3-9 学生答案表 学生成绩表如图 3-10 所示 图 3-10 学生成绩表 第 23 页 毕业设计说明书(论文) 系部信息表如图 3-11 所示 图 3-11 系部信息表 专业信息表如图 3-12 所示 图 3-12 专业信息表 科目信息表如表 3-13 所示 表 3-13 科目信息表 班级信息表如图 3-14 所示 图 3-14 班级信息表 3.2 系统结构设计 3.2.1 页面模块化设计 模块化设计的要求不仅是为了提高代码的重用性,更重要的是为了提高代 第 24 页 毕业设计说明书(论文) 码的可维护性和稳定性。一个模块化程度高、结构清晰的应用程序,在程序维护 时的便利性是可想而知的。最初设计方案时,就要规划好哪些模块是可以提出来 多次使用,哪些模块虽只使用一次,但提出来之后能使代码更清晰等。 网上考试系统是一个典型的数据库****应用程序,本系统主要用****、教 师和学生三大模块组成,各模块功能如下: ****模块:该模块主要是对系部、专业、班级、课程进行管理,添加修改学 生、教师、信息,添加试题、****和审核教师制作的****等。 教师模块:该模块主要是教师通过登录该系统能够修改个人信息,添加试 题,在线制作****,阅卷等。 学生模块:该模块主要是学生通过登录该系统能够修改个人信息(只能修 改****),进行考试等。 3.2.2 MVC 模式设计(Jsp+Servlet+JavaBean) MVC(Model View Controller)是一个设计模式,它强制性的使应用程 序的输入、处理和输出分开。使用 MVC 应用程序被分成三个核心部件:模型、视 图、控制器。它们各自处理自己的任务。   视图是用户看到并与之交互的界面。如何处理应用程序的界面变得越来越有 第 25 页 毕业设计说明书(论文) 挑战性。MVC 一个大的好处是它能为你的应用程序处理很多不同的视图。JSP 页 面处于表现层,也就是视力(View 即 V)的角色。 模型表示企业数据和业务规则。在 MVC 的三个部件中,模型拥有最多的处 理任务。由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了 代码的重复性。JavaBean 则负责数据的处理,也就是模型(Model 即 M)的角 色。 控制器接受用户的输入并调用模型和视图去完成用户的需求。所以当单击 Web 页面中的超链接和发送 HTML 表单时,控制器本身不输出任何东西和做 任何处理。它只是接收请求并决定调用哪个模型构件去处理请求,然后用确定用 哪个视图来显示模型处理返回的数据。Servlet 用来处理请求的事务,充当控制 器(Controller 即 C)的角色,Servlet 负责响应用户对业务逻辑的请求并根据 用户的请求行为,决定将哪个 JSP 页面发送给客户。 初始的请求由 Servlet 来处理,Servlet 调用商业逻辑和数据处理代码,并 创建 Bean 来表示相应的结果(模型)。然后 Servlet 确定哪个页面适合于表达 这些特定的结果,并将请求转发到相应的页面( JSP 页面即为视图),由 第 26 页 毕业设计说明书(论文) Servlet 确定哪个业务逻辑适用,应该用哪个 JSP 页面相应结果(Servlet 就是 控制器)。 第 27 页 毕业设计说明书(论文) 第 4 章 网上考试系统实现 4.1 系统各部分的实现方法 从系统功能模块划分中可以看出,系统总体上有两个功能模块组成。各模块 虽然是****的,但又统一于同一数据库中,便于****管理维护数据库,同时 也便于教师和学生的操作。在介绍系统各模块的实现方法之前,首先介绍系统与 数据库的连接方式——使用 JavaBean 连接连接在服务器 tomcat 里配置的连 接池。再介绍系统主要部分的实现方法。 4.1.1 创建与数据库的连接 配置数据源创建连接池,再通过 JavaBean 连接到数据源再对数据库进行 操作。 连接池是创建和管理一个连接的缓冲池的技术,这些连接准备好被任何需 要它们的线程使用。连接池可以极大的改善用户的 Java 应用程序的性能,同时 减少全部资源的使用。连接池主要的优点有:减少连接创建时间、简化的编程模 式、受控的资源使用。连接池能够使性能最大化,同时还能将资源利用控制在一 定的水平之下,不过如果超过该水平,应用程序将崩溃而不仅仅是变慢。 第 28 页 毕业设计说明书(论文) 配置连接池: 1.首先要将 mysql 的驱动包放在 tomcat/lib 目录下 2.在应用服务器 Tomcat 里的/conf 下找到一个 context.xml 文件,在里 面添加的内容如下: 需要访问数据库就通过在 JavaBean 创建的一个叫 QueryRunner()方法 来访问。 第 29 页 毕业设计说明书(论文) 代码如下: public class Conn { public static QueryRunner getQueryRunner() { DataSource ds = null; try { Context context = new InitialContext(); ds=(DataSource)context.lookup("java:/comp/env/jdbc/examolds"); } catch (Exception e) { System.out.println("获取数据源出错!"); } QueryRunner qr = new QueryRunner(ds); return qr; } } 4.1.2 访问数据库的 JavaBean JavaBean 是一种 Java 语言写成的可重用组件。为写成 JavaBean,类必须是 第 30 页 毕业设计说明书(论文) 具体的和公共的,并且具有无参数的构造器。JavaBean 通过提供符合一致性设 计模式的公共方法将内部域暴露成为属性。众所周知,属性名称符合这种模式, 其他 Java 类可以通过自省机制发现和操作这些 JavaBean 属性。 用户可以使用 JavaBean 将功能、处理、值、数据库访问和其他任何可以用 Java 代码创造的对象进行打包,并且其他的****者可以通过内部的 JSP 页面 、 Servlet、其他 JavaBean、Applet 程序或应用来使用这些对象。用户可以认为 JavaBean 提供了一种随时随地的****和粘贴的功能,而不用关心任何改变。 JSP 的一个重要特性就是可以用 JavaBean 实现功能的扩展。将大部分功能 放在 JavaBean 中完成,以使 JSP 页面程序更干净简洁、利于维护。JavaBean 可 以很方便的用来捕获页面表单的输入并完成各种业务逻辑的处理。 连接数据库的 JavaBean——Conn。通过 JSP 页面调用此 JavaBean,可以实 现对数据库的连接,数据表的添加、删除、更新等操作。 4.1.3 用户及****登录模块页面 用户登录页面比较简单,为防止用户登录的操作错误,应设置错误处理页 面,在登录操作过程中,一般发生的错误有:用户输入了错误的用户名或****、 第 31 页 毕业设计说明书(论文) 用户直接单击了登录按钮,对上述情况的判断就要通过 Servlet 文件来实现。学 生登录界面如图 4-1 所示: 图 4-1 学生登录面 第 32 页 毕业设计说明书(论文) ****教师登录界面如 4-2 图所示: 图 4-2 ****教师登录界面 在登录页面时,当用户提交了登录资料后,就由“UsersServlet.java”这 个 servlet 进行验证,它的工作主要是判断用户登录的帐****和****是否一致。完 成这些工作就必须连接存储用户数据库取出相关信息记录。如果用户输入了错误 的用户名和****,通过 history.back();返回到登录界面并提示出错,如图 4-3 所示: 图 4-3 登录错误提示页面 第 33 页 毕业设计说明书(论文) 若用户提交正确的用户和****后,如果记录验证无误,就通过 JSP 的 request.getRequestDispatcher()方法跳转到相应的界面;判断用户是否输入 正确用户名和****的 Java 程序片段如下所示: //学生登录信息验证 public void stu(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String StuId = request.getParameter("StuId"); String StuPwd = request.getParameter("StuPwd"); String sql = "select * from student where StuId=? and StuPwd=?"; String params[] = { StuId, StuPwd }; QueryRunner qr = Conn.getQueryRunner(); Student student = null; List list = null; try { list = (List) qr.query(sql, new 第 34 页 毕业设计说明书(论文) BeanListHandler(Student.class),params); } catch (SQLException e) { } if (list.size() > 0) { student = (Student) list.get(0); HttpSession session = request.getSession(); session.setAttribute("student", student); request.getRequestDispatcher("/servlet/OptionExamSelect").forward(req uest, response); } else { response.setContentType("text ml;charset=UTF-8"); PrintWriter out = response.getWriter(); out.println(""); } 第 35 页 毕业设计说明书(论文) } //教师和****登录信息验证 public void tea(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String TeaId = request.getParameter("TeaId"); String TeaPwd = request.getParameter("TeaPwd"); System.out.println(TeaId); System.out.println(TeaPwd); String sql = "select * from teacher where TeaId=? and TeaPwd=?"; String params[] = { TeaId, TeaPwd }; QueryRunner qr = Conn.getQueryRunner(); Teacher teacher = null; List list = null; try { 第 36 页 毕业设计说明书(论文) list=(List)qr.query(sql,new BeanListHandler(Teacher.class),params); } catch (SQLException e) { } if (list.size() > 0) { teacher = (Teacher) list.get(0); System.out.println(teacher.getTealimit()); // 老师登录 if (teacher.getTealimit().equals("0")) { HttpSession session = request.getSession(); session.setAttribute("teacher", teacher); response.sendRedirect("/examOL/teacher/****in.jsp"); } // ****登录 if (teacher.getTealimit().equals("1")) { HttpSession session = request.getSession(); session.setAttribute("teacher", teacher); 第 37 页 毕业设计说明书(论文) response.sendRedirect("/examOL/admin/****in.jsp"); } } else { response.setContentType("text ml;charset=UTF-8"); PrintWriter out = response.getWriter(); out .println(""); } } 4.1.4 系统主要模块页面 整 个 系 统 都 采 用 JSP+JavaBean+Servletm 模 式 实 现 JSP+JavaBean+servlet 模式的运用实现了代码的重复利用;是系统程序易编 写、易维护、易使用;并且可以在任何安装了 Java 运行环境的平台上使用而不需 要重新编译。系统首页如图 4-4、4-5、4-6 所示。 第 38 页 毕业设计说明书(论文) 学生登录系统进入学生选择考试页面如图 4-4 所示: 图 4-4 学生登录首页 教师登录系统后,进入教师首页如下图 4-5 所示: 第 39 页 毕业设计说明书(论文) 图 4-5 教师界面 第 40 页 毕业设计说明书(论文) ****登录系统后,进入****首页如下图 4-6 所示: 图 4-6 ****首页 不同用户登录系统后显示的界面都是简单都是一些功能的链接。外观是一个 DIV+CSS的后台管理模版。 4.1.5 学生考试模块的实现页面 考生可以通过首页登录进入选择考试页面,如上图所示。在该页面考生能查 看考试科目和开考时间,可以修改个人的****。修改****成功后将自动注销重新 登录。 如果到了开始考试的时间“是否考试”中就会由“等待考试”变成“开始 第 41 页 毕业设计说明书(论文) 考试”的连接了,考生可以点击此处进入到考试页面。考试页面有倒计时显示, 如果时间到了系统会自动提交。 第 42 页 毕业设计说明书(论文) 学生考试界面如下图 4-7 所示。 图 4-7 考试页面 功能实现代码如下: sql = "SELECT * FROM test ,subject WHERE test.SubNum = subject.SubNum AND test.TesNum = "+ id; Paper paper = null; try { List list = (List) qr.query(sql, new BeanListHandler(Paper.class)); paper = (Paper) list.get(0); } catch (SQLException e) { e.printStackTrace(); } 第 43 页 毕业设计说明书(论文) sql = "select * from question where SubNum="+ paper.getSubNum() + " "+ "AND question.QueType = '选择题' "+ "order By rand() Limit " + paper.getTesSinCount(); System.out.println("选择题" + sql); List sincount = null; try { sincount = (List) qr.query(sql, new BeanListHandler( Question.class)); } catch (SQLException e) { e.printStackTrace(); } sql = "select * from question where SubNum="+ paper.getSubNum() + " "+ "AND question.QueType = '填空题' "+ "order By rand() Limit " + paper.getTesBlaCount(); System.out.println("填空题" + sql); List blabount = null; try { blabount = (List) qr.query(sql, new BeanListHandler( Question.class)); } catch (SQLException e) { e.printStackTrace(); } 第 44 页 毕业设计说明书(论文) sql = "select * from question where SubNum="+ paper.getSubNum() + "" + "AND question.QueType = '问答题' " + "order By rand() Limit " + paper.getTesAnsCount(); System.out.println("问答题" + sql); List anscount = null; try { anscount = (List) qr.query(sql, new BeanListHandler( Question.class)); } catch (SQLException e) { e.printStackTrace(); } 4.1.6 教师添加试题制作****模块的实现 教师登录到系统后通过左边的管理菜单了解到自己拥有那些功能:题库信 息查看、添加题库,****信息查看,添加****,阅卷管理等。题库添加:先选择 所添加试题的科目和题型再进行添加。系统设置了选择题,填空题,问答题。 教师可以在线制作****,设置考试的科目、时间、考试时间段、题型分布、分 值分布、考题数量等,考题数量必须根据系统提示题库总数量设置,不能把考题 第 45 页 毕业设计说明书(论文) 数量超出题库的总数量。 第 46 页 毕业设计说明书(论文) 在线制作****页面如下图 4-8 所示。 图 4-8 在线制作****页面 实现在线制作****代码如下: request.setCharacterEncoding("UTF-8"); String SubNum = request.getParameter("subnum"); String TeaNum = request.getParameter("teanum"); String TesName = request.getParameter("TesName"); String TesTotalper = request.getParameter("TesTotalper"); String TesSinCount = request.getParameter("TesSinCount"); String TesBlaCount = request.getParameter("TesBlaCount"); String TesAnsCount = request.getParameter("TesAnsCount"); String TesSinPer = request.getParameter("TesSinPer"); String TesBlaPer = request.getParameter("TesBlaPer"); 第 47 页 毕业设计说明书(论文) String TesAnsPer = request.getParameter("TesAnsPer"); String TesTime = request.getParameter("TesTime"); String atarttime = request.getParameter("atarttime"); String endtime = request.getParameter("endtime"); String done = request.getParameter("done"); System.out.println(SubNum); String sql = "insert into test "+ "(SubNum,TeaNum,TesName,TesTotalper,TesSinCount,TesSinPer,TesBlaCo unt,TesBlaPer,TesAnsCount,TesAnsPer,TesTime,atarttime,endtime,Done,a ddtime) "+ "values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,now())"; String params[] = { SubNum, TeaNum, TesName, TesTotalper, TesSinCount, TesSinPer, TesBlaCount, TesBlaPer, TesAnsCount, TesAnsPer, TesTime, atarttime, endtime, done }; QueryRunner qr = Conn.getQueryRunner(); try { qr.update(sql, params); 第 48 页 毕业设计说明书(论文) } catch (SQLException e) { e.printStackTrace(); } 第 49 页 毕业设计说明书(论文) 第 5 章 系统测试 5.1 什么是软件测试 软件测试是在软件投入运行前,对软件需求****、设计规格说明书和编码的 最终的复审,是软件质量保证的关键步骤。确切的说,软件测试就是为了发现错 误而执行的过程。一般分为两个阶段: 1.单元测试:在编完一模块后进行测试; 2.综合测试:在****完软件后进行综合测试。 5.2 软件测试的目标与方法 G.Myers 给出了关于测试的一些规则,这些规则可以看作是测试的目标或 定义: 1.测试是为了发现程序中的错误而执行程序的过程; 2.好的测试方案是极可能发现迄今为止尚未发现的错误的测试; 3.成功的测试是发现了至今为止尚未发现的错误的测试。 测试任何软件都有两种方法:黑盒测试和白盒测试法。 黑盒测试法(又称功能测试法)是把程序看成一个黑盒子,完全不考虑程 第 50 页 毕业设计说明书(论文) 序的内部结构和处理过程,是在程序接口进行的测试,它只检查程序功能是否 按照规格说明书的规定正常使用。 白盒测试法(又称结构测试法)是把程序看成装在一个透明的白盒子里, 也就是完全了解程序的结构和处理过程,这种方法按照程序内部的逻辑测试程 序,检验程序中的每条通路是否都能按照预定要求正确工作。 通过测试并不能证明程序就是完全正确的,但我们的目的就是要通过测试 保证软件的可靠性,因此,必须仔细设计测试方案,力争用最少的测试发现尽 可能多的错误。 5.3 系统的不足和展望 对于本次做的网上考试系统有很多的不足和不完善的地方。比如系统的有些 功能操作不够人性话。提示不够准确,对管理信息的设置很不完善等。尤其是在 题库的设计,没有设置试题的难易程度,学生考试就不能有层次性的进行测试 了。 在当今信息时代,计算机技术与网络技术越来越广地成熟的应用于各个领 域,同时也影响了教育领域的重大变革,网上考试系统也将更多更好的应用在 第 51 页 毕业设计说明书(论文) 教育教学领域中。以后的网上考试系统将会更加完善使用。 结束语 通过这次毕业设计,对很多东西有了新的认识和新的见解,认识问题的和 思考解决办法有了本质上的进步,特别是对一个系统****的模式有了更深的认 识,对专业技能的运用更熟练。 网上考试系统的****过程中也遇到了很多问题,开始做需求时不确定考试 系统到底应该具备那些功能,只知道主要功能就是有试题能考试,但具体流程, 怎样实现这些功能就很模糊,所以查看了很多资料才理清楚。数据库设计也是个 难点,不明确要实现哪些功能就不能很好的把数据库设计好。设计数据库就是开 发一个系统的核心。设计数据库一定要思路清晰,各个数据的流向各个表之间的 关系一定要弄清楚,透彻。数据库设计出错了对以后整个系统的影响是最直接的 所以做需求时一定要做好需求****,考虑完善,数据库设计要谨慎。总之需求分 析时能做好就能降低需求变更,再加上设计时考虑到的技术可行性就可以大幅 度的降低需求变更。 第 52 页 毕业设计说明书(论文) 最终还是完成了预定的需求功能。看到自己****完成并可以使用的系统给了 我很大信心。在本系统的设计过程和论文编写过程中,很多老师、同学都给与了 我许多无私的帮助,尤其是我的导师给我的论文提出了很多宝贵的修改意见, 在这里我向这些无私帮助我的人表示衷心的感谢。 第 53 页 毕业设计说明书(论文) 参考文献 1 赵韶平.Power Designer 系统****与建模. 清华大学出版社,2004.8 2 Bruce Eckel 编.《Java 编程思想第 3 版》.机械工业出版社, 2005.9 3 Jeff Magee,JeffKramer.Concurrency.State Models&Java Programs(2 nd Edition), 2006.2 4 李芝兴. 杨瑞龙编《. Java 程序设计之网络编程》.清华大学出版社,2006.3 5 赵森. 中文 SQL Server 2005 程序设计教程. 冶金工业出版社, 2006.7 6 杨学全.SQL Server 实例教程.电子工业出版社,2007.9 7 Y. Daniel Liang.Introduction to Java Programming . Pearson Education,2008.6 8 李锐、李哲等编著. Photoshop CS3 中文版完全自学教程.机械工业出 版社,2008.3 9 郝玉龙.Java EE 编程技术.清华大学出版社,2008.6 10 Liang Y.D.Java 语言程序设计基础篇.机械工业出版社,2008.6 11 江开耀.软件工程与****技术.西安电子科大出版社,2009.2 12 刘志成.UML 建模实例教程.电子工业出版社,2009.11 第 54 页
关于本文
本文标题:基于JSP的在线考试系统源代码和论文 链接地址:http://www.topstudy.com.cn/jiaoyu/lunwen/793.html
上一篇:基于车联网的校车实时监控系统
下一篇:可编程控制器PLC毕业设计

当前资源信息

高级会员

爱学习共有文档745 篇

编号:WENKUWU793

类型: 学术论文

格式: doc

大小: 0.69 MB

上传时间:2018-09-14

相关搜索

关于我们-联系我们-网站声明-文档下载-网站公告-版权申诉-网站客服

文库屋  www.wenkuwu.com (精品学习网 专业在线学习考试资料文档分享平台)

本站部分文档来自互联网收集和整理和网友分享,如果有侵犯了您的版权,请及时联系我们.
© www.topstudy.com.cn 2016-2012 精品学习网 版权所有 并保留所有权  ICP备案号:  粤ICP备14083021号-8              

收起
展开