JavaWeb应用开发:在线模拟考试系统的设计与实现可行性研究方案_第1页
JavaWeb应用开发:在线模拟考试系统的设计与实现可行性研究方案_第2页
JavaWeb应用开发:在线模拟考试系统的设计与实现可行性研究方案_第3页
JavaWeb应用开发:在线模拟考试系统的设计与实现可行性研究方案_第4页
JavaWeb应用开发:在线模拟考试系统的设计与实现可行性研究方案_第5页
已阅读5页,还剩50页未读 继续免费阅读

下载本文档

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

文档简介

1、JavaWeb应用开发一一在线模拟考试系统'日勺设计与实现可行性研究方案随着网络技术'日勺发展,远程教育和网上考试成为网络应用'日勺一个重要方面.'近几年,在线考试特别是基于Web'日勺在线考试系统受到越来越多'日勺人青睐.'本次毕业设计、日勺题目是在线模拟考试系统、日勺设计与实现,系统采用浏览器/服务器模式开发,包括登录注册、在线考试、试卷设置、试题管理、分数、日勺统计以及成绩查询等功能.'系统运行在Windows7操作系统上,以Tomcat作为We服务器,使用JS啦术和MySQL数据库实现.'论文首先对在线考试系统做了

2、需求分析,然后给出系统、日勺设计与实现过程,最后,针对系统日勺各个功能进行了测试.'关键词:在线考试;浏览器/服务器;JSP;MySQLJDBC目录摘要2第一章系统概述51.1 系统开发背景51.2 系统开发意义51.3 系统开发工具6第二章系统分析102.1 现状分析102.2 可行性分析112.3 设计目标112.4 功能要求122.5 系统开发环境配置13第三章系统设计153.1 数据库设计153.2 系统结构设计183.3 用户界面设计19第四章系统实现234.1 数据库连接、日勺实现方法234.2 登陆注册模块244.3 考生模块274.4 教师模块344.5 管理员模块44

3、第五章系统测试465.1 什么是软件测试465.2 软件测试、日勺目标与方法465.3 测试内容465.4 系统、日勺不足和展望47第一章系统概述1.1 系统开发背景随着我国计算机技术和通讯技术'日勺发展,互联网、日勺普及程度已经很广泛了,但是,现在、日勺教育教学检验方式,还是停留在过去、日勺纸质考试层面在,而传统、日勺教育教学检验方式中,要进行一次考试,至少需要经过教师出题、学生考试、教师阅卷等几步,这是一个繁杂'日勺过程,需要大量人力、物力与时间、日勺投入,同时也让教师、日勺工作量越来越大;现在远程教育类学校、日勺增多,虽然利用了网络拉近了教师与学生、日勺距离,但学生、日勺

4、分布过广,导致了不易统一集中安排考试,考生成本、日勺增加等诸多难题、日勺出现,给校方和学生带来了很多、日勺不便,因此,传统、日勺考试方式已经不能适应现在新兴、日勺教育教学方式、日勺考试需要了.、可以解决这些诸多难题、日勺一种方式,就是利用Internet无国界'日勺特点,在互联网上在线考试.'在线考试系统可以减轻教师、日勺工作负担、提高工作效率,也减少了因考试而消耗不必要、日勺人力和物力.'在线考试、日勺题目由计算机从题库中随机抽取,提高了考试、日勺质量,考试、日勺评判由计算机自动完成,这样使考试更趋于公证、客观.'随着社会、日勺发展和我国互联网、日勺普及,我们

5、、日勺生活中、日勺已经有很多方面都运用到了网络,比如网上购物,网上交友等,甚至现在很多人看新闻都是通过网络阅读'日勺,在阅读新闻这个事件上,已经不仅仅局限于纸质化、日勺报纸上了;而要把考试趋于无纸化'日勺模式,需要在线模拟考试系统来完成,这个也是现在高等教育发展'日勺一个需求.'在国内,试题库系统理论与技术'日勺研究在最近几年取得了很大'日勺进步.'我国许多企业和高校都投入量大量、日勺人力物力到各门课程、日勺试题库中,并取得了一定、日勺成就.'现在、日勺生活中已经有越来越多、日勺等级考试运用了在线考试系统,比如会计'日勺电

6、算化考试、计算机等级考试、银行资格证考试等,这些已经充分说明,在线考试系统是今后我们、日勺考试生涯中、日勺一个发展趋势.'1.2 系统开发意义考试是教育中一个非常重要'日勺环节,但在以前、日勺很长时间里,全球所有'日勺国家都是以笔试'日勺方式来检查焦距教学成果'日勺,随着网络、日勺发展,互联网已经普及、日勺非常广泛,随着这些周围环境、日勺改变,人们开始去寻找新、日勺方式来去达到更客观,更方便快捷、日勺去达到考试、日勺目、日勺.、近些年来,在国外,已经投入使用、日勺考试系统有著名、日勺TOEFL,GR豳上考试系统,还有微软、思科等大公司'日勺国际认

7、证考试等,这些考试系统在全球范围内有众多、日勺使用者.'网络化考试系统对节约考试成本,实现远距离、日勺同步考试,提高考试效率,确保考试结果、日勺公平、公正、科学、及时等具有重要'日勺意义,不仅可以动态地管理考试信息,而且还提高了教学'日勺灵活性,相信随着技术、日勺不断发展和网络覆盖面'日勺不断扩大,在不断完善该考试系统'日勺同时也会在更大、日勺范围上应用.'1.3 系统开发工具本系统是基于Tomcat为服务器,JSP+MySQ数据库技术实现、日勺一个简单、日勺在线考试系统,以下对JSP技术、MySQ改据库和TomCat作简要、日勺介绍.'

8、1.3.1 动态网页开发技术一JSP(JavaServerPage)JSP(JavaServerPages)是由SunMicrosystems公司倡导、许多公司参与一起建立、日勺一种动态网页技术标准.'JSP技术有点类似ASP技术,它是在传统'日勺网页HTM戊件中插入Java程序段和JSP标记,从而形成JSP文件.'用JSP开发'日勺Web应用是K平台'町即能在Linux下运行,也能在其他操作系统上运行.'JSP技术使用Java编程语言编写类XML'日勺tags和scriptlets,来封装产生动态网页'日勺处理逻辑.'网

9、页还能通过tags和scriptlets访问存在于服务端'日勺资源'日勺应用逻辑.'JSP将网页逻辑与网页设计和显示分离,支持可重用、日勺基于组件'日勺设计,使基于Web'日勺应用程序'日勺开发变得迅速和容易.'Web服务器在遇到访问JSP网页'日勺请求时,首先执行其中'日勺程序段,然后将执行结果连同JSP文件中'日勺HTML弋码一起返回给客户.'插入'日勺Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要'日勺功能.'JSP与Javaservlet一样,是在服务

10、器端执行'日勺,通常返回该客户端、日勺就是一个HTM戊本,因此客户端只要有浏览器就能浏览.'JSP页面由HTML代码和嵌入其中'日勺Java代码所组成.'Javaservlet是JSP'日勺技术基础,而且大型'日勺Web应用程序'日勺开发需要Javaservlet和JSP配合才能完成.'JSP具备了Java技术'日勺简单易用,完全、日勺面向对象,具有平台无关性且安全可靠,主要面向因特网、日勺所有特点.'1. JSP技术'日勺强势(1) 一次编写,到处运行.'在这一点上Java比PHP更出色,除了系统

11、之外,代码不用做任何更改.'(2)系统、日勺多平台支持.、基本上可以在所有平台上、日勺任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展.'相比ASP/PHP'日勺局限性是现而易见'日勺.'(3)强大'日勺可伸缩性.'从只有一个小'日勺Jar文件就可以运行servlet/JSP,到由多台服务器进行集群和负载均衡,到多台Application进行事务处理,消息处理,一台服务器到无数台服务器,Java显示了一个巨大、日勺生命力.'(4)多样化和功能强大、日勺开发工具支持.'这一点与ASP很像,Java已经有了许

12、多非常优秀、日勺开发工具,而且许多可以免费得到,并且其中许多已经可以顺利、日勺运行于多种平台之下.'2. JSP技术'日勺弱势(1)与ASP一样,Java'日勺一些优势正是它致命'日勺问题所在.'正是由于为了跨平台'日勺功能,为了极度、日勺伸缩能力,所以极大、日勺增加了产品、日勺复杂性.'(2) Java'日勺运行速度是用class常驻内存来完成'日勺,所以它在一些情况下所使用、日勺内存比起用户数量来说确实是“最低性能价格比”了.'从另一方面,它还需要硬盘空间来储存一系列'日勺.java文件和.class文

13、件,以及对应、日勺版本文件.'1.3.2数据库一MySQLMySQL一个小型关系型数据库管理系统,开发者为瑞典MySQLA公司,在2008年1月16号被Sun公司收购.'MySQL被广泛地应用在Internet上、日勺中小型网站中.'由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL乍为网站数据库.、如雅虎、阿尔卡特一朗讯、Google公司、诺基亚公司、百度等公司就采用了MySQ嗽据库.'MySQL数据库可以称得上是目前运行速度最快'日勺SQL语言数据库.'除了具有许多其它数据库

14、所不具备、日勺功能和选择之外,MySQL数据库是一种完全免费、日勺产品,用户可以直接从网上下载.MySQ嗽据库主要有以下特点:1、可移植性使用C和C+斓写,并使用了多种编译器进行测试,保证源代码、日勺可移植性.'2、可扩展性和灵活性MySQlM以支持UNIX、Linux和SUNOSA及Windows等多种操作系统平台.'在一个操作系统中实现、日勺应用可以很方便地移植到其他操作系统.'MySQL作为开源性质、日勺数据库服务器,可以为那些想要增加独特需求'日勺用户提供完全定制、日勺功能.'3、强大、日勺数据保护功能MySQlW一个非常灵活且安全、日勺权限和密

15、码系统.'为确保只有获授权用户才能进入该数据库服务器,所有、日勺密码传输均采用加密形式,同时也提供了SSH和SSI.'支持,以实现安全和可靠、日勺连接.'MySQL强大'日勺数据加密和解密功能,可以保证敏感数据不受未经授权'日勺访问.'4、支持大型、日勺数据库虽然对于用PHP编写'日勺网页来说,只要能够存放数百条以上、日勺记录数据就是够了,但MySQL可以方便地支持上千万条记录'日勺数据库.'作为一个开放源代码'日勺数据库,MySQlM以针又不同'日勺应用进行相应'日勺修改.'5、超强

16、9;日勺稳定性MySQ邸有一个非常快速而且稳定'日勺基于线程、日勺内存分配系统,可以持续使用而不必担心其稳定性.'线程是车5量级、日勺进程,它可以灵活地为用户提供服务,而不占用过多、日勺系统资源.'用多线程和C语言实现'日勺MySQLW艮容易地充分利用CPU.'6、强大、日勺查询功能MySQ及持查询'日勺select和where语句'日勺全部运算符和函数,并且可以在同一查询中混用来自不同数据库'日勺表,从而使得查询变得快捷、方便.'1.3.3Tomcat介绍Tomcat服务器是一个免费、日勺开放源代码、日勺Web应用服务器

17、,是Apache软件基金会、日勺Jakarta项目中'日勺一个核心项目,由Apache、Sun和其他一些学校及个人共同开发而成.'由于有了Sun'日勺参与和支持,最新'日勺Servlet和JSP规范总是能在Tomcat中得到体现,Tomcat5支持最新'日勺Servlet2.4和JSP2.0规范.'因为Tomcat技术先进、性能稳定,而且免费,因而深受Java爱好者、日勺喜爱并得到了部分软件开发商'日勺认可,成为目前比较流行'日勺Web应用服务器.'Tomcat很受广大程序员'日勺喜欢,因为它运行时占用'日

18、勺系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用、日勺功能;而且它还在不断'日勺改进和完善中,任何一个感兴趣'日勺程序员都可以更改它或在其中加入新、日勺功能.'Tomcat是一个小型、日勺轻量级应用服务器,在中小型系统和并发访问用户不是很多、日勺场合下被普遍使用,是开发和调试JSP程序、日勺首选.、对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache服务器,可利用它响应对HTML页面、日勺访问请求.'实际上Tomcat部分是Apache服务器'日勺扩展,但它是独立运行'日勺,所以当你运行tomcat时,它实际上作为一

19、个与Apache独立'日勺进程单独运行'日勺.'自从JSP发布之后,推出了各式各样'日勺JSP弓I擎.'ApacheGroup在完成GNUJSP1.0'日勺开发以后,开始考虑在SUN'日勺JSWD基础上开发一个可以直接提供We用艮务'日勺JSP服务器,当然同时也支持Servlet,这样Tomcat就诞生了.'Tomcat是jakarta项目中'日勺一个重要'日勺子项目,其被JavaWorld杂志'日勺编辑选为2001年度最具创新'日勺java产品,同时它又是sun公司官方推荐'日勺s

20、ervlet和jsp容器,因此其越来越受到软件公司和开发人员、日勺喜爱.'servlet和jsp'日勺最新规范都可以在tomcat'日勺新版本中得到实现.'其次,Tomcat也是完全免费、日勺软件,任何人都可以从互联网上自由地下载.'第二章系统分析2.1 现状分析传统、日勺考试方式是教师提前命题、印刷试卷、组织学生考试、学生在统一时间和地点考试、收卷后教师阅卷、成绩统计.'如图2.1教师提前命题印刷试卷组织学生考试成绩统计图2.1传统考试模式这种模式存在有较多'日勺问题:命题:由于是同意、日勺时间进行考试,所以考生'日勺试卷都是一

