![毕业论文-基于Java Web的模拟驾校考试系统设计与实现_第1页](http://file4.renrendoc.com/view/26d47a7dd7db705e503505c54350851e/26d47a7dd7db705e503505c54350851e1.gif)
![毕业论文-基于Java Web的模拟驾校考试系统设计与实现_第2页](http://file4.renrendoc.com/view/26d47a7dd7db705e503505c54350851e/26d47a7dd7db705e503505c54350851e2.gif)
![毕业论文-基于Java Web的模拟驾校考试系统设计与实现_第3页](http://file4.renrendoc.com/view/26d47a7dd7db705e503505c54350851e/26d47a7dd7db705e503505c54350851e3.gif)
![毕业论文-基于Java Web的模拟驾校考试系统设计与实现_第4页](http://file4.renrendoc.com/view/26d47a7dd7db705e503505c54350851e/26d47a7dd7db705e503505c54350851e4.gif)
![毕业论文-基于Java Web的模拟驾校考试系统设计与实现_第5页](http://file4.renrendoc.com/view/26d47a7dd7db705e503505c54350851e/26d47a7dd7db705e503505c54350851e5.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、摘要在竞争越来越激烈的今天,人们的生活工作节奏也在急剧加快。现在几乎所有行业为了适应新的社会节奏,都大量采用机器帮助提高劳动生产效率,降低生产成本,增强单位的竞争能力。电脑辅助教学作为一种新的教学方式正受到越来越多的重视。不管是学校还是培训中心都大量使用电脑来辅助教学,使学校的教学工作规范高效率,最大限度地节约成本。本论文介绍了交通规则模拟考试系统开发的具体实现过程,着重介绍了系统的界面、数据库设计以及测试过程。本系统采用Java Web开发技术,配合Struts框架实现,界面采用XHTMLCSS布局。主要实现模拟考试功能,试题的添加、更新、删除,用户管理等基本功能。系统界面美观友好、具有一定
2、的可扩展性、易于维护、安全性较好,具备一般交通规则模拟考试系统的基本要求,并增加了错题练习、章节练习和成绩统计等辅助功能,可以在各种符合Java Web标准的容器中高效运行,并兼容大部分常用浏览器。可以预测,这种符合具有良好构架、扩展性和安全性的交通规则模拟考试系统,将获得越来越多人们的认可。交通规则模拟考试系统的前景十分光明,充满活力。 关键词:交通规则模拟考试;Java Web;Struts;AbstractToday,the competition is more and more fiercely, the rhythm of peoples life and work are bei
3、ng accelerated sharply too.The almost of all profession for adapt to new society rhythm,plenty of adopt machines to progress productive of labor and reduce d the cost of produce, to strengthen competent ability for enterprise. Use computer to help education is attached importance to as a new way abo
4、ut teaching and studing .A wealth of computers are used to assist education at the school and the center of training, improve to productive of educations work at school and let it normal, save cost in the most limit.This paper introduces the detailed implementation procedures and concentrates on int
5、roducing the interface of the system, the designing of database and the testing procedure. The system uses Java Web development technique which concert with Struts, and whose interface adopts to XHTML+CSS. It archly meets the basic function of question publishing, updating, deleting, and the managem
6、ent of user. The interface is not only beautiful and friendly but also can be extended, maintained and is highly secured. So it can realize the basic requirements of an traffic regulations test, and can be run in any kinds of normal container accorded with Java Web, and also is compatible with most
7、of the frequently-used browsers. It can be predicted that this kind of traffic regulations test syste m which is accorded with the 2.0 standard, with its better frame, extendibility and security, will win more and more popularity. The future of traffic regulations test is very bright and lively.Key
8、Words: traffic regulations test; Java Web; Struts;目录 TOC o 1-3 h z HYPERLINK l _Toc296252909 摘要 PAGEREF _Toc296252909 h i HYPERLINK l _Toc296252910 Abstract PAGEREF _Toc296252910 h ii HYPERLINK l _Toc296252911 第1章 绪论 PAGEREF _Toc296252911 h 1 HYPERLINK l _Toc296252912 本文工作的来源 PAGEREF _Toc296252912 h
9、 1 HYPERLINK l _Toc296252913 目的和意义 PAGEREF _Toc296252913 h 1 HYPERLINK l _Toc296252914 本文工作的主要内容 PAGEREF _Toc296252914 h 2 HYPERLINK l _Toc296252915 系统概述 PAGEREF _Toc296252915 h 3 HYPERLINK l _Toc296252916 设计背景 PAGEREF _Toc296252916 h 3 HYPERLINK l _Toc296252917 设计目标 PAGEREF _Toc296252917 h 3 HYPERL
10、INK l _Toc296252918 运行环境 PAGEREF _Toc296252918 h 3 HYPERLINK l _Toc296252919 功能需求 PAGEREF _Toc296252919 h 4 HYPERLINK l _Toc296252920 第3章 总体设计 PAGEREF _Toc296252920 h 5 HYPERLINK l _Toc296252921 系统体系结构 PAGEREF _Toc296252921 h 5 HYPERLINK l _Toc296252922 系统模块介绍 PAGEREF _Toc296252922 h 5 HYPERLINK l _
11、Toc296252923 系统的物理结构 PAGEREF _Toc296252923 h 6 HYPERLINK l _Toc296252924 3.3.2 B/S模式的简介 PAGEREF _Toc296252924 h 7 HYPERLINK l _Toc296252925 3.3.3 B/S模式的优势 PAGEREF _Toc296252925 h 7 HYPERLINK l _Toc296252926 3.4 数据库概要设计 PAGEREF _Toc296252926 h 8 HYPERLINK l _Toc296252927 第4章 详细设计 PAGEREF _Toc29625292
12、7 h 9 HYPERLINK l _Toc296252928 首页及主要页面设计 PAGEREF _Toc296252928 h 9 HYPERLINK l _Toc296252929 整站类设计 PAGEREF _Toc296252929 h 10 HYPERLINK l _Toc296252930 数据库详细设计 PAGEREF _Toc296252930 h 11 HYPERLINK l _Toc296252931 主要功能模块设计 PAGEREF _Toc296252931 h 12 HYPERLINK l _Toc296252932 首页设计 PAGEREF _Toc2962529
13、32 h 12 HYPERLINK l _Toc296252933 模拟考试页设计 PAGEREF _Toc296252933 h 13 HYPERLINK l _Toc296252934 后台用户成绩管理页面设计 PAGEREF _Toc296252934 h 15 HYPERLINK l _Toc296252935 用户注册页面设计 PAGEREF _Toc296252935 h 15 HYPERLINK l _Toc296252936 第5章 系统的编码 PAGEREF _Toc296252936 h 17 HYPERLINK l _Toc296252937 系统框架 PAGEREF _
14、Toc296252937 h 17 HYPERLINK l _Toc296252938 开发语言 PAGEREF _Toc296252938 h 17 HYPERLINK l _Toc296252939 系统编程 PAGEREF _Toc296252939 h 18 HYPERLINK l _Toc296252940 数据库连接 PAGEREF _Toc296252940 h 18 HYPERLINK l _Toc296252941 5.3.2 模拟考试抽题 PAGEREF _Toc296252941 h 19 HYPERLINK l _Toc296252942 5.3.3 计算考试时间及剩余
15、时间 PAGEREF _Toc296252942 h 20 HYPERLINK l _Toc296252943 5.3.4 保存考试结果 PAGEREF _Toc296252943 h 21 HYPERLINK l _Toc296252936 第6章 测试 PAGEREF _Toc296252936 h 17 HYPERLINK l _Toc296252944 测试原则 PAGEREF _Toc296252944 h 22 HYPERLINK l _Toc296252945 测试方法 PAGEREF _Toc296252945 h 22 HYPERLINK l _Toc296252946 测试
16、实例 PAGEREF _Toc296252946 h 23 HYPERLINK l _Toc296252947 测试结果及分析 PAGEREF _Toc296252947 h 24 HYPERLINK l _Toc296252948 单元测试部分 PAGEREF _Toc296252948 h 24 HYPERLINK l _Toc296252949 集成测试部分 PAGEREF _Toc296252949 h 24 HYPERLINK l _Toc296252950 结论 PAGEREF _Toc296252950 h 25 HYPERLINK l _Toc296252951 致谢 PAGE
17、REF _Toc296252951 h 27 HYPERLINK l _Toc296252952 参 考 文 献 PAGEREF _Toc296252952 h 28 HYPERLINK l _Toc296252953 附录A部分代码展示 PAGEREF _Toc296252953 h 29 HYPERLINK l _Toc296252954 外文科技资料翻译 PAGEREF _Toc296252954 h 38 HYPERLINK l _Toc296252955 英文原文 PAGEREF _Toc296252955 h 38 HYPERLINK l _Toc296252956 中文翻译 PA
18、GEREF _Toc296252956 h 45第1章 绪论在竞争越来越激烈的今天,人们的生活工作节奏也在急剧加快。现在几乎所有行业为了适应新的社会节奏,都大量采用机器帮助提高劳动生产效率,降低生产成本,增强单位的竞争能力。电脑模拟考试作为一种新的教学方式正受到越来越多的重视。多数驾驶学校由于技术原因以及学员自身情况,致使大量的时间和人力白白浪费在交通规则教学上,不仅教学效率低,而且教学成本大幅度上升,不利于市场的竞争。因此,为适应发展,驾驶学校需要一个适用于其特殊性的软件,以方便其模拟考试工作所用,提高学员的学习效率,减轻教学人员的劳动强度,提高其劳动效率,真正做到解放生产力,创造更多的劳动
19、价值;使学校更规范、科学、高效、有更大的发展潜力1。基于以上原因,我决定设计一款出题快速准确,无出题重题现象,能按考试题库进行顺序出题,随机出题,能对选定题库进行针对练习,练习时能马上提示学员所选答案是否正确,模拟考试后能对考试中做错题进行重点练习,练习或考试中能进行计时等功能。本设计源于开发一个完全自主创新并能够应用于学习中的交通规则考试系统的构想,应用平时学习的知识和生活总结的经验以及对同类产品的借鉴,开发出这个交通规则模拟考试系统。其难度工作量也都符合毕业设计的要求,是符合教学要求的模拟题目。交通规则模拟考试系统,采用了当今流行的B/S结构,适应了驾驶员培训教育发展的新需要,对用户来说,
20、不仅可以减少人力、物力和财力资源的浪费,更重要的是有助于提高学员考试的通过率。这和以往单机版的驾驶员理论考试系统相比,系统不需要安装,节约了本地计算机资源,方便了用户的接入,只要能上网就能随时模拟练习,也满足了当今驾校学员爆炸式增长的需求。该系统经过试运行及测试,能符合当今此类系统的先进性、实用性、可靠性等特点,将引领驾驶员理论考试网上模拟系统的新模式。随着互联网的普及和驾驶员培训事业的不断发展与壮大,会有越来越多的用户乐于接受驾驶员理论考试的网上模拟,其市场潜力会得到充分发挥。 1.3本文工作的主要内容本设计主要实现交通规则模拟考试系统的基本功能,包括:试题的添加、修改、删除、修改操作:添加
21、试卷功能由用户填写试题的题目,所属章节,各选项答案,正确答案等信息,当用户点击确定时将题目存入数据库。试题修改功能可修改除所属章节以外的试题信息,删除功能则从数据库中删除本条试题记录。 自动抽取试题 :当用户进入模拟考试界面时系统将从数据库中随机抽取指定数量的题目,而题目将涉及到试题表中所有的章节。(3) 自动评分:当用户回答完所有题目点击提交按钮时系统将会对用户的答题进行评分,并将成绩,考生考号和考试时间等信息插入数据库。模拟考试中设置了考试时间,当剩余时间为0时,计时系统将计算出此时用户所答题目的成绩,并将结果保存至数据库。(4) 统计考生成绩与自测情况:当用户进入统计界面后系统会取出数据
22、库中的成绩表中该考生的所以记录,将其展示在页面中(5) 分章节练习:当用户进入章节练习模块中时,系统将从数据库中的试题表中抽取同一类型中的所有题目,并将答案显示在页面底部。(6) 错题练习:当用户进入错题练习模块中时,系统将从数据库中的错题表中抽取用户曾经在模拟考试中答错的题目,并将答案显示在页面底部。本文主要介绍设计所用到的一些技术、所采用的方法和特点功能等。其中第二章需求分析从计算机软硬件方面分别介绍本设计需要的运行需求和运行环境,并在其后的内容中对用户的详细需求进行分析。第三章总体设计主要介绍系统的功能结构、主要物理架构、安全和数据库概要设计。第四章详细设计主要介绍了主要页面和类(包括包
23、)的设计、数据库详细设计、界面设计等。第五章主要介绍本设计采用的主流技术、框架,开发工具和一些精髓代码的展示说明。第六章是测试,主要介绍了本系统所采用的白盒、黑盒测试方式,所获得的测试结果以及针对结果所做的修改等。第2章 需求分析2.1系统概述本交通规则模拟考试系统提供对用户模拟考试实现的支持。为满足用户对交通规则模拟考试系统的需要,开发本套开源代码的交通规则模拟考试系统。本考试系统面向一般用户,对Web技术有一定了解的人群。本套系统完全为免费开源软件,提供Java Web交流、学习之平台。共同完善本交通规则模拟考试系统。本着实用精神,本系统将完成基本考试功能并提供较强的接口对更多功能提供支持
24、。设计背景本设计面向所有希望学习交通规则的人和一起参与Java Web学习交流的同行,基于JSPStrutsMS SQL Server以及CSS花费2个月时间设计开发。设计目标完成交通规则考试系统的基本功能:包括对试题的添加,修改删除,用户登陆,模拟考试,按章节练习,错题练习,统计考生自测情况等 功能。运行环境硬件环境服务器端要求:CPU:Inter Pentium 或AMD Athlon 3000+或更高内存:256MB硬盘:100MB客户端要求:CPU:Inter Pentium 或AMD Athlon 2600+或更高内存:128MB软件环境服务器端要求:操作系统:Windows 200
25、0 Server或更高、Linux Server、UnixJava Web容器:JDK1.5或更高、数据库系统:Microsoft SQL Server 2000 sp4客户端要求:操作系统:多媒体操作系统、Firefox 2、Firefox3及同类浏览器浏览器插件及脚本要求:JavaScript2.2功能需求交通规则考试网站功能:交通规则模拟考试系统功能:前台页面使用考生准考证号与密码登录,考生可逐节练习、模拟考试、错题复习、常用网址等内容。可获取考生自测统计结果,当考生提交试卷后由系统进行自动评分将结果显示在用户界面。后台管理页面使用管理员用户名与密码登录,管理员享有管理(添加、修改、删除
26、)试题库、管理(添加、修改、统计)自测统计结果的权限。管理员可向试题库添加,删除或修改试题,可根据考生提交的试卷测试情况统计出考生成绩排名,易错题等内容,方便考生自我评估。(1)交通规则模拟考试系统用户界面:采用浅蓝色作背景,清新简约风格。(2)交通规则模拟考试系统的软件接口:界面采用完全按CSS布局控制,风格完全可以通过CSS实现自定义;数据库采用DAO连接,通过修改DAO中的方法可轻松改变数据库各种操作。(3)确定交通规则考试系统维护的要求:不定期根据情况推出新界面和代码调整,优化系统性能、丰富网站界面。内容方面完全由用户自主更新。(4)确定交通规则模拟考试系统空间租赁要求:支持JSP的主
27、机,500800元/年。(5)主页面及次页面数量:前台主页1个,次页面15个。后台主页面1个,次页面14个。(6)管理及内容录入任务分配:由管理员确定。(7)各种页面特殊效果及其数量:前台页面由默认风格及用户选择风格决定(可扩展多个风格),后台风格固定。(8)信息保密性要求:数据库及Java Web服务器物理安全。程序代码安全,无后门,权限分配及管理安全,密码安全等。 第3章 总体设计系统体系结构交通规则模拟考试系统自测统计自测评分模拟测试自动评分获取试卷试卷管理成绩管理添加、修改、删除统计、修改、添加前台自测页面后台管理页面章节练习错题练习统计测试情况图3.1 系统功能结构图系统模块介绍本系
28、统分为前台自测与后台管理两大功能模块,用户首先从前台登陆界面进入自测首页由此可进入模拟考试,错题管理,章节练习等子功能模块从而选择各项自测功能;管理员从后台登陆界面进入后台管理首页,由此可进入试题管理,章节管理,成绩管理等子功能模块从而选择各项管理功能。试卷管理本模块实现对试卷题目,章节等内容的添加、修改、删除等功能,操作试卷信息需要管理员权限。在提交时,程序会对所提交的信息进行检查,当添加重复题目或章节时会以对话框的形式给与提醒,成绩管理该模块实现了对用户考试结果的集中展示,列举出用户考试的时间,用户ID,成绩等信息,方便管理员分析用户考试情况同时本模块提供了搜索功能。可根据用户的ID进行搜
29、索,快速查找到感兴趣的结果。模拟测试该模块实现了模拟考试中计时,获取题目的功能,用户在登陆状态下在其中回答问题,如果考试时间结束,则自动关闭页面。本模块中抽取的题目来自数据库中的题目表,抽取方式为随机抽取,同时保证所抽取的题目涉及到题库中的所有章节。页面顶部有计时功能,等剩余时间显示为0时,则系统将结束本次考试,并对之前所答题目进行评分,并将成绩存入数据库。自测评分该模块实现对用户提交的答案进行评分的功能,以对话框的形式展示成绩。并将结果保存至数据库,方便统计成绩,并将用户没有回答正确的题目存入数据库中的错题表,当用户选择错题练习功能时将从中抽取题目。自测统计该模块实现对用户成绩进行统计的功能
30、,列举出用户每次考试的成绩,时间等信息,方便用户对自身情况进行评估。错题练习该模块为用户提供练习做错的题目的功能,并提供正确答案,方便用户掌握易错题型。所抽取的错题从数据库中取出,同时在页面底部显示题目的正确答案。章节练习该模块为用户提供按章节练习题目的功能,并提供正确答案,方便用户循序渐进的学习。在此模块中,页面中将展示出同一章节中所以题目,并在页面底部展示出题目的答案。系统的物理结构现在开发管理信息系统一般都是采用C/S或者B/S模式两种模式,但这两种模式又都有自己的优点与不足。本系统采用B/S模式进行开发设计;3.3.2 B/S模式的简介Browser/Server(浏览器/服务器)结构
31、,是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户界面完全通过WWW浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现。B/S结构,主要是利用了WWW浏览器技术,结合浏览器的多种Script语言(JavaScript 、VBScript)和ActiveX技术,用通用浏览器就实现了原来需要复杂专用软件才能实现的强大功能,并节约了开发成本,是一种全新的软件系统构造技术。随着Windows 98/Windows 2000将浏览器技术植入操作系统内部,这种结构更成为当今应用软件的首选体系结构。显然B/S结构应用程序相对于传统的C/S结构应用程
32、序有了巨大的进步。B/S结构采用星形拓扑结构建立企业内部通信网络或利用Internet虚拟专网(VPN)。B/S结构具有节省投资、跨地域广的优点,无须视企业规模和地理分布确定。企业内部通过防火墙接入Internet,再整个网络采用TCP/IP协议。网络结构如图所示: B/S模式的优势B/S最大的优点就是可以在任何地方进行操作而不用安装任何专门的软件。只要有一台能上网的电脑就能使用,客户端零维护。系统的扩展非常容易,只要能上网,再由系统管理员分配一个用户名和密码,就可以使用了。甚至可以在线申请,通过公司内部的安全认证后,不需要人的参与,系统可以自动分配给用户一个账号进入系统。系统物理结构如图所示
33、:控制器(Servlet)视图(JSP)浏览器(Model)JavaBean请求响应应用服务器数据库实例化图3.2 系统的物理结构图左部分浏览器属于客户端,右部分属于服务器。其中控制器及业务逻辑使用Struts实现,视图由JSP实现,数据库采用MS SQL Server 2000。 数据库概要设计一个设计良好的数据库,可以使系统的实现变得非常的简单,同时,也可以使系统的执行速度变得很快。反之,一个设计混乱的数据库,不仅增加了吸引的管理实现过程,同时在系统的执行过程中,使得检索变得很慢,降低效率。所以数据库的设计是一个系统设计很重要的步骤。根据系统功能设计要求和模块划分,本站的数据库主要有错题信
34、息、题目信息、用户信息、章节信息、结果信息等表。数据库的设计通常是以一个已经存在的数据库管理系统为基础的,常用的数据库管理系统有Access、SQL Server、Oracle、My SQL等。根据用户需求和系统分析,本系统采用SQL Server 2000数据库管理系统。在SQL Server 2000的数据库管理系统中建立名称为db_netExam的数据库。为了保证较好的安全和兼容性,SQL Server 2000要求集成sp4补丁和所有安全补丁。第4章 详细设计表4.1 主要页面文件及其作用文件名说明前台登陆界面default.jsp前台功能主界面exercise.jsp考试功能选择页面
35、top.jsp模板文件,用于构建网页顶部style.css本文件夹用于存储各种不同显示样式,可根据不同需要添加CSS样式register.jsp前台用户注册页面selectLesson.jsp选择章节的页面startExam.jsp模拟考试页面startExercise.jsp逐节练习页面startWrong.jsp错题练习页面Student_Modify.jsp修改学生信息页面stuResultQuery.jsp查看考试结果页面manage left.jsp后台功能选择页面managemanager_add.jsp添加管理员页面managequestions_add.jsp添加题目页面man
36、ageselTao.jsp添加章节页面managecopyright.jsp声明页面Struts配置文件Struts主要标签库之一,用于实现各种逻辑和显示Struts主要标签库之一,用于实现各种逻辑和显示Struts主要标签库之一,用于实现各种逻辑和显示WEB-整个网站的配置文件图4.1 网站文件结构图本站所用到的类分为4个包,包括用于连接数据库的core,用于操作数据表的dao,用于用户交互的action,以及actionForm。这些包分别管理和完善系统的各个方面。例如dao实现的是与操作数据表的功能,每个表都对应着一个唯一的dao,用来实现程序中对表中数据的增,删,改,查。Action负
37、责接收用户请求。整站的包结构如下:图4.2 本网站的包结构根据系统功能设计要求和模块划分,本站的数据库主要包括课程信息表、管理员信息表、题目信息表、用户信息表、考试结果表、章节信息表、错题信息表等7个表。各表的表结构如下:表 课程信息表结构字段名数据类型长度键备注IDbigint8主键标识符Namevarchar60课程名JoinTimedatetime18加入时间表 管理员信息表结构字段名数据类型长度键备注IDbigint8主键标识符NAMEvarchar30名称PWDvarchar30密码表 题目信息表结构字段名数据类型长度键备注IDbigint8主键标识符subjectvarchar50
38、题目Typechar6题目类型JoinTimedatetime8加入时间lessonIdint4课程信息表外键课程IDtaoTiIdbigint8章节IDoptionAvarchar50A选项内容optionBvarchar50B选项内容optionCvarchar50C选项内容optionDvarchar50D选项内容answervarchar10答案表4.4 错题信息表结构字段名数据类型长度键备注stuIdvarchar16用户信息表外键用户idquesIdbigint8题目信息表外键题目idIDbigint8主键标识符表4.5 章节信息表结构字段名数据类型长度键备注IDbigint8主键
39、标识符Namevarchar50名称LessonIDbigint8章节IDJoinTimedatetime8加入时间表4.6 用户信息表结构字段名数据类型长度键备注IDvarchar16主键标识符namevarchar20名称pwdvarchar20密码sexvarchar2性别jointimedatetime8加入时间 questionvarchar50问题answervarchar50答案表4.7 考试结果表结构字段名数据类型长度键备注IDint8主键标识符stuIdvarcher16用户信息表外键用户IDwhichLessonvarcher60课程信息表外键课程名resSingleint
40、4单选分数resTotalint4多选分数resTotalint4总分joinTimedatetime8加入时间主要功能模块设计首页设计首页是用户对网站的第一印象,一个好的首页能够极大的提高用户的好感度和访问率,考试系统也不例外。本系统默认首页为清新风格,背景为蓝天草地,朴素且柔和,可以很好的缓解用户因为考试而产生的紧张情绪。本站所有页面均由CSS布局,在不同的浏览器中展示的效果稍有区别,在ie中展示效果最佳。下图是首页的截图:图4.3 主页截图模拟考试页设计模拟考试功能是本程序的核心功能,是本程序的重点,页面包括时间展示和试题展示两部分。顶部包括考试时间、计时和剩余时间三部分。用于提醒用户考
41、试时间。主体部分为试卷的试题,并用红字指出每道题目的分数,底部为提交按钮,当考生确认答题结束后可点击它来提交结果,程序会自动评分,并将成绩以对话框的形式展示给用户。如果顶部的剩余时间耗尽,同样视为提交了答案,系统将进入评分阶段。图图4.4 模拟考试页面截图图4.5 成绩结果对话框截图后台用户成绩管理页面设计本程序不仅完整的模拟了交通规则考试的功能,而且拥有功能强大的后台管理及统计功能。通过后台管理界面,管理员可以轻松的浏览用户的考试结果。本页面主要包括四部分,顶部为统一风格的欢迎界面,并在加载过程中检测用户是否登陆,如果尚未登陆则跳转至登陆界面,左侧为功能选择区域,列举出程序后台所具备的全部功
42、能,单击不同的项目则页面主体区域出现对应的功能界面。页面主体区域展示了全部用户的考试信息,包括用户ID、考试时间、成绩等内容。该界面提供了搜索功能,可以通过用户ID和考试时间搜索成绩信息。底部为声明部分,并提示本程序界面的最佳展示方法。图4.6 后台管理截图4.4.4用户注册页面设计注册是用户对网站的一种认可,良好的注册页面会给用户一种舒适的感觉和温馨的体验,会促使他们认真填写注册信息。同时友好的错误提示对于用户注册也是必不可少的。在登录界面各输入栏右侧,给出了正确填写的标准,如果用户填写不符合要求,会在提交时返回不符合要求的地方,并要求修改该处。本站的注册页如下:图4.7 注册页面截图第5章
43、 系统的编码5.1系统框架为了更加科学和完美地完成本设计,本系统还采用Apache组织的Struts开源框架(1.2版本)构建控制层和业务层。图是Struts基本结构图,可以看出,采用Struts框架结构的Web应用系统主要由控制器、业务逻辑、模型和视图组成。其中的控制器、模型和视图为Struts框架结构的主要组成部分,而事务逻辑则是我们需要实现的系统业务逻辑处理部分。严格的说系统应该使用专门的部分实现业务逻辑,而不是使用Struts来实现,但就本系统而言,业务逻辑比较简单,虽然引入专门的逻辑业务处理单元没有任何问题,考虑到程序复杂性和运行效率问题,决定还是省略用作专门处理业务的逻辑单元。客户
44、(浏览器)控制器(ActionServlet)模型(ActionForm)业务逻辑(Action)视图(JSP)请求转发响应分配读取struts图5.1 Struts的基本结构5.2开发语言本系统采用JSP开发,主要后台代码都由Java编程开发。此外,一些配置文件由XML文件编写。JSP(JavaServer Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种 HYPERLINK :/baike.baidu /view/348756.htm t _blank 动态网页技术标准。JSP技术有点类似 HYPERLINK :/baike.baidu /view/26
45、16.htm t _blank ASP技术,它是在传统的网页 HYPERLINK :/baike.baidu /view/692.htm t _blank HTML文件)中插入 HYPERLINK :/baike.baidu /view/29.htm t _blank Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件 用JSP开发的Web应用是跨平台的,即能在Linux下运行,也能在其他操作系统上运行。JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端
46、的资源的应用逻辑。JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。JSP技术的强势:(1)一次编写,到处运行。在这一点上Java比 HYPERLINK :/baike.baidu /view/99.htm t _blank PHP更出色,除了系统之外,代码不用做任何更改。(2)系统的多平台支持。基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署, 在任意环境中扩展。相比ASP/PHP的局限性是显而易见的。 (3)强大的可伸缩性。从只有一个小的 HYPERLINK :/baike.baidu /view/50457.ht
47、m t _blank Jar文件就可以运行Servlet/JSP,到由多台服务器进行集群和负载均衡,到多台Application进行事务处理,消息处理,一台服务器到无数台服务器,Java显示了一个巨大的生命力。(4)多样化和功能强大的开发工具支持。这一点与ASP很像,Java已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下。5.3.1数据库连接()方法获得数据库连接池。其中DriverManager.getConnection()的三个参数为别代表数据库名称,数据库用户名,数据库密码,将这三个参数传入就可以通过conn变量操作数据库了。具体代码
48、如下:public class ConnDB public Connection conn = null; / 声明Connection对象的实例public Statement stmt = null; / 声明Statement对象的实例public ResultSet rs = null; / 声明ResultSet对象的实例private static String propFileName = /com/connDB.properties;private static Properties prop = new Properties(); private static String
49、dbClassName = com.microsoft.jdbc.sqlserver.SQLServerDriver;/定义保存数据库驱动的变量private static String dbUrl = jdbc:microsoft:sqlserver:/localhost:1433;DatabaseName=db_netExam;private static String dbUser = sa;private static String dbPwd = 123;public static Connection getConnection() Connection conn = null;t
50、ry Class.forName(dbClassName).newInstance();conn = DriverManager.getConnection(dbUrl, dbUser, dbPwd); catch (Exception ee) ee.printStackTrace();if (conn = null) System.err.println(警告: DbConnectionManager.getConnection() 获得数据库链接失败.rnrn链接类型:+ dbClassName+ rn链接位置:+ dbUrl+ rn用户/密码+ dbUser + / + dbPwd);r
51、eturn conn;5.3.2 模拟考试抽题本系统的模拟考试抽题部分采用了随机抽题的方式,同时所抽取的题目将涉及数据库中所存储的所有试题章节,实现方法为在sql语句中调用了newid()数据库方法;该方法配合top n*将从select语句自定的查找范围中随机查找出n条记录,完整的sql语句为SELECT top 4 * FROM tb_questions A WHERE taoTiId in(SELECT taoTiId FROM tb_questions WHERE A.id = id ) order by newid(),返回记录后将结果保留到名为questionsList的List中
52、,供模拟考试页面调用。具体代码如下:public List queryExam(int questionsID,String flag) List questionsList = new ArrayList(); QuestionsForm questionsForm1 = null; String sql=; if(questionsID=-1) if(flag.equals(0) sql = SELECT top 4 * FROM tb_questions A WHERE taoTiId in(SELECT taoTiId FROM tb_questions WHERE A.id = id
53、 ) order by newid(); else if(questionsID=-2) sql = SELECT * FROM tb_questions WHERE id in (SELECT distinct quesId from tb_Wrong WHERE stuId=+flag+); else sql = SELECT * FROM tb_questions WHERE taoTiID=+questionsID+ ResultSet rs = conn.executeQuery(sql); String type=; int id=0; try rs.last(); int rec
54、ordNum=rs.getRow(); rs.first(); int idArr=new intrecordNum; for(int i=0;irecordNum;i+) questionsForm1 = new QuestionsForm(); id=rs.getInt(1); questionsForm1.setID(id); questionsForm1.setSubject(rs.getString(2); type=rs.getString(3); questionsForm1.setType(type); questionsForm1.setLessonId(rs.getInt(
55、5); questionsForm1.setTaoTiId(rs.getInt(6); questionsForm1.setOptionA(rs.getString(7); questionsForm1.setOptionB(rs.getString(8); questionsForm1.setOptionC(rs.getString(9); questionsForm1.setOptionD(rs.getString(10); questionsForm1.setAnswer(rs.getString(11) questionsForm1.setIdArrS(idArri=id;); que
56、stionsForm1.setNote(rs.getString(12); questionsList.add(questionsForm1); rs.next(); catch (Exception e) e.printStackTrace();/输出异常信息 return questionsList; 5.3.3 计算考试时间及剩余时间 本系统在考生进行模拟考试过程中将计算考试时间和剩余时间,当剩余时间耗尽则视为考生提交了试卷,系统将自动为试卷进行评分。实现方法为调用包下的Date().getTime()方法获取当前的系统时间;然后通过在Jsp页面中设置计时timer=Window.set
57、Interv(showStartTime();showRemainTime();,1000); 来不断更新时间。计算剩余时间时还要记录考试开始时间,并用其与考试时间相加得到考试结束时间,当到达结束时间时触发提交试卷事件进入系统评分。具体代码如下:/计算剩余时间private ActionForward showRemainTime(ActionMapping mapping, ActionForm form, ServletRequest request, ServletResponse response) Session session = request.getSession();Stri
58、ng startTime=session.getAttribute(startTime).toString();long a=Long.parseLong(startTime);long b=new java.util.Date().getTime();long r=20*60000-(b-a-1000);int h=(int)Math.abs(r/3600000);String hour=chStr.formatNO(h,2);int m=(int)(r)%3600000/60000;String minute=chStr.formatNO(m,2);int s=(int)(r)%36000
59、00)%60000/1000;String second=chStr.formatNO(s,2);String time=hour+:+minute+:+second;request.setAttribute(showRemainTime,time);return mapping.findForward(showRemainTime);5.3.4 保存考试结果当系统对试卷自动评分后会将考试结果,考试时间和考生准考证号保存至数据库中的成绩表中,同时将做错的题目和考生的准考证号保存至错题表中。具体代码为:public int SaveWrongResult(String studentID,int
60、 quesId) String sql=INSERT INTO tb_Wrong (stuId,quesId) values(+studentID+,+quesId+); System.out.println(刚开始考试时保存考试结果的SQL语句:+sql); int ret=conn.executeUpdate(sql); return ret; /考试结束后保存考试结果public int saveResult(String studentID,int lessonID,int resSingle,intresMore) String lesson=(LessonForm)lessonDA
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025至2031年中国超五类接插软线行业投资前景及策略咨询研究报告
- 2025至2031年中国组织捣磷匀浆机行业投资前景及策略咨询研究报告
- 2025至2031年中国玻璃瓶罐热缩包装机行业投资前景及策略咨询研究报告
- 2025年水洗高岭土项目可行性研究报告
- 2025年新型铝屑粉碎机项目可行性研究报告
- 2025至2031年中国室外休闲用品行业投资前景及策略咨询研究报告
- 2025年复合磷酸锌项目可行性研究报告
- 2025至2031年中国丙烯基硫脲行业投资前景及策略咨询研究报告
- 2025年便携式磁探钳项目可行性研究报告
- 2025年o型圈项目可行性研究报告
- RB/T 101-2013能源管理体系电子信息企业认证要求
- 冀教版六年级下册数学全册教案完整版教学设计(含教材分析、教学计划及进度表)
- GB/T 10205-2009磷酸一铵、磷酸二铵
- 公司财务制度及流程
- 高支模专项施工方案(专家论证)
- 《物流与供应链管理-新商业、新链接、新物流》配套教学课件
- 房地产标准踩盘表格模板
- 物联网项目实施进度计划表
- 学校校园安全巡逻情况登记表
- MDD指令附录一 基本要求检查表2013版
- 骆驼祥子1一24章批注
评论
0/150
提交评论