




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、毕毕 业业 设设 计(论文计(论文) 题题 目:网络在线考试系统目:网络在线考试系统 英文题目:英文题目:Network Online Examination System 学生姓名:学生姓名: 专专 业:计算机网络技术业:计算机网络技术 班班 级:级: 指导老师:指导老师: 东华理工大学国际教育学院东华理工大学国际教育学院 二二 零零 壹壹 零零 年年 五五 月月 摘 要 随着计算机技术越来越深入而广泛的应用,无纸化考试实施在技术上已逐步 成熟。无纸化考试系统是一个不断发展的新型学科,任何一个单位要生存要发 展,要高效率地把内部考试有机地组织起来,就必须建立与自身特点相适应的 考试系统。 本
2、次所开发的基于 J2EE 的网络在线考试系统,主要采用 jsp 和 struts1,打 破了原有的考试模式,利用现有的网络资源构架出一种新的考试平台。简化了 原有考试中一系列复杂的操作,使得学生能够便捷的参加各种考试,不再受到 任何时空、地域的限制。结合本文毕业设计的具体开发实践,较深入的剖析了 网站的设计、开发与部署等整个流程,对以后的工作有了很好的指导和借鉴作 用。 论文结构由以下部分组成:首先,分析了在线考试系统的现状及发展趋势, 探讨了在线考试系统的开发模式和实现技术;其次,从技术可行性、软件开发 的概要设计、结构设计及详细设计的几大模块等方面进行了全面地介绍;最后, 初步地完成了在线
3、考试系统的开发。 关键字:J2EE;在线考试;jsp Abstract With more and more computer technology and extensive application of the technical implementation of paperless examinations has gradually matured. Paperless examination system is an evolving new discipline, any unit to survive is to develop high efficiency of the i
4、nternal examination organized organically, it must establish its own characteristics compatible with the examination system. The second is the development of network-based J2EE online examination system, mainly jsp and struts1, breaking the original test model, using the framework of existing networ
5、k resources, a new kind of test platform. Simplify a complex examination of the original operation, it allows students to participate in various examinations and convenient, is no longer any space-time, geographical boundaries. Combining examination of the design of specific development practices gr
6、aduation, more in-depth analysis of the sites design, development and deployment of the entire process, for later the work has good guidance and reference. Paper structure consists of the following components: First, the analysis of the online examination system status and development trend of the o
7、nline examination system development model and implementation techniques; Secondly, technical feasibility, develop the outline design software, structural design and detailed design several major modules such as a comprehensive introduction; Finally, the initial completion of the online examination
8、system development. Keywords: J2EE; online exam; 目 录 绪论.1 1网络在线考试系统可行性分析.2 1.1 经济可行性分析.2 1.2 技术可行性分析.2 1.3 运行可行性.2 2.网络在线考试需求分析.3 2.1 系统需求分析.3 2.2 系统功能需求.3 3.开发技术基础.4 3.1 JSP 技术简介.4 3.2 JAVA BEAN 技术.5 3.3 JDBC 技术.5 3.4 MVC 设计模式.6 3.5 STRUTS1.X技术.7 3.6 AJAX技术.7 4.网络在线考试系统总体设计.8 4.1 系统概要设计.8 4.2 系统结构设
9、计.9 4.3 系统数据库设计.10 5.网络在线考试系统详细设计与实现.12 5.1 数据库连接公用模块.12 5.2 前台首页界面.13 5.3 考生信息模块.13 5.3.1 考生注册.14 5.3.2 找回密码.15 5.3.3 修改个人资料.16 5.4 在线考试模块.17 5.4.1 在线考试.17 5.4.2 我的错题本.20 5.4.3 成绩查询.21 5.5 后台首页界面.21 5.5.1 管理员信息管理.22 5.5.2 考试题目管理.23 5.5.3 批量添加试题.25 5.5.4 课程信息管理.25 5.5.5 套题信息管理.26 5.5.6 考生信息管理.26 5.5
10、.7 考生成绩管理.27 6测 试.28 7结 论.29 致 谢.30 参考文献.31 绪论 在计算机技术、Internet 技术迅猛发展形式的推动下,给传统的办学提供 了新的模式。传统的考试时间长、效率低;同时人工批卷等主观因素也影响到 考试的公正性。随着网络技术在教育领域的普及,应用现代信息技术的网络在 线考试系统展现出了越来越多的优势,使教学朝着信息化、现代化的目标迈进。 在教育领域中深层次的应用,正逐步实现传统教育教学思想与理念的重大变革, 也创新了教育教学过程的很多方法与行为模式,网络在线考试系统正是这一背 景下的产物,这种无纸化网络考试模式使考务管理突破时空限制,使学校管理 者、教
11、师和学生可以在任何时候、任何地点通过网络进行考试,从而提高考试 工作效率。 同时,网络在线考试系统的整个设计与开发流程,对提高软件技术专业学 生综合运用所学的知识去解决实现问题具有重要的意义。网络在线考试系统已 经成为教育技术发展与研究的方向。 本课题的目标是通过在基于 J2EE 的开发环境中编写代码、用 tomcat 服务 器进行项目的布署与运行等过程,使学生更加牢固的掌握专业知识并灵活运用, 为以后从事 WEB 开发奠定了基础,并对以后的工作有了很好的指导和借鉴作用。 1 网络在线考试系统可行性分析 可行性分析的目的就是要用最小的代价在尽可能短的时间内确定问题是否 能够解决。通过分析解决的
12、利弊,来判定系统目标和规模是否现实,系统完成 后所能带来的效益是否达到值得去投资开发系统的程度。网络在线考试系统的 可行性包括以下几方面的内容。 1.1 经济可行性分析 长期的组织考试是各个院校及时掌握学生学习成绩的有效方式,利用网络 在线考试系统,一方面节省人力资源,降低考试成本;另一方面,在线考试系 统能够快速的进行考试和评分,体现出考试的公正性。 1.2 技术可行性分析 开发一个网络在线考试系统,涉及到的核心的技术问题就是如何实现在不 刷新页面的情况下实现考试时间及剩余时间,并做到到达考试结束时自动提交 试卷的功能。如果在 Ajax 技术出现之前要实现这些功能会比较麻烦,但现在通 过 A
13、jax 技术可以轻松实现这些功能,这为网络在线考试系统开发提供了技术保 障。 1.3 运行可行性分析 本网络在线考试系统经过设计、开发、测试,具体要求如下: 运行环境:Microsoft Windows XP 所需浏览器:IE 6.0 开发工具:MyEclipse 5.5.1 GA, Dreamweaver 8.0 数据库:SQL Server 2000 服务器: tomcat 6.0 辅助工具:Adobe Photoshop CS 2 网络在线考试系统需求分析 2.1 在线考试系统的需求分析 许多学校或考试机构使用了网络在线考试系统来降低管理成本和减少人力 物力的投入,同时,为考生提供更全面
14、、更灵活的使考生希望对自己的学习情 况进行客观、科学的评价;教务人员希望有效地改进现有的考试模式和考试效 率。为了满足考生和教务人员的需求,网络在线考试系统应该包含在线考试、 成绩查询等功能满足用户的需求。 2.2 在线考试系统的功能需求 (1)考生模块可以实现以下几方面的内容: a、考生注册、修改个人资料及找回密码 b、考生进入系统后可以进行在线考试 c、考生查询自己及所在班级的各科目成绩 d、我的错题本,记录你在考试中的错误试题 (2)管理员模块可以实现以下几方面的内容: a、对考生的删除 b、考试题目的添加与删除 c、课程信息与套题的添加与删除 c、管理员的添加 d、考生成绩查询,支持模
15、糊查询 3 开发技术基础 3.1 JSP 技术简介 JSP(JavaServer Pages)是一种基于 Java 的脚本技术。在 JSP 的众多优 点之中,其中之一是它能将 HTML 编码从 Web 页面的业务逻辑中有效地分离出 来。用 JSP 访问可重用的组件,如 Servlet、JavaBean 和基于 Java 的 Web 应用程序。JSP 还支持在 Web 页面中直接嵌入 Java 代码。可用两种方法访问 JSP 文件:浏览器发送 JSP 文件请求、发送至 Servlet 的请求。 JSP 文件访问 Bean 或其它能将生成的动态内容发送到浏览器的组件。 图 2-1 说明了该 JSP
16、 访问模型。当 Web 服务器接收到一个 JSP 文件请求时, 服务器将请求发送至 WebSphere 应用服务器。WebSphere 应用服务器 对 JSP 文件进行语法分析并生成 Java 源文件(被编译和执行为 Servlet) 。Java 源 文件的生成和编译仅在初次调用 Servlet 时发生,除非已经更新了原始的 JSP 文件。在这种情况下,WebSphere 应用服务器将检测所做的更新,并在执行它 之前重新生成和编译 Servlet。浏览器发送 JSP 文件请求如图 3.1 所示: 图 3.1 浏览器发送 JSP 文件请求 发送至 Servlet 的请求生成动态内容,并调用 JS
17、P 文件将内容发送到 浏览器。图 2-2 说明了该访问模型。该访问模型使得将内容生成从内容显示中 分离出来更为方便。WebSphere 应用服务器 支持 HttpServiceRequest 对象和 HttpServiceResponse 对象的一套新方法。这些方法允许调用的 Servlet 将一 个对象放入(通常是一个 Bean)请求对象中,并将该请求传递到另一个页面 (通常是一个 JSP 文件)以供显示。调用的页面从请求对象中检索 Bean, 并 用 JSP 来生成客户机端的 HTML。发送至 Servlet 的请求如图 3.2 所示: 3.2 Java Bean 技术 JavaBean
18、是描述 Java 的软件组件模型,有点类似于 Microsoft 的 COM 组 件概念。在 Java 模型中,通过 JavaBean 可以无限扩充 Java 程序的功能,通过 JavaBean 的组合可以快速的生成新的应用程序。对于程序员来说,最好的一点 就是 JavaBean 可以实现代码的重复利用,另外对于程序的易维护性等等也有很 重大的意义。JavaBean 通过 Java 虚拟机(Java Virtual Machine)可以得到正 确的执行,运行 JavaBean 最小的需求是 JDK1.1 或者以上的版本。JavaBean 传 统的应用在于可视化的领域,如 AWT 下的应用。自从
19、 Jsp 诞生后,JavaBean 更 多的应用在了非可视化领域,在服务器端应用方面表现出来了越来越强的生命 力。 使用 JavaBean 的原因程序中往往有重复使用的段落,JavaBean 就是为了 能够重复使用而设计的程序段落,而且这些段落并不只服务于某一个程序,而 且每个 JavaBean 都具有特定功能,当需要这个功能的时候就可以调用相应的 JavaBean。从这个意义上来讲,JavaBean 大大简化了程序的设计过程,也方便 了其他程序的重复使用。 3.3 JDBC 技术 JDBC API 用于连接 Java 应用程序与各种关系数据库。这使得人们在建立 客户/服务器应用程序时,通常把
20、 Java 作为编程语言,把任何一种浏览器作为 应用程序的友好界面,把 Internet 或 Intranet 作为网络主干,把有关的数据 库作为数据库后端。以下是使用 JDBC 的优缺点。 优点如下: JDBC API 与 ODBC 十分相似,有利于用户理解。 JDBC 使得编程人员从复杂的驱动器调用命令和函数中解脱出来,可以致 力 于应用 程序中的关键地方。 JDBC 支持不同的关系数据库,使得程序的可移植性大大加强。 用户可以使用 JDBC-ODBC 桥驱动器将 JDBC 函数调用转换为 ODBC。 JDBC API 是面向对象的,可以让用户把常用的方法封装为一个类,备后 用。 缺点如下
21、: 使用 JDBC,访问数据记录的速度会受到一定程度的影响。 JDBC 结构中包含了不同厂家的产品,这就给更改数据源带来了很大的麻 烦。 3.4 MVC 设计模式 MVC 是 Model-View-Controller 的简称,它是一种设计模式,它把应用程 序分成三个核心模块:模型、视图、控制器,它们各自处理自己的任务。 视图是用户看到并与之交互的界面,作用包括向用户显示相关的数据、接 受用户的输入、向模型查询业务状态、接受模型发出的数据更新事件,从而对 用户界面进行同步更新。模型表示业务数据和业务逻辑,是应用程序的主体部 分。一个模型能为多个视图提供数据,因此提高了代码的可重用性。 控制器接
22、受用户的输入并调用模型和视图去完成用户的需求。当 Web 用户 单击 Web 页面中的递交按钮来发送 HTML 表单时,控制器本身不输出任何东西和 做任何处理。控制器接收请求并决定调用哪个模型组件去处理请求,然后决定 调用哪个视图来显示模型处理返回的数据。MVC 的优点表现在如下几个方面: 首先,最重要的一点是多个视图能共享一个模型。同一个模型可以被不同 的视图重用,大大提高了代码的可重用性。由于 MVC 的三个模块相互独立,改 变其中一个不会影响其他两个,所以依据这种设计思想能构造良好的松偶合的 构件。此外,控制器提高了应用程序的灵活性和可配置性。控制器可以用来联 接不同的模型和视图去完成用
23、户的需求,这样控制器可以为构造应用程序提供 强有力的手段。 MVC 处理过程的结构图,见图 3-3。 图 3-3 MVC 处理过程 3.5 struts1.x 技术 Struts 是目前 Java Web MVC 框架中不争的王者。Struts 由一组相互协作 的类(组件) 、Serlvet 以及 jsp tag lib 组成。由于 Struts 实质上就是在 JSP Model2 的基础上实现的一个 MVC 框架,所以基于 struts 构架的 web 应用 程序基本上符合 JSP Model2 即 MVC 的设计标准。其中的模型是 JavaBean,控 制器是 ActionServlet、
24、Action,视图是 JSP、Struts 客户化标签。 Struts 控制器组件主要包括:充当 Struts 框架的中央控制器的 ActionServlet 组件、充当每个子应用模块的请求处理器的 RequestProcessor 组件、负责处理一项具体的业务的 Action 组件。其工作流程如图 3-4。 图 3-4 struts1 工作流程 Struts 的另一特点是使用 ActionForm Bean,ActionForm Bean 也是一种 JavaBean,除了具有一些 JavaBean 的常规方法,还包含一些特殊的方法,用于 验证 HTML 表单数据以及将其属性重新设置为默认值。
25、Struts 框架利用 ActionForm Bean 来进行 View 组件和 Controller 组件之间表单数据的传递。 JSP 文件使用 Struts 标签读取修改后的 ActionForm Bean 的信息,重新设置 HTML 表单。 3.6 ajax 技术 Ajax 是 Asynchronous JavaScript and XML 的缩写,意思是异步的 JavaScript 与 XML 中。Ajax 并不是一门新的语言或技术,它是 JavaScript、XML、CSS、DOM 等多种已有技术的组合,它可以实现客户端的异 步请求操作。这样可以实现在不需要刷新页面的情况下与服务器进
26、行通信的效 果,从而减少了用户的等待时间。 与传统的 Web 应用不同,Ajax 在用户与服务器之间引入了一个中间媒介(Ajax 引擎),从而消除了网络交互过程中的处理-等待-处理-等待的缺点。使 用 Ajax 的优点具体表现在以下几方面: 减轻服务器的负担。Ajax 的原则是“按需求获取数据” ,这可以最大程度 地减少冗余请求和响应对服务器造成的负担。 可以把一部分以前由服务器负担的工作转移到客户端,利用客户端闲置的 资源进行处理,减轻服务器和带宽的负担,节约空间和成本。 无刷新更新页面,从而使用户不用再像以前一样在服务器处理数据时,只 能在死板的白屏前面焦急的等待。Ajax 使用 XMLH
27、ttpRequest 对象发送请求并 得到服务器响应,在不需要重新载入整个页面的情况下,就可以通过 DOM 及时 将更新的内容显示在页面上。 可以调用 XML 等外部数据,进一步促进页面显示和数据的分离。 基于标准化的并被广泛支持的技术,不需要下载插件或者小程序 4 网络在线考试系统总体设计 4.1 在线考试系统的概要设计 本考试系统的开发主要包括:考试系统的总体结构如图 4-1 所示: 网络在线考试系统的前台 考 生 注 册 找 回 密 码 在 线 考 试 我 的 错 题 本 修 改 个 人 资 料 成 绩 查 询 退 出 系 统 考 试 规 则 选 择 课 程 准 备 考 试 开 始 考
28、试 自 动 阅 卷 显 示 成 绩 个 人 成 绩 班 级 成 绩 网络在线考试系统的后台 管 理 员 信 息 考 生 信 息 管 理 考 生 成 绩 查 询 我 的 错 题 本 课 程 信 息 管 理 套 题 信 息 管 理 批 量 添 加 试 题 退 出 后 台 管 理 图 4.1 综合系统框架图 4.2 在线考试系统的结构设计 服务器响应客户端的工作过程,如图 4.2 所示: 本系统属于跨平台的多层 Web 应用程序。在开发过程中采用了 Java 的跨 平台解决方案作为程序的整体开发框架。从整体上采用了 B/S 结构,分成三层, 即:视图层、服务器层、数据库层。其中数据库层采用了中型 S
29、QL 数据库服务 器 SQL2000,检索速度快是它最大的优势,以完成对数据的存储和维护。在服 务器层中采用了 Java 中的 JavaBean 技术作为中间层开发手段和 strut、JSP 技术用以完成对 Java 服务器页面的调用。在视图层中采用了 Ajax、JavaScript 等技术来实现复杂的动态界面展示。 4.3 在线考试系统的数据库设计 根据用户角色和系统实现的功能,本系统数据库设计了一个 online_exam 数据库。 采用的数据库是 Microsoft SQL SERVER 2000,包含如下几个表文件: tb_StuResult 表:用于实现对学生成绩的查询。tb_Stu
30、Result 表的结构, 如表 1 所示: 表 1 tb_StuResult 的结构 字段名称类型是否为空长度缺省值主键说明 idbigintNo8 是Id 号(自动增 长)stuIdvercharNo16 考生 id whichLessonvarcharNo60 选择的课程 resSingleintNo4 单选题分数 resMoreintNo4 多选题分数 resTotalintYes4 总分数 joinTimedatetimeNo8getdate() 添加时间 tb_Student 表:用于实现对学生信息的添加、修改和删除。tb_Student 表 的结构,如表 2 所示: 表 2 tb_
31、Student 的结构 字段名称类型可否为空长度缺省值主键说明 idvercharNo16 是考生学号 namevercharNo20 考生姓名 pwdvarcharNo20 考生密码 sexvarcharNo2 考生性别 joinTimedatetimeNo8getdate() 添加时间 questionvarcharNo50 提示问题 answervarcharNo50 问题答案 professionvarcharYes30 专业 cardNovarcharNo18 身份证号 tb_manager 表:用于管理员的管理。tb_manager 表的结构,如表 3 所示: 表 3 tb_man
32、ager 的结构 字段名称类型是否为空长度缺省 值 主键说明 IDbigintNo8 是管理员 id(自动增长) namevarcharNo30 管理员用户名 PWDvarcharNo30 管理员密码 tb_TaoTi 表:用于实现对套题的添加、修改和删除操作。tb_TaoTi 表的结 构,如表 4 所示: 表 4 tb_TaoTi 的结构 字段名称类型可否为空长度缺省值主键说明 IDbigintNo8 是ID 号(自动增长) NamevercharNo50 套题名称 LessonIDbigintNo8 所属课程 JoinTimedatetimeNo8getdate() 添加时间 tb_Les
33、son 表:用于实现对课程信息的添加、修改和删除操作。tb_Lesson 表 的结构,如表 5 所示: 表 5 tb_Lesson 的结构 字段名称类型可否为空长度缺省值主键说明 IDbigintNo8 是ID 号(自动增长) NamevercharNo60 课程名称 JoinTimedatetimeNo8getdate() 添加时间 tb_CuoTi 表:用于实现对错题信息的添加操作。tb_CuoTi 表的结构,如表 6 所示: 表 6 tb_CuoTi 的结构 字段名称类型可否为空长度缺省值主 键 说明 idbigintNo8 是问题 Id(自动增长) subjectvarcharNo50
34、 试题 answervarcharNo10 答案 notevarcharYes50 备注 stuIdvarcharNo16 考生 ID tb_Questions 表:用于实现对试题的添加、修改和删除操作。 tb_Questions 表的结构,如表 7 所示: 表 7 tb_Questions 的结构 字段名称类型可否为空长度缺省值主 键 说明 idbigintNo8 是问题 Id(自动增 长) subjectvarcharNo50 问题 typecharNo6 类型 joinTimedatetimeNo8getdate() 添加时间 lessonIdintNo4 所属课程 ID taoTiId
35、bigintNo8 所属套题 ID optionAvarcharNo50 选项 A optionBvarcharNo50 选项 B optionCvarcharNo50 选项 C optionDvarcharNo50 选项 D answervarcharNo10 答案 notevarcharYes50 备注 5. 在线考试系统的详细设计与实现 5.1 数据库连接公用模块 在本考试系统中,我把数据库参数写入一个名为 connDB.properies 的配置 文件中,这样在程序运行时如果环境发生了变化,可以方便地修改数据库配置。 connDB.properies 内容如下: DB_CLASS_NA
36、ME=com.microsoft.jdbc.sqlserver.SQLServerDriver DB_URL=jdbc:microsoft:sqlserver:/localhost:1433;DatabaseName=online_ exam DB_USER=sa DB_PWD= 通过输入输出流来加载资源文件获取数据库连接的信息,方便移植。实现 代码如下: InputStream in = getClass().getResourceAsStream(propFileName); prop.load(in); / 通过输入流对象加载 Properties 文件 dbClassName = pr
37、op.getProperty(DB_CLASS_NAME); dbUrl = prop.getProperty(DB_URL, dbUrl); dbUser = prop.getProperty(DB_USER, dbUser); dbPwd = prop.getProperty(DB_PWD, dbPwd); 5.2 前台首页界面 考生通过“考生登录”模块的验证后,可以登录到网络在线考试系统的前台首页,主 要用于实现前台功能导航,在该页面中只包括在线考试、成绩查询、我的错题本、修改个 人资料和退出系统等导航链接。 图 5-1 前台首页界面 5.3 考生信息模块 考生信息模块主要包括考生注册、
38、考生登录、修改个人资料以及找回密码等 4 个功能。考生首先要注册为网站用户,然后才被授权登录网站进行一系列操作 的权限;登录后考生还可以修改个人的注册资料。如果考生忘记了登录密码, 还可以通过网站提供的找回密码功能快速找回密码。考生信息模块的系统流程 图如图 5-2 所示。 5.3.1 考生注册模块 运行网络在线考试系统,首先进入的是考生登录页面,在该页面中单击 “注册”按钮,即可进入考生注册页面,在该页面中输入个人资料及密码,如 图 5-3 所示,单击“保存”按钮,系统将根据您输入的身份证号进行验证是否 已经注册,如果没有注册,将弹出如图 5-4 所示的提示框,否则将进入到如图 5-5 所示
39、的页面。并且对各个域进行了 javascipt 验证,如考生姓名只能输入 中文,身份证号只能是 15 位或 18 位等。 图 5-3 考生登录页面的运行结果 图 5-4 注册成功对话框 图 5-5 注册失败对 相关代码: String sql1=SELECT * FROM tb_Student WHERE cardNo=+s.getCardNo()+; ResultSet rs = conn.executeQuery(sql1);/执行SQL查询语句 String sql = ; String flag = miss;/用于记录返回信息的变量,默认为注册失败 try if (rs.next()
40、 flag=re;/表示考生信息已经注册 else sql = INSERT INTO tb_Student(ID,name,pwd,sex,question,answer,profession,cardNo) values( + s.getID()+ , +s.getName()+,+s.getPwd()+,+s.getSex()+,+s.getQuestion()+ ,+s.getAnswer()+,+s.getProfession()+,+s.getCardNo()+); int ret= conn.executeUpdate(sql);/保存考生注册信息 if(ret=0) flag=
41、miss;/表示考生注册失败 else flag=恭喜您,注册成功!r请记住您的信息; conn.close(); catch (Exception e) flag=miss; System.out.println(添加考生信息时的错误信息: +e.getMessage(); 5.3.2 找回密码模块 运行网络在线考试系统时,首先进入的是考生登录页面,在页面中单击 “找回密码”按钮,即可进入到找回密码第一步页面,用于输入准考证号,在 该页面中输入准考证号,如图 5-6 所示。单击“下一步”按钮,即进入到找回 密码第二步页面,用于输入密码提示问题答案,在该页面的“密码提示问题” 文本框中将显示提
42、示问题,在“密码提示答案”文本框中输入密码提示问题的 答案,如图 5-7 所示。单击“下一步”按钮,进入到找回密码第三步页面,用 于显示找回的密码,如图 5-8 所示。 图 5-6 找回密码第一步 图 5-7 找回密码第二步 图 5-8 找回密码第三步 相关代码: String sql=SELECT * FROM tb_Student WHERE ID=+s.getID()+; ResultSet rs = conn.executeQuery(sql); try if (rs.next() s.setID(rs.getString(1); s.setQuestion(rs.getString(
43、6); else s.setID();catch(Exception e) System.out.println(找回密码(第一步)出现的错误信息:+e.getMessage(); 5.3.3 修改个人资料模块 当通过自己的学号和密码登录网站系统后,可以单击“修改个人资料”链 接即可。如图5-9所示。 图5-9 修改个人资料 相关代码: String sql=UPDATE tb_Student SET pwd=+s.getPwd()+,sex=+s.getSex()+,question=+s.getQuestion() +,answer=+s.getAnswer()+,profession=+
44、s.getProfession()+ where ID=+s.getID()+; int ret=conn.executeUpdate(sql); System.out.println(修改考生资料时的SQL:+sql); conn.close(); return ret; 5.4 在线考试模块 在线考试模块的主要功能是允许考生在网站上针对指定的课程进行考试。 在该模块中,考生首先需要阅读考试规则,在同意所列出的考试规则后,才能 选择考试课程,在选择考试课程后,系统将承受机抽取试题,然后进入考试页 面进行答题,当考生提交试卷或者到达考试结束时间时,系统将自动对考生提 交的试卷进行评分,并给出最
45、终考试成绩。在线考试模块的系统流程如图 5-10 所示。 5.4.1 在线考试模块设计 选择考试课程的实现 考生登录到网络在线考试的前台首页后,单击“在线考试”链接,将进入 到考试规则页面,在页面中单击“同意”按钮,即可进入到选择考试课程页面, 在该页面中将以下拉列表框的形式显示需要参加考试的课程,如图 5-11 所示。 如果没有需要考试的课程,系统将给出提示对话框,并返回网络在线考试的前 台首页。 图 5-11 选择考试课程的运行结果 相关代码: List lessonList = new ArrayList(); LessonForm lessonForm1 = null; String
46、sql = SELECT * FROM tb_Lesson WHERE ID in(SELECT distinct lessonID FROM + (SELECT lessonId,taoTiId FROM tb_Questions GROUP BY taoTiId,lessonId,type) + as lessonTaoTi GROUP BY lessonId,taoTiId HAVING COUNT(taoTiId) 1) AND+ Name not in (SELECT distinct whichLesson FROM tb_StuResult WHERE stuId=+ stude
47、ntID + ); ResultSet rs = conn.executeQuery(sql); try while (rs.next() lessonForm1 = new LessonForm(); lessonForm1.setID(rs.getInt(1); lessonForm1.setName(rs.getString(2); lessonList.add(lessonForm1); catch (Exception ex) return lessonList; 随机抽取试题并显示试题的实现 考生登录到网络在线考试系统的前台首页后,单击“在线考试”链接,将 进入到考试规则页面,在该
48、页面中单击“同意”按钮,进入到选择考试课程页 面,在该页面中选择要考试的课程,单击“确定”进入到准备考试页面,在该 页面中,单击“开始考试”按钮,将关闭当前窗口,并打开新的窗口显示试题, 如图 5-12 所示。 图 5-12 随机抽取试题并显示试题的运行结果 相关代码: int questionsID = 0; String sql = SELECT taoTiId FROM (SELECT distinct lessonId,taoTiId from + (SELECT lessonId,taoTiId FROM tb_questions GROUP BY taoTiId,lessonId,
49、type) + as lessonTaoTi GROUP BY lessonId,taoTiId having count(taoTiId) 1)as temp+ WHERE lessonId= + lessonID + ;/执行查询语句 ResultSet rs = conn.executeQuery(sql); int i = 0; try rs.last(); int recordNum = rs.getRow();/获取总记录数 rs.first(); int id = new intrecordNum; do idi = rs.getInt(1); /套题ID i+; while (
50、rs.next(); int rand = Math.abs(new Random().nextInt(id.length);/随机抽取下标 值 questionsID = idrand; 自动阅卷并显示考试成绩的实现 在显示试题页面中,单击“交卷”按钮或是到达考试结束时,系统将自动 阅卷并将考试成绩以对话框形式反馈给考生。如图5-13所示。 图 5-13 显示考试成绩对话框 相关代码: String lesson = (LessonForm) lessonDAO.query(lessonID).get(0).getName(); String sql = INSERT INTO tb_Stu
51、Result (stuId,whichLesson,resSingle,resMore) values(+ studentID + , + lesson + ,0,0); /根据课程ID获取课程名称 System.out.println(刚开始考试时保存考试结果的SQL语句: + sql); int ret = conn.executeUpdate(sql); 5.4.2 我的错题本模块 当考生提交完试卷后,将会把做错的题目记录到自己的错题本中。如图 5- 14 所示。 图 5-14 我的错题本 相关代码: List cuoTiList = new ArrayList(); CuoTiForm
52、 cuoTiForm = null; String sql = select * from tb_CuoTi where stuId= + cuoTiStuId + ; ResultSet rs = conn.executeQuery(sql); try while (rs.next() cuoTiForm = new CuoTiForm(); cuoTiForm.setSubject(rs.getString(2); cuoTiForm.setAnswer(rs.getString(3); cuoTiForm.setNote(rs.getString(4); cuoTiList.add(cu
53、oTiForm); catch (Exception ex) System.out.println(查询错题时产生的错误: + ex.getMessage(); 5.4.3 成绩查询模块 成绩查询模块包括个人成绩查询和所在班级成绩查询。如图 5-15 所示。 图 5-15 个人成绩和班级成绩查询 相关代码: if(stuId.equals() sql = SELECT * FROM tb_StuResult ORDER BY joinTime DESC; else sql = SELECT * FROM tb_StuResult WHERE stuId= +stuId+ ; 5.5 后台首页界
54、面 网络在线考试系统的后台首页是管理员对网站信息进行管理的首页面。在 该页面中,管理员可以清楚地了解网站后台管理系统包含的基本操作。网络在 线考试系统后台首页包含的主要模块如下: 管理员信息管理:主要包括管理员信息列表、添加管理员、修改和删除管理 员。 考生信息管理:主要包括查看注册考生信息列表和删除已注册的考生信息。 考生成绩查询:主要用于根据学号、考生课程或考试时间模糊查询考生成绩。 课程信息管理:主要包括查看课程列表、添加课程信息和删除课程信息。 套题信息管理:主要包括查看套题信息列表、添加套题信息、修改和删除套 题信息。 考试题目管理:主要包括查看考试题目列表、添加、修改和删除考试题目
55、。 批量添加试题:主要用于将记事本中的题目导入到试题库中。 退出管理:主要用于退出后台管理系统 为了方便管理员管理,在网络在线考试系统的后台首页中显示考生成绩查 询页面,其运行结果如 5-16 所示。 图 5-16 网络在线考试系统的后台首页运行结果 5.5.1 管理员信息模块 管理员信息模块主要包括管理员信息列表、添加管理员、修改和删除管理员。 如图 5-17 所示。 图 5-17 管理员信息模块 相关代码: if(id=0) sql = SELECT * FROM tb_manager; else sql = SELECT * FROM tb_manager WHERE id= +id+
56、; /用于修改管理 员密码 String sql1=SELECT * FROM tb_manager WHERE ame=+managerForm.getName()+;/用于管理员更新密码 5.5.2 考试题目管理模块 考试题目管理模块主要包括查看考试题目列表、添加考试题目、修改考试 题目信息和删除考试题目信息等4个功能。如图5-18所示。 图 5-18 考试题目管理界面 查看考试题目列表的实现 单击“考试题目管理”链接后,将访问一个 URL 地址,从该 URL 地址中得 知,查看考试题目列表涉及到的 action 的参数值为 questionsQuery,当 action=question
57、Query 时,会调用查看考试题目列表的方法 questionsQuery()。 在该方法中首先调用 QuestionDAO 类中的 query()方法查询全部考试题目,再 将返回的查询结果保存到 HttpServletRequest 对象的参数 questionsQuery 中。 相关代码如下: if (id = 0) sql = SELECT * FROM tb_questions ORDER BY lessonId DESC,taoTiId DESC,type; else sql = SELECT * FROM tb_questions WHERE id= + id + ; 添加考试题目
58、的实现 在添加考试题目页面中输入考试题目后,单击“保存”按钮,会调用添加 考试题目的方法 questionsAdd()。在该方法中,首先需要将接收到的表单信息 强制转换成 ActionForm 类型,再调用 QuestionDAO 类中的 insert 方法保存考 试题目信息,并根据执行结果将页面转到相应的页面。界面如图 5-19 所示。 图 5-19 添加考试题目 相关代码: sql = INSERT INTO tb_questions (subject,type,lessonId,taoTiId,optionA,optionB,optionC,optionD,answer,n ote) v
59、alues(+ q.getSubject()+ ,+ q.getType()+ , + q.getLessonId()+ , + q.getTaoTiId()+ ,+ q.getOptionA()+ ,+ q.getOptionB()+ ,+ q.getOptionC()+ ,+ q.getOptionD()+ ,+ answer + , + q.getNote() + ); 删除考试题目的实现 单击“删除”链接时,访问 /manage/questions.do?action=questionDel,会调用删除考试题目的方法 questioniDel(),在该方法中,首先需要将接收到的表单信息
60、强制转换成 ActionForm 类型,再调用 QuestionsDAO 类中的 delete()方法删除考试题目信 息,并根据执行结果将页面转到相应的页面。界面如图 5-20 所示。 相关代码: if (delId.length 0) String id = ; for (int i = 0; i 1) AND+ Name not in (SELECT distinct whichLesson FROM tb_StuResult WHERE stuId=+ studentID + );/课程 信息管理 SQL 5.5.5 套题信息管理模块 该模块主要包括查看套题信息列表、添加套题信息、修改和
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 陕西师范大学《中学体育教材教法》2023-2024学年第一学期期末试卷
- SCI论文写作与投稿 第2版-课件 7-SCI论文摘要写作
- 陕西理工大学《艺术素养拓展(美术一)》2023-2024学年第二学期期末试卷
- 陕西省商洛市第3中学2025届高中毕业班第二次模拟考试语文试题含解析
- 陕西省度西安中学2024-2025学年3月高三线上自我检测试题英语试题含解析
- 陕西省渭南市韩城市2024-2025学年高三下学期第二次月考试题生物试题含解析
- 陕西省西安交通大学附中2025届高中毕业班综合测试(二)历史试题含解析
- 陕西省西安市莲湖区七十中2025届高三下学期期中联考物理试题(创新班)试题含解析
- 扁腺双切护理
- 小学生舌尖上的浪费教育
- 信访工作条例应知应会考试题库300题(含答案)
- 工商业分布式光伏屋面勘察要点
- 2022教学能力大赛《智能网联汽车传感器测试与装调》实施报告
- 商务会客厅项目策划书
- 2024年全球电动自行车销量飙升
- 产业工人安全培训考试附有答案
- 钩虫病护理课件
- 加油机维修保养记录表
- 新视野大学英语(第四版)读写教程4(思政智慧版)课件 Unit1 Urban development Section A
- 形势与政策(吉林大学)智慧树知到课后章节答案2023年下吉林大学
- 23秋国家开放大学《民法学(2)》形考任务1-4参考答案
评论
0/150
提交评论