21、样'日勺,这样对教师命题带来'日勺很大、日勺麻烦,即:试题太难或者太容易,都达不到考试、日勺目、日勺.、如果是大型、日勺考试,比如英语四级考试,还要担心试题是否被泄漏、日勺等问题(现在已经有类似问题'日勺出现,才会有现在说'日勺花卷).'印刷试卷:组织考试,印刷试卷费工费时,成本高,而且对于纸张资源也是一种浪费,而且印刷、日勺时候,也会担心试题被泄漏'日勺问题.'组织学生考试:监考人资源'日勺浪费,和教师资源、日勺匮乏,如何调配也是一个难题,如果是全国统一考试,还要涉及不同区域同时考试、日勺问题.'学生统一考试:由于是同一

22、时间,同一地点,同一张试题,考生作弊问题便会出现,而且是非常难解决、日勺问题,再加上每个监考员监考、日勺严格程度不同,这些人为因素难控制,使考试难公平,公正.'10教师阅卷:教师阅卷比较容易出错,会造成人为、日勺不公正性.'成绩统计:当成绩录入时,数字、日勺混乱会导致录入者输入错误或者看错2.2 可行性分析可行性分析也称为可行性研究,即是在系统调查'日勺基础上,针对新系统、日勺开发是否具备必要性和可能性,对新系统'日勺开发从技术、经济、管理、日勺方面进行分析和研究,以避免投资失误,保证新系统'日勺开发成功.'可行性研究'日勺目'日

23、勺就是用最小'日勺代价在尽可能短'日勺时间内确定问题是否能够解决.'该系统'日勺可行性分析包括以下几个方面、日勺内容.'2.2.1 经济可行性在线考试必然会在今后、日勺教学管理上成为主要、日勺考试形式.'开发一套能满足一般考试、日勺需要,并实现试卷生成、评判自动化、日勺在线考试系统.'在减少由于人为原因导致试卷阅卷、日勺不公正、日勺同时,也可以让教师、日勺工作量得以减少,有更多、日勺时间去备课教学.'本系统如果用在一些辅助教育类、日勺网站上,那经济效果是很明显、日勺;如果是用在学校、日勺教学管理上,会得以发挥其潜在、日勺经济效益,

24、比如印刷试卷、日勺费用等.'因此,本系统在经济上是可行、日勺.'2.2.2 技术可行性技术上、日勺可行性分析主要分析技术条件是否能顺利完成开发工作,硬、软件能否满足开发者'日勺需要等.'硬件方面,硬件'日勺更新速度之快,可靠性越来越高,目前一般、日勺硬件平台均能满足次系统'日勺需要.'软件方面,编程、日勺软件以及Web服务器等均已具备,并且环境变量已经搭好,数据库用MySQL存储大量、日勺数据,MySQL开源化,目前已经很成熟,在灵活、安全和易用方面均能提供良好、日勺支才1.'因此,系统、日勺软件开发平台已经成熟可行.'2

25、.3 设计目标在线考t系统、日勺总体目标:1 .本系统提供给管理员类用户、教师类用户及学生类用户使用.'不同'日勺用户类型所能完成'日勺功能不同.'管理员类用户可以对于已经注册、日勺考生及系统中已经存在、日勺教师进行删除操作,对11于未注册过、日勺考生及系统中未存在、日勺教师进行添加操作;教师类用户可以创建试题、删除试题、修改试题,也可进行试题维护、修改密码以及对成绩'日勺统计;学生类用户主要是参与考试,完成试卷,查询成绩.'2 .考试数据、日勺存放和处理过程必须保密,需要一定、日勺安全性保障若考生需要查卷,经审核方可以.、3 .题目、日勺选择具

26、有稳定性、随机性.'稳定性就是每弓试卷总体、日勺难易程度要近似一样,保证每一次考试对每一个考生是公平、日勺,随机性可以避免作弊、日勺发生.'4 .适时、日勺试题题库更新,试题题型包括判断题、选择题类型.、试题库'日勺更新由管理员类用户完成.'学生类用户不允许对试题进行更新.'5 .实现现代考试网络化.'6 .4功能要求系统具备、日勺基本功能:1 .用户登录及注册-对用户进行识别、验证;没有注册、日勺用户跳转到用户注册页面;2 .考试模块-考生选择自己想要参加'日勺考试类别,并进行考试,考试完成以后可以获得当考试成绩.'3 .历史成

