《基于SSH的计算机基础知识在线考试系统毕业论文(45页).doc》由会员分享,可在线阅读,更多相关《基于SSH的计算机基础知识在线考试系统毕业论文(45页).doc(44页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、-基于SSH的计算机基础知识在线考试系统毕业论文存档编号: 毕业论文(设计)题目:基于SSH的计算机基础知识在线考试系统专业:软件工程院系:信息工程学院年级:2011级学号:11150038姓名:李艳平指导教师:关培超职称:讲师湖北经济学院教务处 制-第 41 页2015届普通本科毕业论文(设计)目 录目 录1摘 要3ABSTRACT4第1章 绪论51.1 系统开发背景51.2 国内外研究现状及分析51.3 系统开发意义61.4 本文组织结构6第2章 系统概述72.1 可行性研究72.2 系统目标72.3 开发环境82.4 相关理论和技术8第3章 系统分析与概要设计103.1 需求分析103.
2、2 系统功能结构123.3 系统流程图133.4 数据库设计14第4章 系统详细设计与实现214.1 前台首页设计与实现214.2 考生信息模块设计与实现214.3 在线考试模块设计与实现244.4 后台首页设计与实现264.5 试卷管理模块设计与实现274.6 考试题目管理模块设计与实现28第5章 关键代码与难点分析325.1 SSH全注解框架的搭建325.2 Struts2拦截器355.3 基于注解的struts action跳转355.4 Action处理AJAX异步请求365.5 填空题评分方法37第6章 总结41致 谢43参考文献44摘 要随着科学技术的高速发展,网络技术已经逐渐深入
3、到我们的日常生活中。同时它也带来了教育方式的一次变革,而在线考试则是一个很重要的方面。基于网络技术的在线考试系统则可以借助于遍布全球的Internet进行。在线考试系统(Online Test)是基于JavaEE和Struts2 + Hibernate + Spring框架,采用Eclipse开发工具 + MySQL数据库 + Tomcat服务器开发的一个基于Web的在线考试平台,适合各行各业的网上考试、作业、练习等。它采用web方式,无需安装客户端,只需一部能上网的工具,即可实现无纸化考试。考试系统包括登陆注册、在线考试、试卷管理、试题管理、成绩管理、考生管理、分数统计以及成绩查询等功能。本
4、系统旨在实现考试的规范化、信息化管理,提升考试效率,增强考试的公平性,使考务管理突破时空控制,使学校管理者、教师和学生无论在何时何地都可通过网络进行考试,使教学朝着信息化、网络化、现代化的目标前进。关键词:在线考试;Struts2;Hibernate;Spring;JSON;AJAX;BootstrapABSTRACTWith the rapid development of science and technology, the network technology has gradually penetrated into our daily life. At the same time,
5、 it also brings a revolution in the way of education, while the online exam is a very important aspect. The online examination system based on network technology can around the world with the help of the Internet.The Online Test System is based on JavaEE and Struts2, Hibernate and Spring framework.
6、Its an online examination platform based on Web and using Eclipse development tools, MySQL database and Tomcat server development, and suitable for all online examination practice etc. It adopts Web mode, no need to install the client, just a internet tool, you can achieve the paperless examination.
7、 The test system includes online registration, sign in system, online examination, test paper management, test questions management, examination results management, candidate management and other functions.The purpose of this system is to realize information management and standardized examination,
8、and to enhance the efficiency of the examination, enhance the fairness of the exam, and break the limitation of time and space. In this way, you can take the examination through the network at any time, and the teaching can towards the target of informatization, network, modernization.Keywords:onlin
9、e examination; Struts2;Hibernate;Spring; JSON; Ajax;Bootstrap第1章 绪论1.1 系统开发背景传统的考试中,要求教师在设计完试卷以后还要打印试卷,安排考试,现场监考,接着收集试卷,给试卷评分,由于参考学生太多,考试类型复杂,这是一个漫长而且辛苦的过程,而且由于人工阅卷,使考试具有主观性,难免缺乏公正。而在线考试系统,则可以很好的解决这个问题。随着计算机技术、Internet技术在教育领域应用的普及,采用现代信息技术的在线考试系统则表现出来很大的优势。在线考试系统通过应用网络技术,来实现考试过程的无纸化,使相关部门对考试过程的管理不受时
10、间和空间的约束,不仅提高了考务管理的工作效率,还能节省资源,无论在任何地地点任何时间,只需一台能上网的设备,你就可以参加考试。在线考试系统使教学工作能够朝着信息化、网络化、现代化的目标迈进,同时也成为教育技术发展与研究的方向。1.2 国内外研究现状及分析世界上所有国家对教育事业的发展都给与了很大的关注,都期望在未来的信息社会中让教育处在优势地位,走在社会发展的前沿,因此大多数国家都把信息技术应用于教育,作为国家发展的重要推动力。在国外,美国心里协会在1986年出版了关于如何开发、使用计算机化考试以及解释考分的指南,成为了考试和软件开发人员的事实标准。目前,国外很多的大型检测出版机构、地区教育主
11、管部门和专业资格认证机构都以某种测量理论为指导建立题库、设计考试系统,并进行各项相关研究。在我国,在线考试系统和题库的理论研究和实践应用虽然起步较晚,但发展比较快速,研究和开发活动也比较活跃。北京师范大学、华北师范大学等高等院校都有教师在进行教育测量理论应用于题库建设方面的研究。上海交通大学、清华大学等高校,也有教师在组织力量致力于实用考试系统的研究和开发工作。其中使用专用在线考试系统影响较大的考试有:1994年开始,国家教务组织的全国计算机等级考试;1996年开始,教育部考试中心举办的全国计算机应用技术证书考试;微软授权培训中心组织的认证考试等。1.3 系统开发意义在传统的教学检验方式中,要
12、进行一次考试,至少需要经过教师出题、打印试卷、学生考试、教师阅卷等几步,这是一个繁琐的过程,需要投入大量人力、物力及时间。显然随着考试类型的不断增加和考试要求的不断提高,教师的工作量也越来越大,可以说传统的考试方法已经不能适用于现代考试的需要。那么,解决这些诸多难题的一种方式,就是利用Internet无国界的特点,在互联网上在线考试。在线考试系统可以减轻教师的工作负担、提高其工作效率,也减少了因考试而消耗的不必要的人力和物力,同时提高了考试的质量,从而使考试更趋于公正、客观,更加能激发学生的学习兴趣。1.4 本文组织结构本首先讲述了在线考试系统开发的背景和现状,接着在第二章分析了系统可行性、系
13、统目标以及系统所用到的技术等。第三章首先从软件工程的角度分析了系统各方面的需求,然后通过系统功能模块图描述了系统的各个模块及其功能,并给出了系统流程图,使整个系统结构一目了然,最后介绍了系统的数据结构和数据库设计。在第四章则讲述了系统的详细设计与实现,通过文字和截图的形式分析了各个模块的功能及操作流程。第五章对系统中一些关键代码和比较重要的部分及关键点进行了讲解和分析,并对填空题自动评分算法做了详细介绍且给出了代码的实现。最后对项目进行了总结,并介绍在此次项目中获得的经验以及自己的不足之处。第2章 系统概述2.1 可行性研究1. 经济可行性大部分学校为了能够及时的掌握学生的学习情况,都会定期的
14、组织考试,对传统的考试模式而言,这无疑需要消耗大量的人力物力。而利用基于网络的在线考试系统,不仅可以节省人力资源,减少因考试而花费的成本,同时,在线考试系统因为能够快速的展开考试和评分,使考试更具客观性和公正性。2. 技术可行性开发一个网络在线考试系统,涉及的最核心的技术问题就是如何实现在不刷新页面的情况下实时显示考试时间及剩余时间,并做到到达考试结束时间时自动提交试卷的功能。如果在Ajax技术出现之前,要实现这些功能会比较麻烦,但现在通过Ajax技术可以轻松实现这些功能,这为在线考试系统的开发提供了技术保障。2.2 系统目标根据前面所进行的需求分析及用户的需求可知,成长在线考试网属于中小型的
15、软件,在系统实施后,应达到以下目标:1. 突破空间限制。考生可以通过网络在任何地方进入在线考试系统参加考试,而无须到达特定的地点进行考试。2. 系统界面要大方整洁,操作简单。3. 系统为考生提供剩余考试时间提醒功能,以便考生能及时掌握考试情况。4. 提供超时自动交卷的功能。当到达考试规定的结束时间时,如果考生没有按时提交试卷,系统将会自动交卷,从而确保考试能够公平的进行。5. 系统自动阅卷,保证成绩真实准确6. 考生可以查询考试成绩。7. 系统运行稳定、安全可靠。2.3 开发环境在开发在线考试系统时,需具备下面的软件环境。操作系统:Windows 8数据库:MySQL 5.0Web服务器:To
16、mcat 6.0开发工具:eclipse3.6开发语言:Java2.4 相关理论和技术1. SSH框架首先,SSH不是一个框架,而是多个框架(struts+spring+hibernate)的集成,是目前较流行的一种Web应用程序开源集成框架,用于构建灵活、易于扩展的多层Web应用程序。Struts作为系统的整体基础架构,负责MVC的分离,在Struts框架的模型部分,控制业务跳转,利用Hibernate框架对持久层提供支持。Spring一方面作为一个轻量级的IoC容器,负责查找、定位、创建和管理对象及对象之间的依赖关系,另一方面能使Struts和Hibernate更好地工作。采用上述开发模型
17、,不仅实现了视图、控制器与模型的彻底分离,而且还实现了业务逻辑层与持久层的分离。这样无论前端如何变化,模型层只需很少的改动,并且数据库的变化也不会对前端有所影响,大大提高了系统的可复用性。而且由于不同层之间耦合度小,有利于团队成员并行工作,大大提高了开发效率。但是在一个项目中,通常会有很多个组件,如果这些组件采用XML的bean定义来配置,显然会增加配置文件的体积,查找以及维护起来也不太方便。个人也不喜欢配置那么多的XML文件。所系本系统采用java的注解实现ssh框架,注解相当于一种标记加了注解就等于打上了某种标记,没加,则等于没有某种标记,以后,javac编译器,开发工具包和其他程序可以用
18、反射来了解你的类以及各种元素上有何种标记,看你有什么标记,就去干相应的事,标记可以加载包,类,字段,方法,方法的参数以及局部变量上。关于全注解的实现方式,我将会在后面的系统实现部分详细介绍。2. MySQL数据库MySQL被广泛的应用在Internet上的中小型网站中。由于其体积小、速度快、总体花费成本低,尤其是开放源码这一特性,许多中小型的网站为了降低总体成本而选择了MySQL作为网站数据库。而且MySQL具有超强的稳定性和强大的查询功能,从而使得查询变得方便和快捷。3.Bootstrap框架Bootstrap,来自 Twitter,是目前最受欢迎的前端框架。Bootstrap 是基于 HT
19、ML、CSS、JAVASCRIPT 的,它简洁灵活,使得 Web 开发更加快捷,它在jQuery的基础上进行了更为个性化和人性化的完善,形成一套自己独有的网站风格,并兼容大部分jQuery插件。Bootstrap中包含了丰富的Web组件,根据这些组件,可以快速的搭建一个漂亮、功能完备的网站。4. Ajax技术Ajax,即异步的 JavaScript 和 XML,它不是新的编程语言,而是一种使用现有标准的新方法。传统的Web应用交互由用户触发一个HTTP请求到服务器,服务器对其进行处理后再返回一个新的HTHL页到客户端, 每当服务器处理客户端提交的请求时,客户都只能空闲等待,哪怕只是一次很小的交
20、互,都要返回一个完整的HTML页,而用户每次都要浪费时间和带宽去重新读取整个页面,这导致用户界面的响应比本地应用慢得多。AJAX使用异步方式与服务器通信,不需要打断用户的操作,具有更加迅速的响应能力。优化了Browser和Server之间的沟通,减少不必要的数据传输、时间及降低网络上数据流量。通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。5.JSONJSON(JavaScript Object Notation), 是一种轻量级的数据交换格式。它基于JavaScript的一个子集。 JSON采用完全独立于
21、语言的文本格式,数据格式比较简单, 易于读写, 格式都是压缩的, 占用带宽小。因为JSON格式能够直接为服务器端代码使用, 大大简化了服务器端和客户端的代码开发量, 但是完成的任务不变, 且易于维护。这些特性使JSON成为理想的数据交换语言。第3章 系统分析与概要设计3.1 需求分析伴随着社会经济的快速发展与前进,人们对教育的发展越来越重视。考试是教育中的一个重要环节,近年来考试类型的不断增加及考试需求不断提高,传统的考试方式要求教师打印考卷、监考、批卷,使教师的工作量越来越大,并且这些环节由于全部需要人工完成,非常容易出错。由于以上几个原因,现在很多学校以及考试机构正在大力建设在线考试系统,
22、以此来减少考务管理成本和降低人力及物力的投入,与此同时也可以为考生提供更加全面、更加灵活的服务。考生希望对自己的学习情况进行客观、科学的评价;教学人员则期望现有的考试模式能够得到有效的改进,从而能够提升考试效率。为了满足考生和教务人员的需求,在线考试系统需要实现题库管理、在线生成试卷并管理、考生登录注册、考生信息管理、在线答题、在线提交试卷、自动评分、成绩查询等功能,以满足各方面的需要。1. 考生:可以在线注册,登录系统,若忘记登陆密码可根据注册时填写的提示问题及答案召回登录密码;登陆系统后可修改密码及个人基本信息、 选择试卷并在线考试、查询成绩个人成绩;考试结束后可退出系统。图3-1 考生用
23、例图2. 管理员:登陆系统后可对管理员、考生等信息进行管理;添加考试题目并生成试卷;对考生成绩按条件进行查询和管理。图3-2 管理员用例图3. 系统:在考试时为考生提供考试时间倒计时功能,提醒考生剩余考试时间;考试时间到达时自动提交试卷;提交试卷后自动阅卷并即时显示考试成绩。图3-3 系统用例图3.2 系统功能结构根据在线考试系统的特点,可以将其分为前台和后台两个部分来进行设计。前台主要用于考生注册和登录系统、在线考试、查询成绩及修改个人资料等;后台主要用于管理员对考生信息、试卷信息、考题信息和考生成绩信息等进行管理。1.在线考试系统的前台功能结构图如图3-4所示。图3-4 前台功能结构图2.
24、在线考试系统的后台功能结构图如图3-5所示。图3-5 后台功能结构图3.3 系统流程图1.考生在进入系统进行操作之前需先登录系统,进入前台首页之后通过导航栏上面的链接可以进行相关操作。考生模块业务流程图如图3-6所示。图3-6 考生模块流程图2.管理员登陆系统后,进入后台管理首页,通过导航栏链接进行后台管理工作。管理员模块业务流程图如图3-7所示。图3-7 管理员模块流程图3.4 数据库设计1.数据库分析数据库是一个应用系统的核心,所以数据库设计的好坏对一个系统的执行效率以及数据的有效性和一致性有着直接且重要的影响。设计数据库之前应充分了解用户的需求,需求分析是设计数据库的起点,需求分析的结果
25、是否能够准确无误的反映用户的实际需求,将直接影响到后面各个阶段的设计。数据库需求分析的目的就是要了解在一个系统中,用户需要查询、添加、修改和删除哪些数据,通过对基本数据、数据结构以及数据处理的流程的收集与整理,组成一份详细的数据字典,从而为后面的具体设计奠定基础。根据前面所进行的需求分析及用户的需求可知,在线考试系统属于中小型的软件。而MySQL具有小巧、功能齐全、查询迅捷等优点,可并可免费使用,对于一般中小型,甚至大型应用都能够胜任。综上所述,本系统采用的是MySQL数据库。2.数据库概念设计数据模型是是数据特征的抽象,从抽象层次上描述了系统的静态特征、动态行为和约束条件,为数据库系统的信息
26、表与操作提供一个抽象的框架。描述了数据结构、数据操作及数据约束。E-R模型是对现实世界的一种抽象。它的主要成分是实体、联系和属性。使用这三种成分,我们可以建立许多应用环境的E-R模型。根据以上各节对系统所做的需求分析和系统设计,现规划处本系统中使用的数据库实体分别为考生档案实体、管理员档案实体、试卷信息实体、考试题目实体(包括单选题、多选题、判断题、填空题)和考生成绩实体。下面将介绍几个关键实体的E-R图。1)考生信息实体考生档案实体包括编号、考生姓名、密码、性别、提示问题、问题答案、身份证号等属性。其实体E-R图如图3-8所示。图3-8 考生信息实体ER图2)试卷信息实体试卷实体包括编号、试
27、卷标题、单选题个数、单选题每题分值、判断题个数、判断题每题分值、多选题个数、判断题每题分值、填空题个数、填空题每空分值、添加日期、考试所需时间等属性。其实体E-R图如图3-9所示。图3-9 试卷信息实体ER图3)单选题实体单选题实体包括编号、题干、正确答案、选项A、选项B、选项C、所属试卷等属性。其实体E-R图如图3-10所示。图3-10 单选题信息实体ER图4)判断题实体判断题实体包括编号、题干、正确答案、所属试卷等属性。其实体E-R图如图3-11所示。图3-11 判断题信息实体ER图5)多选题实体多选题实体包括编号、题干、正确答案、所属试卷、选项个数、选项A、选项B、选项C、选项D、选项E
28、、选项F、选项G等属性。其实体E-R图如图3-12所示。图3-12 多选题信息实体ER图6)填空题实体填空题实体包括编号、题干、正确答案、空白个数、所属试卷等属性。其实体E-R图如图3-13所示。图3-13 填空题信息实体ER图7)考生成绩实体考生成绩实体包括编号、考生编号、试卷编号、成绩、考试时间等属性。其实体E-R图如下图所示。图3-14 成绩表信息实体ER图3.数据库逻辑结构根据上一节的数据库概念设计,可以创建与之对应的数据表。本系统包含8张表,下面分别介绍这些表的结构。1)tb_admin(管理员信息表)管理员信息表用来存放所有管理员的登录信息,该表的结构如下表所示。列名数据类型约束描
29、述idintprimary keyID号(自动编号)usernamevarchar(30)not null用户名passwordvarchar(30)not null密码2)tb_candidate(考生信息表)考生信息表用来保存所有考生信息,该表的结构如下表所示。列名数据类型约束描述idintprimary keyID号(自动编号)namevarchar(30)not null姓名passwordvarchar(30)not null密码sexintnot null性别cardNovarchar(18)not null身份证号questionvarchar(100)not null提示问题a
30、nswervarchar(100)not null问题答案3)tb_paper(试卷信息表)试卷信息表用来保存套题信息,该表的结构如下表所示。列名数据类型约束描述idintprimary keyID号(自动编号)namevarchar(100)not null试卷标题singleNumint允许空值单选题数量singlePointint允许空值单选题每题分值pdNumint允许空值判断题数量pdPointint允许空值判断题每题分值multipleNumint允许空值多选题数量multiplePointint允许空值多选题每题分值addDatedatetime允许空值添加日期needTimei
31、nt允许空值考试所需时间4)tb_single(单选题信息表)单选题信息表用来存放单选题信息,该表的结构如下表所示。列名数据类型约束描述idintprimary keyID号(自动编号)subjectvarchar(200)not null题干paperIdintnot null所属试卷编号optionAvarchar(100)not null选项AoptionBvarchar(100)not null选项BoptionCvarchar(100)not null选项CoptionDvarchar(100)not null选项Danswervarchar(2)not null正确答案5)tb_p
32、d(判断题信息表)判断题信息表用来存放判断题信息,该表的结构如下表所示。列名数据类型约束描述idintprimary keyID号(自动编号)subjectvarchar(200)not null题干answerintnot null答案paperIdintnot null所属试卷编号6)tb_blank(填空题信息表)填空题信息表用来存放填空题信息,该表的结构如下表所示。列名数据类型约束描述idintprimary keyID号(自动编号)subjectvarchar(200)not null题干paperIdintnot null所属试卷编号answervarchar(200)not nu
33、ll正确答案fillNumintnot null每题空白数量7)tb_multiple(多选题信息表)多选题信息表用来存放多选题信息,该表的结构如下表所示。列名数据类型约束描述idintprimary keyID号(自动编号)subjectvarchar(200)not null题干paperIdintnot null所属试卷编号optionAvarchar(100)not null选项AoptionBvarchar(100)not null选项BoptionCvarchar(100)not null选项CoptionDvarchar(100)not null选项DoptionEvarchar
34、(100)允许为空选项EoptionFvarchar(100)允许为空选项FoptionGvarchar(100)允许为空选项Ganswervarchar(15)not null正确答案optionNumintnot null选项个数8)tb_report(考生成绩信息表)考生成绩信息表用来存放考生成绩信息,该表的结构如下表所示。列名数据类型约束描述idintprimary keyID号(自动编号)candidateIdintnot null考生编号paperIdintnot null试卷编号scoreintnot null考试成绩examDatedatetimenot null考试时间第4章
35、 系统详细设计与实现4.1 前台首页设计与实现在线考试系统的首页设计主要用于功能导航,在该页面中只包括在线注册、登陆系统、在线考试、成绩查询4个导航链接,如图4-1所示。图4-1 首页面4.2 考生信息模块设计与实现1.考生信息模块概述考生信息模块主要包括考生在线注册、考生登录、修改个人基本信息、修改登录密码及找回密码5个功能。考生首先要注册为网站用户,然后登录网站才能进行一系列操作;登陆后考生还可以修改个人的注册资料,修改密码。如果考生忘记了登录密码,还可以通过网站提供的找回密码功能快速找回密码。考生信息模块的操作流程图如图4-2所示。图4-2 生信息模块操作流程图2.考生注册的实现过程进入
36、在线考试系统,可根据首页导航或者在登录页面的导航栏点击“注册”菜单,即可进入到考生考生注册页面,在该页面输入个人资料及密码,如图4-3所示。当“身份证号”输入框失去焦点时,通过ajax异步提交该身份证号给后台,系统将根据输入的身份证号进行验证是否已经注册,如果没有注册,将进行下面的信息填写,当点击“注册”按钮时,系统保存用户信息并跳转至登陆页面,供用户登陆;否则将会提示用户“已经注册”。图4-3 注册页面3.找回密码的实现过程进入到登陆页面后,如图4-4所示。若考生忘记登陆密码,单击如图所示的“点击找回”,即可进入到找回密码页面的第一步,用于输入身份证号如图4-5所示。在该页面中输入注册时所用
37、的身份证号,单击“下一步”按钮,即进入找回密码第二步,在“密码提示答案”输入框中输入密码提示问题的答案,如图4-6所示。单击“下一步”按钮,进入到找回密码第三步,如图4-7所示。在这里重新设置密码,点击“提交”后,即调转至登陆页面,供考生登录。1)登陆页面:图4-4 登陆页面2)找回密码第一步:图4-5 找回密码第一步3)找回密码第二步:图4-6 找回密码第二步4)找回密码第三步:图4-7 找回密码第三步4.3 在线考试模块设计与实现1.在线考试模块的概述在线考试模块的主要功能是允许考生在网站上针对指定的试卷进行考试。在该模块中,考生首先需要浏览考试规则,在接受所列出的考试规则后,才能选择试卷
38、,点击“参加考试”,系统则会生成试卷,然后进入考试页面进行答题,当考生提交试卷或者考试结束时间到达时,系统将自动对考生提交的试卷进行评分,并立即给出最终考试成绩。在线考试模块的操作流程图如图4-8所示。图4-8 在线考试模块操作流程图2.在线生成试卷并显示试题的实现过程考生登录系统后,在导航栏单击“在线考试”链接,将进入到试卷列表页面,如图4-9所示,点击“参加考试”,便可进入答题。图4-9 试卷列表页面图4-10是在线显示试题页面,在顶部是本场考试的基本信息,包括总分、考试时间、参考学生及考试剩余时间等,下面则是考试题目。在本页面考生便可直接在线答题,考试结束后点击下面的“提交答案”按钮,至
39、此,本次考试结束。图4-10 在线考试页面3.自动阅卷并显示考试成绩的实现过程在显示试题页面中,单击“交卷”按钮后是到达考试结束时间时,系统将自动自动阅卷并将考试成绩以对话框的形式反馈给考生,如图4-11所示。图4-11 显示考试成绩对话框4.4 后台首页设计与实现在线考试系统(Online Test)的后台首页是管理员对网站信息进行管理的首页面。在该页面中,管理员可以清楚地了解网站后台管理系统包含的基本操作。在线考试系统后台首页包含的主要模块如下。管理员信息管理:主要包括管理员信息列表、添加管理员和删除管理员。考生信息管理:主要包括查看已注册考生信息列表和删除已注册考生信息。试卷信息管理:主
40、要保活查看试卷信息列表、添加试卷信息、修改试卷信息以及删除试卷信息。考试题目管理:主要包括查看考试题目列表、添加考试题目、修改考试题目以及删除考试题目。退出管理:主要用于退出在线考试后台管理系统。为了方便管理员管理,在线考试系统的后台首页中显示的是考生成绩管理页面,其运行结果如图4-12所示。图4-12 考生成绩管理页面在该页面中,可以按条件查询考生成绩信息,包括按试卷查询、按考试时间查询、按考生身份证号查询、或者三者结合在一起查询。考生成绩信息以列表形式,采用分页管理,每次显示20条数据。4.5 试卷管理模块设计与实现1.试卷管理模块的概述试卷管理模块主要包括查试卷列表、添加试卷信息、修改试
41、卷信息、删除试卷信息、查看试卷试题信息等5个功能。试卷管理模块的框架如图4-13所示。图4-13 试卷管理模块框架图2.查看试卷列表的实现过程管理员登陆后,单击“试卷管理”超链接,进入到查看试卷信息列表页面,在页面中将以列表形式显示全部试卷信息。同时提供添加试卷、修改试卷、删除试卷、查看试题的超链接。试卷管理页面的运行结果如图4-14所示。图4-14 试卷列表页面3.添加试卷的实现过程管理员登陆考试系统后,在试卷管理页面,点解“添加试卷”按钮,进入到试卷添加页面。如下图所示。该表单需要添加试卷名称、单选题、判断题、多选题每题分值以及填空题每空分值和考试所需时间等。点击“提交”,便可将此试卷信息
42、添加到数据库。后台处理完成后,会提示用户添加成功,并跳转至试卷信息列表页面。图4-15 添加试卷页面4.修改试卷的实现过程修改试卷信息同添加试卷信息页面大致相同,不同之处在于:在进入修改试卷信息页面时,通过Ajax异步获取该试卷信息,并通过javascript脚本将试卷各属性信息显示在页面,以方便用户修改试卷信息。5.删除试卷的实现过程在试卷心里列表页面,当某一试卷不在需要时,便可点击操作栏里的“删除”按钮,点击后,系统会提示“是否删除”,在对话框中点击“确定”时,该试卷信息便会被删除,同时与试卷相关的考试题目也将被删除。4.6 考试题目管理模块设计与实现1.考试题目管理模块的概述考试题目管理
43、模块主要包括查看试题列表、添加考试题目、修改考试题目和删除考试题目等4个功能。考试题目管理模块的框架如图4-16所示。图4-16 试题管理模块框架图2.查看题目列表的实现过程管理员登陆考试系统后,点解“题目管理”超链接,将进入到考试题目信息列表页面,如图4-17所示。由于考试题目很多,为了方便用户浏览方便,将考试题目按照题型分为四个模块:分别是单选题、判断题、多选题及填空题。用户分别点击四个按钮时,便会出现相应的题目列表,同时每个题型的题目列表又以分页的形式展示,每页20条数据。图4-17 考试题目管理页面3.添加考试题目的实现过程在考试题目管理页面,点解“添加试题”按钮,将会进入添加考试题目
44、页面,如图4-18所示。该页面有四个表单,通过bootstrap框架提供的标签页插件组合在一起,当点击上面的四个题型按钮时,便会切换到相应题型的添加页面,下面只展示了添加判断题的界面。将试题信息填写完整后,点击“提交按钮”,该试题信息就会被添加,系统处理完成后,会提示用户添加成功,并调转至考试题目列表页面。图4-18 添加考试题目页面4.修改考试题目的实现过程在考试题目管理页面,当需要对某一试题进行修改时,点击操作栏里的“修改”按钮,将会跳转至修改试题页面,如下图所示。根据考试题目管理页面的所提供的题型标志questionType,在该页面将会相应的板块。同修改试卷信息一样,在进入到该页面时,
45、通过Ajax向后台发送异步请求,获取该题目信息,并通过javascript脚本将相应信填写入表单中,以方便用户修改。下图只展示了单选题的修改页面。图4-19 修改考试题目页面5.删除考试题目的实现过程在考试题目管理页面,当需要删除某一考试题目时,点击操作栏里的“删除”按钮,将弹出是否删除的对话框,点解“确定”按钮,该试题将会被删除,并提示用户操作成功。单击“取消按钮”,将不进行任何操作。第5章 关键代码与难点分析5.1 SSH全注解框架的搭建1.选择jar包:网上有很多ssh框架整合jar包详解,这里不再赘述。2.配置文件:最基本的配置文件有web.xml,struts.xml,applicationContext.xml。1)web.xml文件:web.xml是所以web项目必须的配置文件,它是供web容器(比如tomcat)加载的,通常定义这个web项目的必要信息。在web.xml引入struts,配置Struts 2框架的核心Filter: struts org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFil