保定市干部学习网络平台考试子系统_第1页
保定市干部学习网络平台考试子系统_第2页
保定市干部学习网络平台考试子系统_第3页
保定市干部学习网络平台考试子系统_第4页
保定市干部学习网络平台考试子系统_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

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

文档简介

河北农业大学本科毕业设计 题目:保定市干部学习网络平台考试子系统摘要如今计算机网络技术不断发展,相对于传统的基于纸笔的考试形式已不能适应现在的发展需,同时计算机在线考试模式逐步替代传统考试模式。利用网络的计算机在线考试系统应运而生。在线考试系统旨在实现考试的无纸化管理,对一些科目的考试可以通过互联网络或局域网进行,方便校方考务的管理,也方便了考生,尤其适合考生分布广,不易集中的远程教育。本文主要实现系统的后台管理系统—JAVA在线考试管理子系统,包括试题管理、考生管理、在线试卷生成等功能。本文设计并且实现了一个基于web技术的在线考试系统。系统主要以j2EE作为开发基础,用myeclipse作为开发工具,以SQLServer作为数据库。基本实现了网上考试系统应有的主要功能模块,包括:管理员的登录,管理和维护;用户注册、登录,个人信息的查询、修改;考试管理,套题管理,成绩管理。该系统界面简单、操作方便,容易维护。关键词:在线考试J2EEJSPServletSQLServerAbstractToday,thedevelopmentofcomputernetworktechnology,asopposedtothetraditionalpaper-basedexamformsofdevelopmentcannotmeetthecurrentneeds,whilecomputeronlineexammodegraduallyreplacethetraditionalmodeofexamination.Onlineexaminationsystemusingcomputernetworkscameintobeing.Onlineexaminationsystemdesignedtoachievepaperlessmanagementexam,examsforsomesubjectscanbecarriedviatheInternetorLANtofacilitatethemanagementoftheschoolExamination,candidatesarealsoconvenient,especiallyforwidedistributionofcandidates,distanceeducationisnoteasytoconcentrate.Inthispaper,backstagemanagementsystemtoachievesystem-JAVAonlineexammanagementsubsystem,includingtestmanagement,candidatemanagement,onlinepapersgenerationcapabilities.Thispaperdesignsandimplementsaweb-basedonlineexaminationsystemtechnology.J2EEmainlyasadevelopmentsystembasedonusingeclipseasadevelopmenttooltoSQLServerasthedatabase.Thebasicrealizationofthemainfunctionsofthemoduleonlineexaminationsystemshouldinclude:administrator,logmanagementandmaintenance;userregistration,login,accesstheirpersonalinformation,modification;exammanagement,setsofquestionsmanagement,performancemanagement.Thesysteminterfaceissimple,easytooperate,easytomaintain.Keywords:OnlineExaminationj2EEJSPServletSQLServer目录摘要 21引言 61.1研究背景 61.2研究意义 61.3本文结构 62系统应用的关键技术 82.1开发工具和开发环境 82.1.1开发环境 82.1.2开发软件 82.1.3系统环境配置 82.2JSP技术介绍 82.2.1JSP的概述 82.2.2JSP的运行机制 92.2.3JSP的优点和缺点 92.3Servlet技术 102.3.1Servlet技术简介 102.4Java组件JavaBeans 102.4.1什么是JavaBeans 102.4.2JSP与JavaBeans的关系 102.5关于B/S开发模式 112.5.1B/S开发模式简介 112.6Tomcat服务器 112.6.1Tomcat服务器简介 112.6.2Tomcat的特点 122.6.3Tomcat的优势 122.7AJAX技术 122.7.1AJAX技术简介 122.7.2AJAX技术工作原理 122.7.3AJAX技术应用优势 133系统需求分析和总体设计 143.1需求分析 143.1.1设计思想 143.1.2系统功能需求 143.2系统角色及其功能分析 143.2.1系统的3个角色 143.2.2系统角色的功能 143.3概要设计 153.3.1系统总体架构设计 153.3.2系统功能模块 153.4系统功能模块设计 153.5系统流程图 164详细设计及部分代码 174.1数据库设计 174.1.1数据库的选择 174.1.2数据库表的设计 174.1.2数据库实体关系图设计 184.2数据库的连接 184.3添加试卷 194.3.1添加试卷界面展示 194.4利用AJAX技术实现局部刷新功能 215总结 235.1技术特点 235.2缺点及不足 235.3总结 23致谢 24参考文献 25