27、绩模块-考生可以看到自己以前参加'日勺考试成绩.'以对自己'日勺进步状况进行一次把握.'4 .试题维护模块-教师选择试题、日勺类别,然后针对该试题分类中、日勺所有试题进行维护,可以添加新题目,也可以对现在有、日勺题目进行修改或者删除处理.'5 .试卷设置模块-教师对题库中'日勺题目按照一定分类标准存放,包括分类、日勺添加、修改和删除操作等.'6 .历史成绩管理模块-教师可以看到模式体分类、日勺整体考试情况,考试成绩分布情况,可以判断出题库中、日勺题目难以水平,并可以在以后、日勺维护中做出适当调整.'7 .考生管理-系统管理员可以对

28、已经注册、日勺考生进行删除操作,对于未注册、日勺考生进行增加操作.'8 .教师管理-系统管理员可以对系统已经存在、日勺教师进行删除操作,对于未在系统中存在、日勺教师进行增加操作.'9 .修改密码模块-教师和考生可以在已经登录成功'日勺页面点击修改密码,可以修改本人登录此考试系统'日勺登录密码.'除了实现上述功能以外,在线考试系统还应该具有简洁、易用、日勺界面,安全性要高,稳定性要12根据以上、日勺需求分析,画出本系统'日勺UseCase图,如图2.2所示:教师2.5系统开发环境配置1.操作系统:Windows72.内存:4G3.CPU2.00GH

29、Z134 .Java平台:JDK5.05 .Web服务器:Tomcat6.06 .数据库服务器:MySQL7 .开发平台:MyEclipse6.014第三章系统设计3.1 数据库设计在对网上考试系统数据库部分进行设计、日勺过程中,通过对系统功能进行需求分析得到系统、日勺基本信息表,详细设计过程如下介绍.'3.1.1 数据库需求分析需求分析是设计数据库、日勺起点,需求分析、日勺结果是否准确地反映了用户、日勺实际要求,将直接影响到后面各个阶段、日勺设计,并影响到设计结果是否合理和实用.、对于本系统而言,系统、日勺角色分为管理员、教师、学生,这需要3个表,而考生考试,需要一个存放题库、日勺表

30、,考试、曰勺类别不同,也需要一个存放类别'曰勺表,考生考试完毕后,需要一个存放考试成绩'曰勺表.'综合以上分析,要实现上面、日勺所有功能模块,数据库共要设计六个表,它们分别是:试卷类别表、用户表、用户成绩表、教师表、管理员表、题库表.'3.1.2 数据库表设计用户信息表,用来存放考生信息,如表3-1所示:表3-1用户信息表字段名长度是否为主键可否为空说明user_idint11是否用户'日勺idusernamevarchar20否否登录用户名passwordvarchar20否否用户登录密码realnamevarchar20否否用户真实姓名教师信息表,存

31、放教师信息,如表3-2所示:表3-2教师信息表字段名长度是否为主键可否为空说明teacher_idint11是否教师'日勺id15teachernamevarchar20否否教师登录名passwordvarchar20否否教师登录密码realnamevarchar20否否教师真实姓名管理员信息表,存放管理员信息,如表3-3所示:表3-3管理员信息表字段名长度是否为主键可否为空说明adusernamevarchar20是否管理员登录名passwordvarchar20否否管理员登录密码realnamevarchar20否否管理员真实姓名题库信息表,存放考试题目以及答案等信息,如表3-4所

32、示:表3-4题库信息表字段名塞长度是否为主键可否为空说明question_idint10是否试题编号category_idint10否否试题分类编号subjectvarchar300否否题目choice_avarchar100否否选项Achoice_bvarchar100否否选项Bchoice_cvarchar100否否选项Cchoice_dvarchar100否否选项D16answerchar10否否正确答案成绩表,存放考生考试时间以及成绩等信息,如表3-5所示表3-5成绩表字段名整长度是否为主键可否为空说明record_idint10是否考试记录编号usernamevarchar20否否考

33、试用户名category_idchar10否否试题分类编号test_timechar14否否考试时间test_resultint11否否考试成绩试卷类别表,存放试卷类别信息,包括试卷分类名称、试卷题目等,如表3-6所示表3-6试卷类别表字段名长度是否为主键可否为空说明category_idint11是否试题分类编号category_namevarchar20否否试题分类名称question_numberint10否试题数目3.1.3 数据库逻辑结构设计1.关系图本系统各表之间'日勺关系如下图3-1小:quesban主索引testrecord.王索引record_idEername-ca

34、tegoryjdtestjimetest_result=categoryjdquestion_idcategoryjdsubjectdiDicieaH1一二choiceJ)choicejcchoice_danswer17categoryW,引_categoryjdcategory_namequestjon_numberuser主索引二userJdusernamepasswordrealname图3-1关系图1.1 整性设计完整性要求用于描述各种信息之间、日勺制约关系以及关联关系,各个数据项、日勺取值范围以及各个数据项是否可以取值.、根据实际需要,采取一定、日勺手段来满足用户、日勺完整性需求.、

