《基于J2EE的在线考试系统设计与实现.doc》由会员分享,可在线阅读,更多相关《基于J2EE的在线考试系统设计与实现.doc(35页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、本科论文目 录摘 要IABSTRACTII引 言11 相关技术31.1 Java简介31.2 JSP技术31.3 MySQL数据库41.4 B/S结构41.5 本章小结42 系统分析52.1 需求分析52.2 可行性分析62.2.1 技术可行性62.2.2 操作可行性62.2.3 经济可行性72.2.4 法律可行性72.3 系统性能分析72.4 系统功能分析72.5 本章小结83 系统设计93.1 系统流程设计93.1.1 操作流程93.1.2 添加信息流程93.1.3 修改信息流程103.1.4 删除信息流程103.2 系统结构设计113.3 系统模块设计113.4 数据库设计123.4.1
2、 数据库实体关系图设计123.4.2 数据库表设计133.4 本章小结144 系统实现154.1 开发环境154.2 开发规范154.2.1 命名与编程规则154.2.2 书写规则154.2.3 程序注释154.3 系统和数据库的配置154.4 各个功能模块的详细设计164.5 本章小结245 系统测试255.1 测试定义255.2 测试目的255.3 测试用例255.4 压力测试265.5 测试结论275.6 本章小结27结 论28致 谢29参考文献30摘 要新世纪的到来,伴随着计算机信息化的不断发展,以及校园网的广泛应用,考试的不断增多,传统的考试模式已经满足不了现在学校的发展。计算机的出
3、现带动了信息化的发展,越来越多的系统正在通过在线审核创建。世界各国对教育的发展给予了前所未有的重视,并努力将教育置于未来信息社会的前列,并向前迈进了一步。根据美国政府于上世界九十年代初发起的主动教育倡议,美国几乎所有教室和图书馆都将在21世纪初与数据高速公路连接,如此每个学生都将会成为“21世纪教师”网络的一部分。上世纪九十年代初,澳大利亚公共资源办公室建立了一个教育网络,不仅覆盖全国所有高等教育机构,而且涵盖所有基础教育和中等教育机构。该在线考试系统的具体实现是以B/S为核心框架结构,结合Java语言的高效性和MySql数据库语言的简洁性具体完成的。运用这个系统可以节省许多人力资源并提高考核
4、审计工作的效率。项目完成之后,根据国际软件开发标准对系统进行全面且具体的系统测试,测试数据显示,该系统具有很多的数据吞吐性,对使用者充满了友好性,系统具有完整的攻防机制。在线考试系统会对管理模块和学生操作模块进行详细的实现,从而使考核管理工作高效率化、科学和标准化。关键词:在线考试系统;JSP技术;MySQL数据库;B/S结构AbstractWith the advent of the new century, along with the continuous development of computer informatization and the widespread applica
5、tion of campus networks, the number of examinations is increasing, and the traditional examination model can no longer meet the development of schools. The emergence of computers has driven the development of informatization, and more and more systems are being created through online audits. Countri
6、es around the world have given unprecedented attention to the development of education, and strive to put education at the forefront of the future information society, and have taken a step forward. According to the initiative education initiative launched by the US government in the early 1990s, al
7、most all classrooms and libraries in the United States will be connected to the data highway in the early 21st century, so that every student will become a 21st century teacher network. portion. In the early 1990s, the Australian Public Resources Office established an education network that covers n
8、ot only all higher education institutions across the country, but also all basic and secondary education institutions.The specific implementation of the online examination system is based on B/S as the core framework structure, combined with the efficiency of Java language and the simplicity of MySq
9、l database language. Using this system can save a lot of human resources and improve the efficiency of assessment and audit work. After the project is completed, the system is tested comprehensively and specifically according to international software development standards. The test data shows that
10、the system has a lot of data throughput and is user-friendly. The system has a complete offensive and defensive mechanism. The online examination system will implement the management module and the student operation module in detail, so as to make the assessment management work more efficient, scien
11、tific and standardized.Keywords: Online examination system; JSP technology; MySQL database; B/S structure引 言随着科学与技术的发展、计算机的应用,人们生活的过程都和互联网紧密相关。电脑的普及让人们的生活变得更加方便快捷,网络也遍布到生活的每个角落,为工作、学习和生活带来了特别大的方便之处。例如考试的管理,题目信息、试卷信息、科目信息等,数据信息处理工作量大,数据繁多,使得在线考试系统的设计与开发就显得尤为重要。因此,具有现代的互联网多媒体信息技术的在线考试系统的建设,对于学校教学的发展具有
12、非常重要的意义。这几年,很多的学校都已经尝试使用电脑来提高学生们的考试效率。在线考试系统的应用会让考试变得更具有快捷性与高效性,与传统考试模式相比具有很大的优势。在线考试系统具有独特的准确性、及时性、快捷性,并且保密性高,能够为学校营造一个全新的、良好的教育环境,因此学校的教学水平可以的到一定地步的提高。通过对考试方式的调查,发现如今很多的学校还使用传统考试方式,即费时又费力,已经不能满足当前学校发展需要,所以急需对学校考试方式进行修改,依次提高考试效率,还能够提高学校考试效率和教学水平,设计开发出一套界面友好,应用广泛,实用型的在线考试系统已经刻不容缓。本在线考试系统是为了方便学生进行考试,
13、也方便学校管理人员的管理。在线考试系统的建立就会使考试管理变得具有实用性、先进性和高效性。在线考试系统的实施具有如下现实意义:第一,快速便捷,提高管理人员对考试信息的管理效率。第二,改变了以前基于文本的考试方式,使用电脑进行管理更加方便快捷。第三,实现了考试的计算机化。本在线考试系统主要实现了学生模块和管理员模块两大部分。系统采用如今市面上常见的B/S(浏览器/服务器)结构和JSP技术,并且是基于MySQL数据库开发设计的。具体研究内容如下:(1)针对课题内容,研究学习在线考试系统的整个工作,在学习的过程中掌握系统的开发方法,明确系统设计原则和目标。(2)对现有的考试系统进行研究分析,学习他们
14、的方法思路,并且在原有的基础上完善本在线考试系统的功能。(3)根据学习关于JSP的相关书籍,对该系统的功能模块进行全面具体的设计实现。(4)测试功能的具体实现,检测功能是否稳定等。1 相关技术1.1 Java简介由SUN公司推出的Java语言是一种现今在世界上比较主流的面向对象的语言 1。它是可以在多种平台上运用的,兼容性比较强,适应市面上大多数操作系统,不会出现乱码的现象,其扩展性和维护性都更好,具有分析问题和解决问题的能力,是面向过程的程序设计方便编写的代码更强壮。Java相对其它语言来说,比较简单,编译起来更方便一些,安全可靠性高。不完全统计,现在全世界大约有2000多万人在使用它,Ja
15、va既可以镶嵌使用又可以独力的使用。Java大致可以分成两个部分,一种部分是Java负责的编译,另一种是Java负责的运行。Java和C+语言很相像,但Java在编程时是一种以对象为导向的方式来进行编译的,使得编出来的软件可以单机使用,也可以在互联网上使用,检查出错更为方便。Java分布式、体系结构中立的特点也使得其存储更快,编译更简单。面向对象包括四个特点,一是封装,就是说在定义类的时候可以实现一定的功能和属性。二是抽象,属于类的一种,可以把一个具有共同属性的类封装在一个抽象里,便于简单编译。三是继承,顾名思义就是带有前者的特性。还有一个就是多态的特点,可以多种一起运用,表现了它可扩展性好。
16、1.2 JSP技术JSP(全称JavaServer Pages)是由Sun Microsystems公司主导创建的一种动态网页技术标准2。JSP是能够独立使用的编程语言,能够嵌入在html语言内运行,由于JSP参照了很多编程语言的特性,所以JSP在web的脚本技术当中占有很重要的位置,对于编程行业的初学者来说,JSP这种编程语言是容易学习,并且具备许多高级的特性3。在程序的开发过程中,使用JSP也不失为一种正确的选择,像表单数据的收集操作以及字符串信息的处理方面等等,JSP都能很轻松地解决,帮助程序开发者省下许多时间。所以就此看来,使用JSP可以自由的选择Web服务器、操作系统和合适的数据库管
17、理系统。设计开发时,有两种选择,一种是面向过程,另一种是面向对象,或者两种都使用,可被称为混和方式设计。优点:(1)一次编写,到处运行。(2)系统的多平台支持。(3)强大的可伸缩性。(4)多样化和功能强大的开发工具支持。1.3 MySQL数据库网络应用程序中最重要的一种技术就是数据库。添加数据、删除数据,检索数据并管理数据,是每个软件开发人员都面临的一个问题。与其他的大型数据库例如Oracle、DB2、SQL Server等相比,MySQL必然会有它的不足之处,但是这丝毫也没有减少它受欢迎的程度4。MySQL目前阶段所具有的功能已经完全可以满足一些中小企业和个体消费者的需求。MySql对所有用
18、户采用开放原则,所有的开发者可以根据自身的具体需求对MySql提供的相关功能进行调整,已达到完成自己项目的目的,因此,MySql是及其的受开发者的关注的。所以人们认为它是处理数据的最清晰选择。1.4 B/S结构B/S(浏览器/服务器)结构是主流网络结构,它能够帮助开发者一定程度上的减少不必要的操作,其核心处理点已经转移到服务器上,对于开发者来说是极其有好的。而使用该模式只需要安装浏览器即可。并且安装上SQLServer、MySQL数据库等数据库3。启用的浏览器与服务器数据库互动几乎所有的信息数据。许多特殊软件能够完成的事情,也可以通过B/S结构模式被应用,结合多种技术,就能够帮助程序开发者节约
19、很多的开发成本。目前B/S结构成为程序开发主流结构,它最好的地方就是没有地点限制还不用专门安装软件,笔记本或者电脑能够上网就能访问系统。系统使用B/S进行开发在后期系统维护上面就会很省事,不用什么问题都在服务器上面操作,简单的客户端处理就解决部分问题,开发出来的程序与用户交互性上面也会增强,还可以实时刷新浏览器进行程序局部的数据信息更新。图1-1 B/S模式三层结构图1.5 本章小结这一章重点的地方是本课题中用来解决进行系统开发的编程语言的特点以及为什么选择此种语言。其次介绍了实现系统功能所用到的技术、框架结构、数据库访问技术等以及上述技术所涉及到的相关问题。2 系统分析2.1 需求分析如果一
20、个开发好但不能满足需求可行性得系统不能像原先设想的那样有效的话,它就会导致开发失败。开发系统是否有用,能否完整之前讨论的要求6。接下来是对此系统进行的实际需求分析。基于J2EE的在线考试系统是一个可以应用在全国各地的在线考试系统,本课题是从当前全国高校考试难为切入点,以满足各类学校的考试需求为核心目标设计开发了该项目。本系统旨在服务于各地高校,用户使用本系统可在线进行测试考试测评等。本系统具有一定的社会价值和实用价值,能够通过多种方式呈现高校成绩数据,可有效减轻教师与学生的压力,使广大用户完成省心省力的测试考试测评过程。本系统总共分为两种身份,分别是管理员身份与普通用户身份,如下图2.1所示。
21、图2.1 基于J2EE的在线考试系统设计图普通用户通过本系统可完成在线测试考试,知道哪些课程都有哪些题目,测试完成后可以查看错题以此来稳固课程知识。能够通过本系统找到课程具体题目信息。管理员通过本系统可完成对班级、课程、题目以及学生信息的编辑。能够通过本系统完成对学生考试结束后的试卷进行在线评审。2.2 可行性分析在线考试系统其开发宗旨是针对教师而言的考试过程进行简化,通过互联网的便捷来替代以往模式的复杂,从具体的功能来分析,该系统是具有很大的创新性,值得大范围推广。结合技术的可行性、操作的可行性、经济的可行性和法律的可行性进行全面的分析7。2.2.1 技术可行性软件方面,该在线考试系统以JS
22、P技术和MySQL数据库管理系统紧密结合。由于JSP的开发平台使用起来非常便利,具有很强大的功能,因此,完整的开发整个项目是绝对没有任何困难的,该平台也是现阶段主要的常用开发平台。网络传输的速度因为网络技术的飞速进步而变得越来越快,价格也越来越低并且安全性也十分的高,所以其硬件平台能满足本系统的开发需求。技术可行性对于整个在线考试系统的开发是关键环节,在项目需求设计阶段就应该深入的考虑到所用技术是否能够满足后期系统功能的开发。如果该技术不能满足,应该及时的调整所用技术或者对该功能的实现逻辑进行转化。本项目的Web技术已经发展的很成熟。Web技术是传统的B/S架构,它具有稳定性、可扩展性等优点,
23、本项目最终决定选用JSP技术进行具体的实现8。2.2.2 操作可行性该系统的运作应考虑到管理人员和考生的使用需要,同时应考虑到面对常用功能和易出错功能是可以给与人性化的提示,并可获得对操作结果的反馈。本在线考试系统在线检验系统具备管理和互动的功能,而且操作非常简单。并且系统使用常见的登录界面,系统的开发使用的是JSP技术,这些就会让管理人员和学生不需要花费大量的时间去熟悉系统就能够掌握系统的操作方法。在系统的开发初期就将系统的操作简单性进行了全面的设计,为了提高操作效率和使用的间接性,所有涉及到输入操作的地方都能够智能选择,整体使用十分便捷。本系统的主要操作方式是鼠标点击按钮方式,在输入与修改
24、信息时涉及到使用键盘,没有其他复杂操作。2.2.3 经济可行性经济可行性值得是完成该系统开发所需要的基本资金能力和未来发投资能力是否是有保障的,以及对系统建成后可能取得的社会和经济效益进行估计9。本系统不是很复杂,经济支出不大,开发的周期也并不长,能够节省大量的人力物力,但是产生的效益却远远大于开发成本,因此从经济方面来考虑开发此系统也是可行的。2.2.4 法律可行性在校考试系统的所有内容都是按照国家软件开发法进行开发的,所涉及到的技术和开发理念都是依据国际软件开发标准严格开发的,不存在法律问题。因此,在线考试系统的法律可行性是完全合格的。2.3 系统性能分析(1)安全性:保证系统的安全性、稳
25、定性,防止信息泄露10。如果想管理在线考试系统,首先需要凭借用户名和密码在系统中登录,无权限的用户无法通过任何方式登录系统因此也无法对系统的任何信息和数据进行查看,同时系统满足了不同权限用户的功能需求,用户登录后不可越级进行操作。(2)可扩展性:在开发在线考试系统的功能过程中,首先要考虑到系统的可扩展性,便于将来系统的升级、更新。(3)可靠性:该环节在软件开发初期的需求阶段和建模阶段已经进行了详细的分析,对网站的可靠性已经充分的有所准备,并且会在后期的软件开发阶段不断地对可靠性进行测试。(4)数据完整性:所有记录的信息应得到全面的保存,信息记录不能成为空白。信息应该正确的连接起来,坚决不允许出
26、现数据错误显示的问题。2.4 系统功能分析项目总体上而言主要是针对于管理员和学生两个领域的人员玩完成的。涉及到的详细功能如下:(1)管理员功能模块:班级的管理功能、科目的管理功能、题目的管理功能、学生的管理功能、管理员的管理功能、密码的修改功能、注销登录功能、题目的导入功能、阅卷管理功能以及成绩统计功能。管理员用例图如图2.1所示。图2.1 管理员用例图(2)学生功能模块:科目列表功能、个人测试功能,修改密码功能,注、销登录功能。学生用例图如图2.2所示。图2.2 学生用例图2.5 本章小结本章主要叙述了对基于J2EE的在线考试系统的分析。完成了系统涉及到的需求进行全面的分析。首先分析了系统的
27、分析原则和设计目标,并给出了基于J2EE的在线考试系统的用例图,然后对系统架构进行模块划分11。最后对功能实现细节进行了必要描述。3 系统设计在线考试系统由五大模块组成:登录、信息的添加、信息的删除、信息的修改、信息的查询。学生端由两大模块组成:在线测试、查看科目。管理员由五大模块构成:学生信息的管理、班级信息的管理、课程信息的管理、试卷信息的管理、题目信息的管理。3.1 系统流程设计3.1.1 操作流程使用者打开系统,首先系统整体的登录界面,当完成对用户的账号和密码的验证之后,对用户当前信息进行核实,如果核实无误则进入用户功能界面,用户即可进一步的进行相关操作;如果验证出错,则登录失败,重新
28、开始登录环节。操作流程如图3.1所示。图3.1 操作流程图3.1.2 添加信息流程当管理员进行信息添加操作的时候,系统自动生成新信息的编号,管理员进入输入数据界面,输入信息完成后,系统检测信息是否合法,若不合法,则提示重新输入,直到输入数据合法,系统将新信息写入数据库。添加信息流程如图3.2所示。图3.2 添加信息流程图3.1.3 修改信息流程当系统的两个主要使用者想要进行信息的修改操作的时候,第一步要将需要修改的信息关键词进行输入,搜索完成后对信息进行修改。在这个过程中系统会主动检测修改后的数据是否是有意义的,如果数据有意义则对数据进行存储;如无意义则提示错误。修改信息流程图如图3.3所示。
29、图3.3修改信息流程图3.1.4 删除信息流程删除操作是对于管理员而言的,管理员首先选择需要被删除的数据,系统为保证管理员的错误操作会提示是否确定删除,但确定以后,系统会将该数据和与其相关属性有关的数据进行删除,随后对数据库进行更新。删除信息流程图如图3.4所示。图3.4 删除信息流程图3.2 系统结构设计在整个设计过程,必须要完成基础的模块功能,进而组合成最终的功能,对于每一个小的目标而言,必须先了解一些相关的需求分析的信息12。系统的所有设计应该采用第一阶段设计,第一阶段优化设计,第一阶段最终设计这三个过程。当需要添加新的需求是则进行第二阶段的设计。对于该在线考试系统而言,系统功能结构图如
30、图3.5所示。图3.5 系统结构图3.3 系统模块设计(1)登录模块时序图登录其主要目的是为了完成相关人员的身份和权限验证。系统会对用户输入的数据进行核查,如果核查无误将会进入系统;如果出现错误将会进行错误信息的提示。完成处理流程的时候,整个登录模块的逻辑全部完成。登录模块顺序图如图3.6所示。图3.6 登录模块时序图(2)添加信息模块时序图管理员登录后可选择添加信息操作。管理员输入需要添加的信息,系统验证信息是否合法,验证后返回验证结果,若不合法则需要管理员重新添加信息;若合法则提示添加信息成功,并将新信息添加到数据库。添加信息模块时序图如图3.7所示。图3.7 添加信息时序图3.4 数据库
31、设计3.4.1 数据库实体关系图设计数据库模型的建设是对现实世界的客观存在物体进行抽象的行为,对其相关属性进行具体的描述。因此,概念模型是进行数据库设计的重要工具13。实体关系图是在概念模式的设计中最常见的设计方法。根据系统的功能模块划分,具体分析了本系统中主要的实体,本系统的主要实体图如图3.8所示。图3.8 系统主要实体关系图3.4.2 数据库表设计后台的数据存储是通过MySql完成的,共包含20个表。根据系统需求有如下几个表:课程的信息表、班级的信息表、学生的信息表、管理员的信息表、题目的信息表、试卷的信息表等14。下面介绍数据库中的部分表的详细信息。表结构如下:管理员信息表应包含编号、
32、姓名、地址、出生日期、邮箱、性别、用户名、密码和电话。管理员的信息表如表3.1所示。表3.1 t_sysuser管理员信息表序号列名数据类型长度主键允许空说明1IDInt11是否编号2unameVarchar20否否姓名3userAddressVarchar100否是地址4userBirthVarchar10否是出生日期5userEmailVarchar50否是邮箱6userGenderInt11否否性别7userNameVarchar20否否用户名8userPasswordVarchar150否否密码9userPhoneVarchar255否是电话题目信息表应包含编号、答案、选项A、B、C、
33、D、类型、分数、题目描述、难度、课程编号与正确率。编号是主键;课程编号是该表的外键。题目的信息表如表3.2所示。表3.2 t_question题目信息表序号列名数据类型长度主键允许空说明1idInt11是否编号2answerVarchar255否是答案3option1Varchar255否是选项A4option2Varchar255否是选项B5option3Varchar255否是选项C6option4Varchar255否是选项D7quesTypeVarchar255否是类型8scoreInt11否是分数9titleVarchar255否是题目10userTypeVarchar255否是难度
34、11courseIdInt11否是课程编号12zqlvDouble否是正确率学生信息表应包含编号、姓名、地址、出生日期、邮箱、性别、用户名、密码、电话、班级编号、类型15。主键是这个表的编号不允许为空;班级编号师外键;学生的信息表如表3.3所示。表3.3 t_student学生信息表序号列名数据类型长度主键允许空说明1IDInt11是否编号2unameVarchar20否否姓名3userAddressVarchar255否是地址4userBirthVarchar255否是出生日期5userEmailVarchar255否是邮箱6userGenderVarchar255否否性别7userName
35、Varchar20否否用户名8userPasswordVarchar250否否密码9userPhoneVarchar255否是电话10clazzIdInt11是否班级编号11typeVarchar255否否类型3.4 本章小结本章对系统的设计方案进行了全面且细致的阐述。第一步介绍了该考试系统的管理员核心功能模块和普通用户的核心功能模块,然后分别展示了系统管理员以及用户的功能,最后展示了本系统的业务描述。4 系统实现4.1 开发环境在线考试系统使以Windows 7为开发环境;4.00GB的显示内存;4.00 GB的内存;浏览器是Firefox;开发工具是MyEclipse 10;足以满足基于J
36、2EE的在线考试系统的开发需求。4.2 开发规范4.2.1 命名与编程规则制定一个统一的命名规范对于做基于J2EE的在线考试系统这个项目来说是基础,作为程序的开发人员必须要有个良好的编程习惯,还可以增加代码程序的重复利用能力、阅读代码的能力和套用代码的能力,最重要的是能提高程序员开发项目的效率,缩短项目研发周期。每一种变量命名的规则都不完全一样,存在着差异性16。本项目遵循了PEP8 编码规范,如:变量的命名应该是有意义的,并且在命名的时候应该遵守驼峰规则,命名的时候应该考虑到后期系统优化的时候能让其他开发者看懂。变量名不应该过长,不要引起歧义。代码编写过程中应该将主要功能点加以注释。切莫全文
37、都加注释,则会失去注释的意义。4.2.2 书写规则该准则是程序员应该养成的良好编程习惯,这个习惯不仅仅对自己是有益的,对其他的读代码这而言也是尊敬的。要保证每行代码是清晰的,必要的应该使用括号进行包括,保证其所表达的含义是清晰的。4.2.3 程序注释任何一个项目程序都要提供相关的必要注释,书写注释是要求规范的,具体规范要求为:注释要使用#进行注释;要注释的内容一定要写在被注释对象的后面,或者是代码的下一行;需要有重要的使用说明、注意事项、如何调用和调试这些类等。4.3 系统和数据库的配置基于J2EE的在线考试系统是按照的B/S模式即浏览器与服务器交互进行设计的。B/S模式这种模式相对于C/S的
38、优点有维护和升级方式简单,大大降低了维护与开发的成本,对开发者来说有更多的可能性17。如图4.1所示。图4.1 B/S结构模式图4.4 各个功能模块的详细设计使用者想到进入系统进行功能的使用就必须要进行登录验证。在登录界面输入对相应的信息,该信息将会被系统进行核查操作,根据以往的数据进行核查,如果核查无误则可以进入系统,完成所需要的功能,如果核查出错则意味着登录失败。系统登录界面如图4.2所示。图4.2系统登录界面登录功能核心代码如下:public Object login(String name, String password, String type) Object obj = null
39、;if (type.equals(SysUser.class.getSimpleName() SysUser temp = new SysUser();temp.setUname(name);temp.setUserPassword(password);obj = sysUserMapper.selectOne(temp); else if (type.equals(SimpleUser.class.getSimpleName() SimpleUser temp = new SimpleUser();temp.setUname(name);temp.setUserPassword(passwo
40、rd);obj = simpleUserMapper.selectOne(temp);if (obj != null) autoObjectFiled(obj);return obj;进入系统后会看到管理员的界面,该界面包括了管理员所有功能,班级的管理,科目的管理,题目的管理,题目的导入,阅卷管理,成绩统计,学生的管理以及管理员管理。管理员主界面如图4.3所示。图4.3管理员主界面管理员可以对学生的信息进行基本的数据操作,包括增删改查,包括班级、学号、姓名、性别、联系电话等。学生管理界面展示如图4.4所示。图4.4 学生管理界面学生管理功能核心代码如下:public void addSimpl
41、eUser(SimpleUser bean) MD5 md = new MD5();bean.setUserPassword(md.getMD5ofStr(bean.getUserPassword();mapper.insert(bean);public void updateSimpleUser(SimpleUser bean) SimpleUser temp = mapper.selectByPrimaryKey(bean.getId();if (StringUtils.isNotBlank(bean.getUserPassword() MD5 md = new MD5();bean.se
42、tUserPassword(md.getMD5ofStr(bean.getUserPassword(); else bean.setUserPassword(temp.getUserPassword();super.updateAll(bean);管理员可选择科目进行成绩统计操作,选择科目后,点击统计按钮,即可生成柱状图,可以直观的看到该科目各个分段的人数。管理员还可以选择将成绩统计以Excel表的形式导出。成绩统计界面如图4.5所示。图4.5 成绩统计界面管理员可进行阅卷管理操作,点击阅卷管理按钮后,界面会显示学生参加测试的记录,按时间排序,管理员可选择学生的测试记录后查看学生的测试答案。阅
43、卷管理界面如图4.5、4.6所示。图4.5 阅卷管理界面图4.6 阅卷管理界面管理员可查看所有题目信息与题目管理界面,同时可对其进行删除操作。题目管理界面如图4.6所示,添加题目界面如图4.7所示。图4.6 题目管理界面图4.7 添加题目界面试卷管理功能核心代码如下:int index = ran.nextInt(danxuanlist.size();for (int i = 0; i danxuan; i+) Question question = danxuanlist.get(index + i) % danxuanlist.size();PaperQuestion pp = new P
44、aperQuestion();pp.setPaperId(bean.getId();pp.setQuestionId(question.getId();pp.setQuestionScore(danxuanfen);paperQuestionMapper.insert(pp);Collections.shuffle(tiankonglist);index = ran.nextInt(tiankonglist.size();for (int i = 0; i tiankong; i+) Question question = tiankonglist.get(index + i) % tiank
45、onglist.size();PaperQuestion pp = new PaperQuestion();pp.setPaperId(bean.getId();pp.setQuestionId(question.getId();pp.setQuestionScore(tiankongfen);paperQuestionMapper.insert(pp);Collections.shuffle(jiandalist);index = ran.nextInt(jiandalist.size();for (int i = 0; i jianda; i+) Question question = jiandalist.get(index + i) % jiandalist.size();PaperQuestion pp = new PaperQuestion();pp.setPaperId(bean.getId();pp.setQuestionId(question.getId();pp.setQuestionScore(jiandafen);paperQue