1引言1.1研究背景随着Internet/Intranet的迅速发展和广泛普及,网络学习考试系统成为现代教育技术未来发展方向之一。作为网络学习平台的一个子系统——考试子系统,也成为一个重要的研究领域。现代网络考试作为一种新的考试手段已经开始进入人们的生活,正在给传统教育模式带来新的变革,并对教育的发展形成新的推动力。网络考试系统极大地提高了教学的灵活性,现在在许多领域已经有了广泛的应用。最有影响的案例就是ETS(美国教育考试中心)举办的GPE(美国研究生入学考试)的计算机化考试,它使考试由原来的每年只能有两次参加考试的机会变成了每个工作日都可以参加的考试。而且国外的一些计算机水平考试中也都使用了在线考试来代替传统的笔试,如美国计算机专业人员认证学会ICCP实施的有关认证考试。而国内典型的有由教育部考试中心主办的全国计算机等级考试、各省的非计算机专业大考生水平考试,还有用于教考分离的各种题库等。1.2研究意义目前,基于在线考试面向的主要是社会上的培训认证考试(如ADOBE的各种认证考试,驾校的理论考试),而题目大多以选择题为主,所以它可以免去考试管理员大量的临考工作,试卷可以根据题库中的内容即时生成;考试管理员也无须去做考后的阅卷,计算机可以自动判卷,直接把成绩送到数据库中。实现无纸化考试,大大提高了工作效率,同时,试卷是随机组成的,不存在试卷的泄密和考试作弊问题,使考试的公平性、答案的安全性得到有效的保证。在线考试系统具有降低考试成本,解决繁重的考务工作的优点。在线考试系统是社会的网络化发展的必要趋势,它将成为一种不可或缺的考试方式。本文研究的目的是设计一个简易的网络在线考试系统,其具有一定的通用性以及便捷性,能够满足多门课程的测试与考核要求。为考生利用网络自主学习提供条件,为不同课程的网上考试提供平台。

为了满足系统对便捷性、可靠性、安全性、扩展性、跨平台性等方面的要求,系统总体架构设计采用先进的基于B/S的三层体系结构:考生用户层、考试管理层、考题数据层。需要建立后台数据库,内含一个试题样库,考试管理员可以在题库中添加、编辑和删除试题同时可以增加新的考试科目。并可以充分利用题库中的试题由系统随机组卷,在指定时间内发布试卷。考生可以利用设定的账号及密码登录考试系统,进行考试、练习、查询等功能。此外,还应具有良好的用户界面,操作方便,尽量减少误操作率。1.3本文结构本文共分五个章节,系统地阐述了系统开发的全过程。第一章,主要介绍了开发的背景、目的和意义。第二章,主要介绍了本系统所用到的关键技术和工具,为下一步的设计的设计奠定基础。第三章,主要介绍了本系统开发过程中的需求分析和概要设计。第四章,主要介绍了主要模块的设计与实现,并给出关键源代码。第五章,主要是对这次毕业设计的总结和对后续工作的展望。