35、域完整性约束要求属性值必须在域中.'实体完整性约束要求主键必须唯一且不能为空.'如用户信息表中'日勺用户名设置为主键,并且要求唯一且不能为空.'1.2 系统结构设计网上考试系统是一个典型、日勺数据库应用程序,主要有管理员、教师和学生三大模块组成,各模块功能如下:管理员模块:该模块包含2个功能,一个为考生管理,系统管理员可以对已经注册、日勺考生进行删除操作,对于未注册、日勺考生进行增加操作;另一个为教师管理,系统管理员可以对教师进行增加、删除操作.'教师模块:该模块包含4个功能,分别为试卷设置、试题维护、历史成绩、修改密码.'教师成功登录该系统后,

36、能够进行修改个人信息,添加、修改、删除试题、试卷类别操作,也可对考生、日勺成绩进行统计.'学生模块:该模块包含3个功能,分别为开始考试、历史成绩、修改密码.'学生成功登录该系统后,能够进行考试、查询成绩、修改密码.'系统功能结构如图3-2所示:系统功能18学生模块教师模块管理员模块图3-2系统功能结构图1.3 用户界面设计页面上部采用一个Logo图片和适当、日勺标识,表明当前'日勺系统名称.'接下来是帮助连接和退出系统、日勺连接.、然后下部页面、日勺主题分为左右两部分,左边是导航模块部分,其中放置迁移到不同功能模块'日勺链接按钮,右边是页面、日勺

37、主要操作区域,不同页面、日勺不同显示主要在此体现.'学生角色'日勺模版页面如图3-3所示:在线考试系统帮助退出登录欢迎您!XXX19开始考试图3-3学生角色模版、日勺页面进行详细描述.'其他'日勺页每个模块都包含多个页面,再次挑选几个比较低型或者重要面结构比较类似或者比较简单,不一一详述学生开始考试、日勺时候,首先需要选择试卷类型,或者也可以叫做试题分类.'在此页面中采用下拉列表框'日勺形式进行,如图3-4所示:在线考试系统帮助I退出登录20图3-4试题分类选择页面草图选择试题分类以后,即是学生答题页面,'答题页面、日勺主体应该是试题和试

38、题、日勺选项.'考虑到本系统需要在题目结束以后立即知道考试结果,所以决定采用所有试题'日勺形式都是ABCM'日勺选择题,页面应该针对这些题目选项设置单选按钮.'在答题内容、日勺上方,应该能够给考生信息,说明当前、日勺题目是全部题目、日勺第几道,以及总共有几道题,使得考生可以把握整个考试进度.'同时考虑到考生在时间允许、日勺情况下,需要在题目间前后迁移,所以在题目、日勺下方,还应该有前后翻页、日勺按钮.'对应教师角色'日勺模版略有不同,模块多了几个,而且页面顶端、日勺标识也有所区别.'对应'日勺模版页面如图3-5所示.

39、9;在线考试系统(管理界面)帮助I退出登录21图3-11教师角色模版页面图3-5管理员角色模版页面22第四章系统实现本系统包括3个不同'日勺角色,即学生、教师、管理员.'不同角色'日勺功能有所不同,学生、日勺功能包括:考试模块,修改密码,成绩查询模块.'教师、日勺功能包括:试卷类别管理、试题管理、修改密码、成绩管理.'管理员'日勺功能包括:教师管理和考生管理.'4.1 数据库连接、日勺实现方法从系统功能模块划分中可以看出,各模块虽然是独立、日勺,但又统一于同一数据库中,便于管理员管理维护数据库,同时也便于教师和学生、日勺操作.'在

40、介绍系统各模块、日勺实现方法之前,首先介绍系统与MySQ嗽据库'日勺连接方法,再介绍系统主要部分、日勺实现方法.'创建与数据库'日勺连接:首先要将mysql'日勺驱动包放在tomcat/lib目录下;:利用语句进行对数据库'日勺操作,以下仅是对用户表查询、日勺语句:<%pagecontentType="text/html;charset=gb2312"%><%pagelanguage="java"import="java.sql.*"%><%/声明数据库连接对象,初

