1、基于 JAVA 语言的在线考试系统设计-I-摘 要在 线 考 试 系 统 旨 在 实 现 考 试 的 无 纸 化 管 理 , 对 一 些 科 目 的 考 试 可 以 通 过 互 联 网 络 或局 域 网 进 行 , 方 便 校 方 考 务 的 管 理 , 也 方 便 了 考 生 , 尤 其 适 合 考 生 分 布 广 , 不 易 集 中 的远 程 教 育 。 我 主 要 开 发 系 统 的 后 台 管 理 系 统 JAVA 在 线 考 试 管 理 系 统 , 它 包 括 试 题 管理 、 考 生 管 理 、 在 线 制 作 试 卷 、 控 制 学 生 考 试 的 设 置 、 试 卷 审 批 等
2、 功 能 。 本 论 文 主 要 介绍 了 对 JAVA 在 线 考 试 管 理 系 统 的 分 析 、 设 计 和 开 发 的 全 部 过 程 。 运 用 ER 图 , 程 序流 程 图 等 对 在 线 管 理 子 系 统 的 设 计 过 程 进 行 详 细 的 说 明 。全 文 共 分 为 开 发 方 案 、 需 求 分 析 、 系 统 设 计 、 关 键 技 术 解 决 , 结 论 五 部 分 。 开 发 方案 中 主 要 介 绍 开 发 在 线 考 试 系 统 得 目 的 、 开 发 方 案 的 选 择 及 开 发 框 架 的 技 术 的 确 定 ; 需求 分 析 介 绍 了 在 线
3、考 试 系 统 的 总 体 需 求 及 系 统 各 模 块 的 功 能 需 求 ; 系 统 设 计 介 绍 了 系 统设 计 的 指 导 思 想 、 数 据 库 的 设 计 、 系 统 模 块 的 设 计 ; 关 键 技 术 介 绍 了 在 具 体 实 现 时 需 解决 的 一 些 技 术 , 如 开 发 框 架 的 整 合 技 术 、 开 发 框 架 与 数 据 库 的 连 接 及 数 据 的 备 份 与 还 原 。本 毕 业 设 计 的 内 容 是 设 计 并 且 实 现 一 个 基 于 web 技 术 的 在 线 考 试 系 统 , 故 而 系 统主 要 以 j2EE 作 为 开 发 基
4、 础 ,主 要 使 用 了 struts+spring 等 多 种 协 议 或 技 术 , 用 eclipse 作为 开 发 工 具 , 以 MYSQL 作 为 数 据 库 , 以 Macromedia 公 司 的 Dreamweaver 作 为 界 面 美化 工 具 。 基 本 实 现 了 网 上 考 试 系 统 应 有 的 主 要 功 能 模 块 ,包 括 : 管 理 员 的 登 录 , 管 理 和维 护 ; 用 户 注 册 、 登 录 、 注 销 , 个 人 信 息 的 查 询 、 修 改 ; 考 试 管 理 , 套 题 管 理 , 成 绩 管理 。 该 系 统 界 面 简 单 、 操
5、作 方 便 , 容 易 维 护 。关键词:JavaSE ;J2EE;MYSQL;在线考试基于 JAVA 语言的在线考试系统设计-II-AbstractOnline examination system to achieve paperless management of examinations, the examination of some subjects through the Internet or LAN, to facilitate the management of the school Examination, candidates are also convenient,
6、especially for candidates widely distributed, easy to focus on distance education . The background of my main development system management system-JAVA-line examination management subsystem, which includes questions management, candidate management, on-line production of papers, control of student t
7、est set, paper processing and other functions. This paper introduces online examination management subsystem on the JAVA analysis, design and development of the whole process. Using ER diagram, process flow charts and other on-line management subsystem design process detail.Paper is divided into dev
8、elopment programs, requirements analysis, system design, key technical solutions, the conclusion of five parts. Development program introduces the development of online examination system was the purpose, development plan and development framework for the choice of identification technology; demand
9、analysis describes the overall demand for online examination system and the system functional requirements of each module; system designed for the guidance system design thinking, database design, system design module; key technology introduced to be addressed in the detailed realization of some tec
10、hnologies, such as the integration of technology development framework, development framework and the database connection and data backup and restore.The contents of this graduation project is to design and implement a web-based technology, online examination system, Guer system based mainly j2EE as
11、 the development, mainly using struts + spring and other agreements or technology, using eclipse as a development tool to MYSQL as the database to Macromedias Dreamweaver as a landscaping tool interface. Basically an online examination system should be the main functional modules, including: an admi
12、nistrators login, management and maintenance; user registration, login, logout, personal information, access, correction; test management, problem sets of management, performance management. The system interface is simple to operate, easy to maintain.Keywords:JavaSE; J2SE;MYSQL ;Online Examination基于
13、 JAVA 语言的在线考试系统设计-III-目 录摘 要 .IAbstract.II目 录 .III第 1 章 绪 论 .11.1 课题背景 .11.2 目的和意义 .11.3 本文结构 .1第 2 章 系统应用的关键技术 .22.1 JSP 技术介绍 .22.1.1 JSP 的描述 .22.1.2 JSP 的运行机制 .22.1.3 JSP 的强势与劣势 .32.1.4 JSP 与 ASP 的比较 .32.2 Java 组件与 JavaBeans .42.2.1 什么是 JavaBeans .42.2.2 JSP 与 JavaBeans 的关系 .42.3 J2EE 概述 .42.4 关于
14、Struts.52.4.1 Struts 简介 .52.4.2 Struts 的主要功能 .52.4.3 Struts 的工作原理 .52.5 关于 Spring.72.5.1 Spring 简介 .72.5.2 为什么需要 Spring.72.5.3 Spring 带给我们什么 .82.6 关于 B/S 开发模式 .82.6.1 为什么引入 B/S 开发模式 .82.7 MYSQL 数据库 .92.7.1 MYSQL 的特点 .92.7.2 MYSQL 的安装和配置(部分截图) .102.8 Tomcat 服务器 .122.8.1 Tomcat 服务器简介 .122.8.2 Tomcat 的
15、特点 .122.8.3 Tomcat 的优势 .122.8.4 Tomcat 服务器的安装和配置 .12第 3 章 系统需求分析和总体设计 .143.1 系统功能需求 .143.2 系统角色及其功能分析 .143.2.1 系统的两个角色 .143.2.2 系统角色的功能 .143.3 总体设计思想概述 .153.4 数据库设计 .163.4.1 E-R 图 .16基于 JAVA 语言的在线考试系统设计-IV-3.4.2 数据表的设计 .163.5 系统的类设计 .183.5.1 DAO 类设计 .183.5.2 connDB 类设计(部分) .183.5.3 过滤器类设计 .193.5.4 监
16、听器类设计 .193.6 系统的用例图 .203.6.1 总体用例分析 .203.6.2 用户管理用例分析 .213.6.3 考试管理用例分析 .213.6.4 考试题目管理用例分析 .223.6.5 成绩管理用例分析 .22第 4 章 系统的详细设计 .244.1 数据库与 connDB 类映射的实现 .244.2 主要模块的说明与界面 .254.2.1 用户管理模块 .254.2.2 考试管理模块 .294.2.3 题目管理模块 .314.3 系统的测试 .36结 论 .37致 谢 .39参考文献 .40附录 .41基于 JAVA 语言的在线考试系统设计-1-第 1 章 绪 论1.1 课题
17、背景网络化教育代表了教育改革的一个发展方向,已经成为现代教育的一个重要特征,并对教育的发展形成新的推动力。随着 Internet/Intranet 的迅速发展和广泛普及,网络考试系统成为现代教育技术未来发展方向之一。作为网络考试的一个子系统网络阅卷子系统,也成为一个重要的研究领域。现代网络考试作为一种新的考试手段已经开始进入人们的生活,正在给传统教育模式带来新的变革,并对教育的发展形成新的推动力。网络阅卷子系统突破了传统考试方式的时空限制,使阅卷方式更为灵活,同时充分利用计算机进行自动阅卷功能,大大减轻了教师的工作量。1.2 目的和意义现阶段,学校与社会上的各种考试大都采用传统的考试方式,在此
18、方式下,组织一次考试至少要经过五个步骤,即人工出卷,考生考试,人工阅卷,成绩评估和试卷分析。显然,随着考试类型的不断增加及考试要求的不断提高,教师的工作量将会越来越大,并且其工作将是一件十分烦琐和非常容易出错的事情,可以说传统的考试方式已经不能适应现代考试的需要。随着计算机应用的迅猛发展,网络应用不断扩大,如远程教育和虚拟大学的出现等等,且这些应用正逐步深入到千家万户。人们迫切要求利用这些技术来进行在线考试,以减轻教师的工作负担及提高工作效率,与此同时也提高了考试的质量,从而使考试更趋于公证、客观、更加激发学生的学习兴趣。例如目前许多国际著名的计算机公司所举办的各种认证考试绝大部分采用这种方式
19、。为了适应新形势的发展,我们推出了这一系统,使其尽快在各类考试中发挥高效,便捷的作用,把老师从繁重的工作中解脱出来。1.3 本文结构本文共分五个章节,系统地阐述了系统开发的全过程。第一章,主要介绍了开发的背景、目的和意义。第二章,主要介绍了本系统所用到的关键技术和工具,为下一步的设计的设计奠定基础。第三章,主要对系统进行需求分析并进行总体设计。需求分析阶段通过分析系统的功能模块的划分以及角色的划分,为系统的总体设计提供依据。总体设计阶段通过对数据库、过滤器、监听器、和实体类的设计,以及各个模块用例图的描述,形成了开发的整体思路。第四章,主要介绍了主要模块的设计与实现,并给出关键源代码和最终的效
20、果图。第五章,主要是对这次毕业设计的总结和对后续工作的展望。基于 JAVA 语言的在线考试系统设计-2-第 2 章 系统应用的关键技术2.1 JSP 技术介绍2.1.1 JSP 的描述JSP(Java Server Pages)是由 Sun Microsystems 公司倡导、许多公司参与一起建立的一种动态网页技术标准,类似于其他技术标准,如 ASP,PHP 等,主要用于开发动态网页内容。JSP 是新一代的动态内容编程技术,它继承了 Java 技术的“一次编写,随处运行”的特性,允许 Web 开发人员开发和维护与平台无关,信息丰富动态的 Web 页面,包括HTML,DHTML,XHTML 和
21、XML,它能使 Web 开发人员轻易搭建网络平台,建立起功能强大的 Web 网站。JSP 可以把用户界面从内容层次中分离出来,使得 Web 开发人员不必修改在底层的动态内容,就可以修改整体的页面布局。2.1.2 JSP 的运行机制JSP 文档被复制到 Web 服务器的文档目录中。当有人请求这个文档时,服务器识别出这个带有.jsp 扩展名的文档,并意识到需要做特殊处理。第一次请求这个文档时,它被编译成一个 servlet 对象,并存储在内存中,然后输出内容回送给发出请求的用户机。第一请求之后,只要有请求到来,服务器将进行检查,看看这个文件是否做过改动,如果没有变化,服务器调用先前编译过的 ser
22、vlet 对象。JSP 请求的步骤2 如图 2-1 所示。1. 用户机请求一个 JSP 页面。2. JSP 引擎编译该 JSP 成一个 servlet。Web浏览器JSP 页面生成的 servlet编译的 servletWeb 服务器2第一次编译3第二次编译1请求4响应图 2-1 一个 JSP 的请求步骤3. 生成的 servlet 被编译并装载。4. 编译的 servlet 服务请求并把一响应发送回用户机。JSP 主要是针对 Java 程序处理不熟悉的人设计的。与 Servlet 相比,JSP 有如下两个基于 JAVA 语言的在线考试系统设计-3-优势:方便与 HTML 混合;在开发、测试方
23、面比 Servlet 方便。2.1.3 JSP 的强势与劣势JSP 的强势:1. 可移植性。JSP 是用 Java 开发的,因此它是可移植的,可以一处编写,随处运行,支持多平台。2. 有效性。JSP 的初始化代码仅在 Web 服务器第一次加载时执行一次。一旦加载,在处理一个新的请求时,只须调用一个新的服务方法。与处理每个请求都要全部加载一个完整的可执行程序相比,这是一个相当有效的技术。3. 强大的可伸缩性和可扩充性。它能够在面向对象的语言(Java) 中进行开发,并可以在现有对象基础上进行扩展,形成新的对象,从而更好地满足用户的需求。4. 多样化和功能强大的开发工具支持。Java 已经有了许多
24、非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下。5. Java Servlet 是一种开发 Web 应用的理想框架。 JSP 以 Servlet 技术为基础,又在许多方面作了改进。利用跨平台的 JavaBeans 组件, JSP 为分离处理逻辑与显示样式提供了卓越的解决方案。JSP 的劣势:1. 为了跨平台的功能,为了极度的伸缩能力,极大的增加了产品的复杂性,Java 系统中包括 JRE,JDK,J2EE,EJB 等多种产品,这就需要大量的学习和培训才能掌握它们,将它们有效地搭配在一起,灵活地加以运用。2. Java 的运行速度快是由于用户将 class
25、 常驻内存,这样使用的内存空间就比较大。另一方面,它还需要硬盘空间来存储一系列.Java 文件和 .class 文件以及对应的版本文件。3. JSP 只有对 Java 相当熟悉的人才能用得很好。4. JSP 程序调试困难。2.1.4 JSP 与 ASP 的比较JSP 与 ASP(Active Server Page)两者都是常用的动态网页技术,也都是可以嵌入HTML 中的程序,但两者是有着本质的不同,主要从以下几个方面对其进行比较:1. Web 服务器的支持:大多数通用的 Web 服务器如:Apache、Netscape 和 Microsoft IIS 都支持 JSP 页面,只有微软本身的 M
26、icrosoft IIS 和 Personal Web Server 可以支持ASP。2. 平台的支持:JSP 具有平台独立性,只要是一般的 Java 程序可以运行的平台,都支持 JSP 程序。 Windows 平台可以很好的支持 ASP,但 ASP 对于基于 Win32 逐渐模型的依赖,使得它难于一直到其它平台上。3. 组件模型:JSP 是建立在可重用的、跨平台的组件(如:JavaBeans 、Enterprises JavaBeans 和用户定制的标签库等组件)之上的,而 ASP 使用的是基于 Win32 的 COM组件模型。4. 脚本语言:JSP 可以使用 Java 编程语言或 JavaScript 作为脚本语言,而 ASP 使用VBScript 或 Jscript 作为脚本语言。5. 安全性:JSP 使用 Java 安全模型,而 ASP 使用 Windows NT 的安全结构。6. 与 Access 数据库的连接:JSP 使用 JDBC 建立与 Access 数据库的连接,而 ASP对 Access 数据库使用 Data Active Objects。7. 用户定制的标签:JSP 可以使用用户定制标签库进行扩充,而 ASP 中没有用户定制标签库,ASP 是不能扩充的