2系统应用的关键技术2.1开发工具和开发环境2.1.1开发环境主机操作系统:WINDOWS72.1.2开发软件JDK1.6及以上版本集成开发环境:Myeclipse数据库:SQLSEVVER2008. Web应用服务器:Tomcat6.0及以上版本2.1.3系统环境配置使用java环境下开发程序,必须在电脑中安装jdk和tomcat,并配置系统环境变量,程序正常运行。系统所处环境变量设置如下:Setjava_homeD:\Java\jdk1.6.0_25SetCatalina_homeD:\Apache-tomcat-6.0.18SetCLASSPATHD:\Java\jdk1.6.0_25\libSetsqlpathD:\MicrosoftSQLServer\jdbcdriver\sqljdbc_3.0\chs\sqljdbc.jar.;%java_home%lib\tool.jar;%java_home%\lib\dt.jar;%catalina_home%\lib\jsp-api.jar;%catalina_home%lib\servlet-api.jar;2.2JSP技术介绍2.2.1JSP的概述JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户。插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。JSP与JavaServlet一样,是在服务器端执行的,通常返回给客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。2.2.2JSP的运行机制JSP文档被复制到Web服务器的文档目录中。当有人请求这个文档时,服务器识别出这个带有.jsp扩展名的文档,并意识到需要做特殊处理。第一次请求这个文档时,它被编译成一个servlet对象,并存储在内存中,然后输出内容回送给发出请求的用户机。第一请求之后,只要有请求到来,服务器将进行检查,看看这个文件是否做过改动,如果没有变化,服务器调用先前编译过的servlet对象。JSP请求的步骤如图2-1所示:(1)用户机请求一个JSP页面。(2)JSP引擎编译该JSP成一个servlet。(3)生成的servlet被编译并装载。(4)编译的servlet服务请求并把一响应发送回用户机。WebWeb浏览器JSP页面生成的servlet编译的servletWeb服务器2.第一次编译3.第二次编译1.请求4.响应图2-1一个JSP的请求步骤JSP主要是针对Java程序处理不熟悉的人设计的。与Servlet相比,JSP有如下两个优势:方便与HTML混合;在开发、测试方面比Servlet方便。2.2.3JSP的优点和缺点JSP的强势:(1)只要编译一次,就能在其他环境中运行。比其他语言优秀更。(2)用JSP做的系统的可以再跨平台运行。基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。相比ASP等语言的局限性是显而易见的。(3)强大的嵌入性。很多jar文件就可以运行Servlet/JSP,比如servlet-api.jar、catalina.jar等,可以处理很多对象信息比如application对象还有response对象,显示了一个巨大的适应性。(4)开发工具强大。有Java和tomcat等强大的开发工具,因为Java开发工具强大可以看出jsp据用强大的生命力,强大的后台语言技术开发工具支持。JSP的劣势:(1)为了跨平台的功能,为了极度的伸缩能力,极大的增加了产品的复杂性,Java系统中包括JRE,JDK,J2EE,EJB等多种产品,这就需要大量的学习和培训才能掌握它们,将它们有效地搭配在一起,灵活地加以运用。(2)Java的运行速度快是由于用户将class常驻内存,这样使用的内存空间就比较大。另一方面,它还需要硬盘空间来存储一系列.Java文件和.class文件以及对应的版本文件。(3)JSP只有对Java相当熟悉的人才能用得很好。(4)JSP程序调试困难。2.3Servlet技术2.3.1Servlet技术简介Servlet是一种服务器端的Java应用程序,具有独立于平台和协议的特性,可以生成动态的Web页面。它担当客户请求(Web浏览器或其他HTTP客户程序)与服务器响应(HTTP服务器上的数据库或应用程序)的中间层。Servlet是位于Web服务器内部的服务器端的Java应用程序,与传统的从命令行启动的Java应用程序不同,Servlet由Web服务器进行加载,该Web服务器必须包含支持Servlet的Java虚拟机。2.4Java组件JavaBeans2.4.1什么是JavaBeansJavaBeans事实上有三层含义。首先,JavaBeans是一种规范,一种在Java(包括JSP)中使用可重复使用的Java组件的技术规范。其次,JavaBeans是一个Java的类,一般来说,这样的Java类将对应于一个独立的.java文件,在绝大多数情况下,这应该是一个public类型的类。最后,当JavaBeans这样的一个Java类在我们的具体的Java程序中被示例之后,我们有时也会将这样的一个JavaBeans的实例称之为JavaBeans。2.4.2JSP与JavaBeans的关系使用JSP技术,Web页面开发人员可以使用HTML和XML标识来设计和格式化最终页面。使用JSP标识或者小脚本生成页面上的动态内容。生成内容的逻辑被封装在JSP标识和JavaBeans组件中,并且捆绑在小脚本中,所有的脚本在服务器端运行。核心逻辑封装在标识和Beans中,可以方便页面设计者编辑和使用JSP页面。在服务器端,JSP引擎解释JSP标识和小脚本生成所请求的内容(例如,通过访问JavaBeans组件,使用JDBC技术访问数据库),并且将结果以HTML(或XML)页面的形式发送回浏览器。绝大多数JSP页面依赖于可重用的跨平台的足见(JavaBeans或者EnterpriseJavaBeans组件)来执行应用程序所要求的复杂的处理。这样的好处是开发人员能够共享和交换执行普通操作的组件,加速了总体开发过程。因此,基于Web的较为复杂的应用程序(如JSP开发网站或网上MIS),JSP的复杂架构必须由JavaBeans达成。2.5关于B/S开发模式2.5.1B/S开发模式简介B/S开发模式 伴随着Internet的迅速发展,计算机技术正在由基于C/S(client/Server)模式的应用系统转变为基于B/S模式的应用系统。 过去,网络软件的开发都采用C/S(client)模式,在这种模式下,主要的业务逻辑都集中于用户端程序,因此,必然导致以下问题: a)