41、始化为空Connectionconn=null;Statementstmt=null;ResultSetrs=null;try(/载入MySQL'勺JDBCW动类Class.forName("com.mysql.jdbc.Driver");/获得数据库连接StringsConn="jdbc:mysql:/localhost/Myexam?user=root&password=890427"conn=DriverManager.getConnection(sConn);/创建Statement对象23stmt=conn.createStat

42、ement();/执行SQL语句Stringquery="select*fromuser"rs=stmt.executeQuery(query);%>catch(Exceptione)/获得数据库连接出错System.out.println("erroroccured!");finally/释放数据库连接rs.close();stmt.close();conn.close();%>4.2 登陆注册模块4.2.1 登录模块用户登录页面比较简单,为防止用户登录'日勺操作错误,应设置错误处理页面,在登录操作过程中,一般发生、日勺错误有:用户

43、输入了错误、日勺用户名或密码、用户直接单击了登录按钮,对上述情况、日勺判断就要通过Servlet文件来实现.'当用户登录、日勺时候,输入'日勺帐号或者密码有其中一项为空时,会有提示框提示,提示您帐号或者密码不能为空.、实现这个功能、日勺是用javascript实现、日勺,具体代码如下所示:验证输入不为空、日勺脚本代码<scripttype="text/javascript">定义了一个名为checkForm'日勺查询表单函数24functioncheckForm(form)、如果value为空,会提示帐号不能为空if(form.teach

44、ername.value="")alert("账号不能为空");让form表单中'日勺teachername控件获得焦点(光标),回到输入框位置.'form.teachername.focus();returnfalse;if(form.password.value="")alert("密码不能为空");form.password.focus();returnfalse;returnture;</script>在登录页面时,当用户提交了登录资料后,就由"loginvc.jsp”

45、这个页面进行验证,它'日勺工作主要是连接到数据库,从数据中找出输入、日勺用户名和密码并判断其是否一致.、如果用户输入了错误、日勺用户名和密码,就会跳出一个登录失败'日勺页面.'用户可以点击返回按钮回到其刚才登录'日勺界面,然后重新输入用户名及密码进行再次登录.'若用户提交正确'日勺用户和密码后,如果记录验证无误,就通过JSP重定向语句response.sendRedirect()跳转到相应'日勺主界面.'教师以及管理员'日勺登录验证跟考生相似,只是查询条件和连接、日勺数据库表不同,以及登陆成功之后,跳转、日勺页面不同.&#

46、39;4.2.2 考生注册模块在此模块,考生需要填写用户名、密码、确认密码、真实姓名.'如若填写中缺少一项,那么会有提示,其功能也是由上面所说、日勺一样,通过调用javascript实现、日勺,这里只提供下截图,主要代码如上,如图4-1所示:25标记*tongyiv叵册图4-1注册提示页面欢迎您注册在线考试系统*用户名:"密码:*蠲认密码:林真实姓名:当用户填写、日勺内容完全符合注册标准后,点击注册按钮,会转到注册成功、日勺页面;如若用户名已经被注册,会转到注册失败页面,提醒注册用户可能是该用户名已经注册,'在此只以注册成功'日勺页面为例,如图4-2所示:恭喜

47、您注册成功!请返回登录页面进行登录点击进入登录页面图4-2注册成功页面完成注册模块、日勺主要代码如下所示:首先获取上个页面传过来、日勺数据,用户名、密码、真实姓名Stringusername=request.getParameter("username");Stringpassword=request.getParameter("password");Stringrealname=request.getParameter("realname");26out.println(username);/打印出username其次开始连接数据库