系统安装、调试、维护和升级困难。由于用户端的硬件配置可能存在差异,软件环能各不相同,因此,在安装时,必须对每一个用户端分别进行配置,同样,在软件升级时也要对用户端分别处理。 b)

在整个系统中,业务逻辑和用户界面都集中到了用户端,必然会增加安全隐患。

B/S模式带来了巨大的好处: a)

开发成本及维护成本降低。由于B/S架构管理软件只安装在服务器端(Server)上,即应用程序在部署、升级、维护时,只需要在服务器端进行配置就可以了,网络管理人员只需要管理服务器就行了,用户界面主要事务逻辑在服务器(Server)端完全通过WWW浏览器实现,极少部分事务逻辑在前端(Browser)实现,所有的用户端只有浏览器,网络管理人员只需要做硬件维护。 b)

良好的安全性能,防火墙技术可以保证后台数据库的安全性。所有的配置工作都集中在服务器端且所有用户端请求都是通过DBMS来访问数据库,从而大大减少了数据直接暴露的风险。2.6Tomcat服务器2.6.1Tomcat服务器简介Tomcat是一个免费的开源的Serlvet容器,它是Apache基金会的Jakarta项目中的一个核心项目,由Apache,Sun和其它一些公司及个人共同开发而成。由于有了Sun的参与和支持,最新的Servlet和Jsp规范总能在Tomcat中得到体现。Tomcat中采用了Servlet容器:Catalina,完整的实现了Servlet2.3和Jsp1.2规范。Tomcat提供了各种平台的版本供下载,可以从其官方网站上下载其源代码版或者二进制版。由于Java的跨平台特性,基于Java的Tomcat也具有跨平台性。2.6.2Tomcat的特点在Tomcat中,应用程序的部署很简单,你只需将你的WAR放到Tomcat的webapp目录下,Tomcat会自动检测到这个文件,并将其解压。你在浏览器中访问这个应用的Jsp时,通常第一次会很慢,因为Tomcat要将Jsp转化为Servlet文件,然后编译。编译以后,访问将会很快。另外Tomcat也提供了一个应用:manager,访问这个应用需要用户名和密码,用户名和密码存储在一个xml文件中。通过这个应用,辅助于Ftp,你可以在远程通过Web部署和撤销应用。当然本地也可以。2.6.3Tomcat的优势Tomcat不仅仅是一个Servlet容器,它也具有传统的Web服务器的功能:处理Html页面。但是与Apache相比,它的处理静态Html的能力就不如Apache.我们可以将Tomcat和Apache集成到一块,让Apache处理静态Html,而Tomcat处理Jsp和Servlet.这种集成只需要修改一下Apache和Tomcat的配置文件即可。2.7AJAX技术2.7.1AJAX技术简介AJAX是指一种创建交互式网页应用的网页开发技术。通过在后台与服务器进行少量数据交换,AJAX可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。传统的网页(不使用AJAX)如果需要更新内容,必须重载整个网页面。Ajax的核心是JavaScript对象XmlHttpRequest。该对象在InternetExplorer5中首次引入,它是一种支持异步请求的技术。简而言之,XmlHttpRequest使您可以使用JavaScript向服务器提出请求并处理响应,而不阻塞用户。2.7.2AJAX技术工作原理Ajax的工作原理相当于在用户和服务器之间加了—个中间层,使用户操作与服务器响应异步化。并不是所有的用户请求都提交给服务器,像—些数据验证和数据处理等都交给Ajax引擎自己来做,只有确定需要从服务器读取新数据时再由Ajax引擎代为向服务器提交请求。Ajax其核心只有JavaScript、XMLHTTPRequest和DOM,在旧的交互方式中,由用户触发一个HTTP请求到服务器,服务器对其进行处理后再返回一个新的HTHL页到客户端,每当服务器处理客户端提交的请求时,客户都只能空闲等待,并且哪怕只是一次很小的交互、只需从服务器端得到很简单的一个数据,都要返回一个完整的HTML页,而用户每次都要浪费时间和带宽去重新读取整个页面。而使用Ajax后用户从感觉上几乎所有的操作都会很快响应没有页面重载(白屏)的等待。2.7.3AJAX技术应用优势AJAX不是一种新的编程语言,而是一种用于创建更好更快以及交互性更强的Web应用程序的技术。使用Javascript向服务器提出请求并处理响应而不阻塞用户!核心对象XMLHTTPRequest。通过这个对象,您的JavaScript可在不重载页面的情况与Web服务器交换数据。AJAX在浏览器与Web服务器之间使用异步数据传输(HTTP请求),这样就可使网页从服务器请求少量的信息,而不是整个页面。AJAX可使因特网应用程序更小、更快,更友好。AJAX是一种独立于Web服务器软件的浏览器技术。AJAX应用程序独立于浏览器和平台。Web应用程序较桌面应用程序有诸多优势,它们能够涉及广大的用户,它们更易安装及维护,也更易开发。不过,因特网应用程序并不像传统的桌面应用程序那样完善且友好。

3系统需求分析和总体设计3.1需求分析3.1.1设计思想用户必须登录进入相关角色才能使用相关权限的功能。试题库中必须有一定的类别的试题,作为初始库。考生登录系统后可选择相应科目进行考试,考试结束后可以提交试卷并查询考试成绩,对于考试管理的工作完全可以由考试管理员负责,超级管理员具有本系统的最高权限。3.1.2系统功能需求(1)基础功能如学员或管理员登录、修改密码、修改个人信息等。(2)在线考试功能学员登录后可以通过考试平台进行考试,并可以在考试结束后查看考试成绩。(3)在线管理功能管理员登录后可以通过考试平台修改题库,重新出题,生成新试卷以及发布试卷从而进行考试管理等。超级管理员登录后可以设置角色属性,管理用户登录权限等。3.2系统角色及其功能分析3.2.1系统的3个角色1.普通用户2.考试管理员3.超级管理员3.2.2系统角色的功能1.普通用户使用系统的功能,用户必须先注册,只要注册为网站用户后,获得自己的帐号,设置自己的密码就具有以下功能:登录,退出,参加考试,提交试卷,查询成绩,添加或修改个人资料等。2.考试管理员考试管理员负责考试流程控制,可以管理考生和管理试题库,制定和修改考试计划等。3.超级管理员超级管理员具有本系统的最高管理权限,登录后可以设置角色属性,管理用户登录权限等。3.3概要设计数据库JavaBeanServletJsp,Javascript,AJAX3.3.1系统总体架构数据库JavaBeanServletJsp,Javascript,AJAX图3-1系统总体架构分析图系统总体架构如图3-1,Web服务器接受请求,通过应用程序服务器执行一个Java服务器端小程序Servlet并返回其输出,从而实现与客户机进行信息资源的交互。数据库服务器用来存储管理信息系统中所用到的各种数据,数据由数据库管理程序直接录入。系统的客户端只需要一个浏览器即可。相关人员通过浏览器来查询、增加、修改、删除数据,对信息进行管理。3.3.2系统功能模块该子系统包括系统管理模块,题库管理模块,考试计划管理模块,考试模块。系统管理模块可以对考生和考试管理员进行管理以及对考试系统的更新维护等。题库管理模块允许增加、删除、修改试题等。考试计划管理模块包括生成新试卷,发布试卷,制定考试计划等。考试模块可以实现考生考试等。系统管理模块管理员管理模块结果处理模块考试计划管理模块考生管理模块生成试卷系统管理模块管理员管理模块结果处理模块考试计划管理模块考生管理模块生成试卷删除试卷发布试卷题库管理模块考试模块进入考试提交试卷增加试题删除试题系统管理模块图3-2系统模块设计如图3-2所示,在本系统中主要阐述系统管理、考试计划管理、考试管理、题库管理四个模块。(1)考试管理:实现考生准备考试,开始考试,自动阅卷,显示考试成绩等。(2)题库管理:实现试题库中试题的分类和增加,删除,以及答案的设置等。(3)考试计划管理:实现考试管理员生成试卷,发布试卷,制定考试计划等。