48、try(Class.forName("com.mysql.jdbc.Driver").newInstance();Connectionconn=DriverManager.getConnection("jdbc:mysql:localhost:3306/myexam?user=root&password=890427&useUnicode=true&characterEncoding=gbk");Statementstmt=conn.createStatement();ResultSetrs=null;查询user表,看用户名是否

49、存在Stringsql="select*fromuserwhereusernamelike'"+username+"'"rs=stmt.executeQuery(sql);如果存在,提示“您好,您注册、日勺用户名已经存在,请重新输入”,如果不存在,把接收过来日勺值付给新、日勺变量:Strings_username=request.getParameter("username");Strings_password=request.getParameter("password");Strings_rea

50、lname=request.getParameter("realname");执行SQ插入语句,把得到'日勺值插入到user表中sql="insertintouser(username,password,realname)value('"+username+"','"+password+"','"+realname+"')"如果插入成功,提示:“恭喜您注册成功!”4.3 考生模块考生登录系统并且用户名也密码正确后,会直接跳转到学生主页,本页

51、面中,考生可以在左侧选择自己下一步要做'日勺事情,有开始考试、历史成绩查询、修改密码.'在页面中间,有提示语,告诉考生每个按钮都可以操作什么功能;若考生对考试流程不太熟悉,可以点击帮助,来查询相关问题、日勺答案.'如图4-3所示:27图4-3考生主页尸盟atX修改密程锻择食触能连窗痂相需作.点击却始考评,选阚应相酚类,可蹈斤普愿部完砺会显示当前的,不同游附弟腿皆目数利分脑不相口如里在甥过程中退出财,当睛觥也嬲不予保稔就"历史成粱,选阚酬试酚君可履靓前撼赵淑辅域娜睛的是瞅辅就嘛,程括顿居遢崩打嘴改翻”,可以桎录移蒯翻施肺修改.4.3.1 开始考试模块考生点击开始

52、考试,会首先弹出关于所选考试科目'曰勺一些介绍,比如考试时间和总共有多少道题目等,然后点击开始考试,倒计时开始,考生选择上一题,下一题进行答卷,当考生答到最大题数时,下一题变成完成答卷按钮.'点击完成答卷,进入成绩页面,考生可以知道自己'日勺成绩,并且,成绩通过后台,插入到数据库中.'如图4-4所示:阚遍当前道R开蜡考试止历史成整修改宝於1注目,与计直言业别阑有关的项目是().A首受费用B营业舞曲A净弱C所斗粮里用D3刑洞也班上前7.融一告性|距离君就结身还用3分“社28图4-4考生考试页面执行'日勺具体代码如下所示:<%HttpSessionse

53、ss=(HttpSession)request.getSession(true);intcategory=(Integer)sess.getAttribute("category");Stringusername=request.getParameter("username");MysqlDjtDaomd=newMysqlDjtDao();/引进包intvalid=md.selectTestRecordByuser(username,category);去test_record表查询有无考试记录valid=0;/控制返回值,自己可以自由修改.'i

54、f(valid=0)Calendarcl=Calendar.getInstance();/javautil包表提供'日勺系统时间Calendarlongstarttime=cl.getTimeInMillis();得到当前时间、日勺毫秒数longendtime=starttime+1800000;sess.setMaxInactiveInterval(3600);/设置session'日勺存活时间sess.setAttribute("username",username);sess.setAttribute("endtime",endti

55、me);List<Integer>tmid=newArrayList<Integer>();指定传入'日勺类型建立一个集合准备存放抽到'日勺题目'日勺ID号tmid.add(0);设置默认值0sess.setAttribute("tmid",tmid);intfenshu=0;sess.setAttribute("fenshu",fenshu);List<Integer>ddcount=newArrayList<Integer>();sess.setAttribute("d

56、dcount",ddcount);29List<Question>allwts=newArrayList<Question>();/建立问题question对应'日勺实体类来存放查到、日勺题目信息List<Integer>listsId=md.selectQInfoCount(category);/某个科有多少个问题intqnum=md.selectQNum(category);/共需要几个问题sess.setAttribute("qnum",qnum);Randomrand=newRandom();/Java提供

57、9;日勺得到数字'日勺类for(inta=0;a<qnum;a+)/开始抽题inthao=rand.nextlnt(listsld.size()-1);/取一个随机数,不超过题目、日勺总数rand.nextInt()取一个随机数for(Integervd:tmid)/去掉重复'日勺题泛型循环if(vd=hao)hao=rand.nextInt(listsId.size()-1);/如果重复再重新抽,即重新生成一个随机数)intbcid=listsld.get(hao);/根据抽到'日勺数得到该题目'日勺Id号Questionqs=md.selectQInf

58、oByid(bcid);/根据Id号查询题目'日勺信息allwts.add(qs);/把查到'日勺题目'日勺信息插入到allwts集合中tmid.add(hao);/把已经用过、日勺随机数放入集合,防止重复抽题)sess.setAttribute("allwts",allwts);%><jsp:forwardpage="questionEnter.jsp"/><%elserequest.setAttribute("errorInfo","已经答过题了,不能重复答题!"

59、);30%><jsp:forwardpage="endQDG.jsp"/><%)%>4.3.2历史成绩模块考生点击历史成绩,会先迁移到考试科目选择页面,当考生通过下拉列表,选中要查询'日勺科目,然后点击确认,会从数据库中提取出考生、日勺成绩,然后在表格中显示.、点击左下角、日勺返回按钮,回到考试科目选择页面,继续查询其他科目成绩,如图4-5所示:日开始.考试“历史成绩心修改密碣返回成绩查询页面主要代码如下所示:接收上个页面传过来、日勺值图4-5考生成绩查询页面31Stringcategory=request.getParameter(&

60、quot;category");Stringresult=null;intcount=0;开始连接数据库Class.forName("com.mysql.jdbc.Driver").newInstance();Connectionconn=DriverManager.getConnection("jdbc:mysql:localhost/Myexam?user=root&password=890427&useUnicode=true&characterEncoding=gbk");Statementstmt=conn.createStatement();数据库Z果集、日

温馨提示

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

评论

0/150

提交评论