(4)系统管理:实现用户注册、用户信息修改、用户查询功能。3.5系统流程图考生考试考生考试成绩查询退出系统考试管理员登录考试系统系统身份验证进入考试系统生成试卷发布试卷系统身份验证失败管理试题库考生登录系统系统身份验证 图3-3系统流程图系统流程如图3-3所示,在本系统中考试管理员登录系统后,可以利用题库中的试题合成一张试卷,从而制定一份考试计划,发布试卷之后,考生再登录系统便可以进行考试,考试可以实现自动阅卷,最后考生考试结束后可以查询考试成绩。4详细设计及部分代码4.1数据库设计4.1.1数据库的选择在开发这个系统上,通用性是我们考虑的一个重要因素,因为主要用于服务器运行web系统,所以选择sql数据库。在匹配上比较适合系统。4.1.2数据库表的设计表4-1Online_shijuan_ML用来表示考试计划主表列名类型长度主键是否为空描述idInt默认是否试卷编号shijuan_nameVarchar60否否试卷名称shijuan_bumenVarvhar60否否试卷科目timu_shuliangInt默认否否每张试卷中的题目数量shijuan_quanxianInt默认否否试卷发布与否meitifenshuInt默认否否每题分数zongfenInt默认否否试卷总分kaoshi_sjInt默认否否考试时间表4-2Online_Examination_SJZB用来表示试卷和试题的匹配关系列名类型长度主键是否为空描述idInt默认是否考试计划编号shijuanidInt默认否否试卷编号shitiidInt默认否否试题编号表4-3Online_ST用来表示试题表列名类型长度主键是否为空描述idInt默认是否试题编号leixingVarchar60否否试题所属科目timuVarvhar500否否试题的题目xxaVarvhar500否否试题的A选项xxbVarvhar500否否试题的B选项xxcVarvhar500否否试题的C选项xxdVarvhar500否否试题的D选项daanVarchar500否否试题答案4.1.2数据库实体关系图设计用户类别用户类别用户id考生登录密码吗所在单位部门联系方式试题数目考试时间用户名考试试卷名称试卷id试卷试卷类别每题分数组成试卷总分生成和发布试题题目试题选项试题id试题科目试题答案试题考试管理员用户id用户名登录密码联系方式管理n1nn1n11nnnnnnnn图4-1系统实例分析4.2数据库的连接数据库连接操作部分代码如下:publicclassconn{ privateConnectioncon=null;//连接对象 privateStatementstmt=null;//管理数据库的对象 privateResultSetrs=null;//数据库包装数据的对象 //****************建立连接********************** publicconn(){ try{ Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");//查找数据库驱动 Stringpath="jdbc:microsoft:sqlserver://:1433;DatabaseName=user1";//访问数据库的方式:要访问的数据库类型:要访问的数据库的地址:要访问的那个数据库的名字 Stringname="sa";//数据库连接用户名 Stringword="123";//数据库连接密码 con=DriverManager.getConnection(path,name,word);//连接数据库 } catch(Exceptione){ } }4.3添加试卷4.3.1添加试卷界面展示图4-2添加新试卷添加试卷的界面如图4-2所示,每次从试卷表中查找出当前正在添加的试卷id,再从试题表中随机查找出对应科目,对应数量的试题id,生成一张试卷,将这个考试计划加入到试卷子表当中去,试卷子表增加对应数量的条目。Publicintadd_shijuan(Stringshiti_leixing,Stringshiti_name,Stringshuliang,Stringmeitifs,Stringkaoshisj){intzongfen,mei,ds; //每题分数 mei=Integer.valueOf(meitifs).intValue(); //数量 ds=Integer.valueOf(shuliang).intValue(); //总分 zongfen=mei*ds;Stringsql="insertintoOnline_shijuan_ML(shijuan_name,shijuan_bumen,timu_shuliang,shijuan_quanxian,meitifenshu,zongfen,kaoshi_sj)values('"+shiti_name+"','"+shiti_leixing+"','"+shuliang+"','2','"+meitifs+"',"+zongfen+","+kaoshisj+")"; StringquerySql="select*fromOnline_STwhereleixing='"+shiti_leixing+"'"; StringshijuanidSql="selecttop1*fromOnline_shijuan_MLorderbyiddesc"; conncn=newconn(); ResultSetresult=cn.query(querySql);//查找某一个指定科目的所有试题赋给result inti=cn.update(sql); ResultSetidResult=cn.query(shijuanidSql);//查找那个试卷表中的最新生成的一条试卷数据赋给idResult Integerstid; List<Integer>idList=newArrayList<Integer>(); try{ Integersjid=newInteger(0);//每次为sjid初始化一个0 while(idResult.next()){//此处用循环为固定写法,必须用next检验之后才可以写下面一句代码 sjid=idResult.getInt("id");//将查找出来的试卷id取出赋给sjid变量 } while(result.next()){ stid=result.getInt("id"); idList.add(stid);//用idList来存储所查找出来的指定的那个科目的所有试题的id } List<Integer>newList=getRandomId(idList,ds);//取得idList中的ds条,放到一个数组newList中 for(Integerinteger:newList){ StringsjzbSql="insertintoOnline_Examination_SJZB (shijuanid,shitiid)values("+sjid.toString()+","+intege r.toString()+")";//将选择出来的题目id和一张试卷id组装成一张试卷,加入到试卷子表中去cn.update(sjzbSql);//刷新数据库 } }catch(SQLExceptione1){ e1.printStackTrace(); } returni; }publicList<Integer>getRandomId(List<Integer>idList,intnum)//筛选num个数据{ List<Integer>newList=newArrayList<Integer>(); for(inti=0;i<num;i++) { intrandomNum=newRandom().nextInt(idList.size());//每次生成一个随机id赋给randomNum,每次生成随机数的范围是ididList.size() newList.add(idList.get(randomNum)); idList.remove(randomNum); } returnnewList;}4.4利用AJAX技术实现局部刷新功能4.4.1局部刷新界面展示图4-3局部刷新界面局部刷新界面如图4-3所示,每当添加一张试卷的时候,先统计题库当中对应科目有多少道题,之后再显示到界面上来。部分代码如下:/* 创建XMLHttpRequest对象 当服务器响应就绪时执行函数 把请求发送到服务器上的文件 请注意我们向URL添加了一个参数q(带有输入框的内容) */ varxmlhttp=newXMLHttpRequest();//第一先创建请求对象 xmlhttp.onreadystatechange=function()//第四步此处接收到服务器端处理之后的内容,便执行if语句里边的语句 {if(xmlhttp.readyState==4&&xmlhttp.status==200) { document.frm.shuliang1.value=xmlhttp.responseText;//第五步将服务器处理之后的内容填充到题目框中 } } xmlhttp.open("GET","dealShuliang.jsp?q="+str,true);//第二执行这句话和下面一行代码 xmlhttp.send(); }第三步服务器端处理过程代码如下:out.println(rowCount);//第三步服务器端处理过程

5总结5.1技术特点本系统界面统一友好,实用性强,安全;代码清晰,易懂;安装方便,可移植性和扩展性好。5.2缺点及不足由于系统规模较大,时间不足,某些功能模块没有完整实现,有些异常错误没有及时发现。5.3总结本系统基本达到预期的各项技术指标,实现了预期的各种功能。从整体上来讲,本系统还比较令人满意。本系统的关键任务主要体现在以下两方面:(1)考生可以登录后进行在线考试并查询考试成绩。(2)考试管理员登录后可以制定考试计划,管理考试计划等。当然,由于时间和个人能力有限以及实践经验欠缺,系统基本满足在线考试的功能需求,本系统还存在一些不尽人意之处和有待深入研究的地方,如一些系统功能过于简单,所以系统的功能还算不上很完善。希望老师和同学能给予建议和指导,以便日后的进一步完善和二次的开发。

致谢通过这次毕业设计,对很多东西有了新的认识和新的见解,认识问题的和思考解决办法有了本质上的进步,特别是对一个系统开发的模式有了更深的认识,对专业技能的运用更熟练。真诚的感谢本次毕业设计的指导我的老师周桂红老师,感谢她的指导和建议,在我遇到自己难以解决的问题时,老师耐心的帮我解决问题。在我的论文审稿阶段,老师指出了论文很多方面的不足,并一一给出修改意见,这对我的毕业论文最终完成给予了极大的支持和帮助。在交流中,周老师严谨求实的研究态度、广博的学术知识、踏实的工作态度都是我今后学习的榜样。最后,我要感谢在百忙之中抽时间对本文进行审阅,评议和参与本人毕业答辩的各位专家评委老师。即将毕业,我还要继续我的学业,我将会继续保持毕业设计中养成的学习习惯,多动手,勤思考,加强团队合作,争取在未来的求学路上取得更大的进步。

参考文献[1]BruceEckel.《Java编程思想》.机械工业出版社,2007年6月[2]刘中兵Java研究室《Java高手真经》.电子工业出版社,2009年3月[3]徐孝凯《数据结构教程》(Java语言描述).清华大学出版社,2010年8月[4]ThomasA.Powell《HTML5&CSS》.清华大学出版社,2011年6月[5]耿祥义,张跃平.《JSP实用教程》.清华大学出版社,2003年5月1日[6]阎宏编著,《java与模式》,电子工业出版社,2002[7]孙卫琴,李洪成.《Tomcat与JSPWeb开发技术详解》.电子工业出版社,2003年6月:1-205[8]BruceEckel.《JSP编程思想》.机械工业出版社,2003年10月:1-378[9]FLANAGAN.《JSP技术手册》.中国电力出版社,2002年6月:1-465[10]孙一林,彭波.《JSP数据库编程实例》.清华大学出版社,2002年8月:30-210[11]飞思科技产品研发中心.《JSP应用开发详解》.电子工业出版社,2003年9月:32-300[12]耿祥义,张跃平.《JSP实用教程》.清华大学出版社,2003年5月1日:1-354[13]萨师煊,王珊.《数据库系统概论》.高等教育出版社,2002年2月:3-460目录TOC\o"1-2"\h\z\u第一章总论 1第二章项目提出的背景和必要性 4第一节项目建设背景 4第二节项目建设的必要性 4第三节项目建设的先进性 8HYPERLINK\l"_Toc365203440

温馨提示

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

最新文档

评论

0/150

提交评论