jsp在线考试系统_第1页
jsp在线考试系统_第2页
jsp在线考试系统_第3页
jsp在线考试系统_第4页
jsp在线考试系统_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

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

文档简介

基于JSP的在线考试系统的设计与实现 赵杰 陕理工计算机系计算机科学与技术专业 051 班 陕西 汉中 723000 指导教师 曹记东 摘要 人类进入 21 世纪 信息技术和网络技术的迅速发展和广泛应用 对社会的政治 经济 军事 科技 和文化等领域产生越来越深刻的影响 也正在改变着人们的工作 生活 学习和交流方式 本文主要论述了如何利用 JSP Java Server Pages 技术进行考试资源网站的开发 作为动态网站的设计 与数据库是分不开的 网站采用 SQL Server 2000 数据库作为后台数据库 在开发中严谨地遵循软件工程学 的原理 在设计上具有友好的交互界面 管理员可以在管理界面上对后台数据进行更改 从而改变用户界面 的内容 在用户界面上网站提供了最新考试信息 考试资料下载 在线考试等功能 使得人们利用在 Internet 上获得重要的信息来改变传统的学习方式 关键词 JSP 数据库 网站开发 Abstract The mankind enters 21st century information technology and rapid development and extensive application politics economy military science and technology and culture of the society of network technology etc field exert a deeper and deeper influence changing people s work life study and exchange way too This text expound the fact how utilize JSP Java Server Pages technology go on have an examination resource development of website mainly the design as dynamic website can not be separated from that the database is websites adopt Sql server 2000 database as backstage supporter s database the principle of following engineering of software in developing rigorously have friendly mutual interfaces in the design the administrator can change backstage supporter s data in managing interfaces thus change the content of user s interface website offer latest examination information have an examination materials download person who have an examination function online at user interface make people utilize and obtain important information on Internet to change the traditional study way KeywordKeyword JSP Database Website s development 目录目录 1 课题描述 8 2 系统分析 9 2 1 需求分析 9 2 2 功能分析 9 2 3 可行性研究 10 3 系统总体设计 11 3 1 系统目标 11 3 2 系统功能结构 11 3 3 业务流程图 12 3 4 系统开发语言 12 3 4 1 JSP 的基本概念 13 3 4 2 Ajax 技术 13 3 5 系统预览 13 3 6 开发环境 15 4 数据库设计 16 4 1 数据库分析 16 4 2 数据库概念设计 16 4 3 数据库逻辑结构 17 4 3 1 各数据表的结构 17 4 4 数据表之间的关系设计 19 5 公共类设计 20 5 1 数据库连接及操作类的编写 20 5 2 字符串处理类 22 6 功能模块设计 23 6 1 前台首页设计 23 6 1 1 前台首页概述 23 6 1 2 前台首页技术分析 23 6 1 3 前台首页的实现过程 24 6 2 考生信息模块设计 24 6 2 1 考生信息模块概述 24 6 2 2 考生信息模块的技术分析 25 6 2 3 考生注册的实现过程 25 6 2 4 找回密码的实现过程 28 6 3 在线考试模块设计 29 6 3 1 在线考试模块的概述 29 6 3 2 选择考试课程的实现过程 29 6 3 3 随机抽取实体并显示试题的实现过程 30 6 3 4 自动阅卷并显示考试成绩的实现过程 31 6 3 5 单元测试 32 6 4 台首页设计 33 6 4 1 后台首页概述 33 6 4 2 后台首页分析 34 6 4 3 后台首页的实现过程 34 6 5 考试题目管理额模块设计 34 6 5 1 考试题目管理模块的概述 34 6 5 2 考试题目管理模块的技术分析 35 6 5 3 查看考试题目列表的实现过程 36 6 5 4 添加考试题目的实现过程 37 6 5 5 删除考试题目的实现过程 37 7 软件测试 39 7 17 1 功能测试功能测试 39 7 2 性能测试 40 7 3 可用性测试 40 7 4 客户端兼容性测试 40 结 论 42 致谢 43 参考文献 44 1 1 课题描述课题描述 在线考试系统课题产生的背景是当今教育信息化的趋势及我国高校教育信息化系统的 建设 目的是充分利用学校现有的计算机软 硬件资源和网络资源实现无纸化考试以避免 传统手工考试的不足 与传统考试模式相比 网上考试渗入了更多的技术环节 对实现安 全性的途径 方法也提出了更高的技术要求 通过 Internet Intranet 来实现网上考试 是现 代教育技术的一个具体实现 具有很重要的现实意义 可以有效利用校园网的软硬件资源 使其发挥最大效力 更好的为学校的教学 科研 管理服务 可以大规模的实行考试 实 现考试的客观 公证性 自动化组卷 阅卷可以减轻教师的工作强度 传统考试要求老师 刻试卷 印试卷 安排考试 监考 收集试卷 评改试卷 讲评试卷和分析试卷 这是一 个漫长而复杂的过程 已经越来越不适应现代教学的需要 在计算机技术迅猛发展下 给传统的办学提供了新的模式 传统的考试方式时间长 效率低 同时人工批卷等主观因素也影响到考试的公正性 这种无纸的在线考试系统 使 教务管理突破了时空限制 提高了考试效率和标准化水平 使学校管理者 教师和学生可 以在任何时候 任何地点通过网络进行考试 在线考试系统已经成为教育技术发展与研究 的方向 2 2 系统分析系统分析 2 12 1 需求分析需求分析 随着社会经济的发展 人们对教育越来越重视 考试是教育中的一个重要环节 近几 年来随着考试类型不断增加以及考试要求不断提高 传统考试方式要求教师打印考卷 监 考 批卷 使教师的工作量越来越大 并且这些环节由于全部由人工完成 非常容易出错 因此 许多学校或考试机构建立网络在线考试网站来降低成本和人力物力的投入 同时为 考生提供了更全面更灵活的服务 考生希望对自己的学习情况进行客观科学的评价 教务 人员希望有效的改进现有的考试模式 提高考试效率 为了满足考生和教务人员的要求 在线考试系统应包含在线考试成绩查询等功能以满足用户的需求 在传统的学校教学中 进行一场考试 要求老师刻试卷 印试卷 安排考试 监考 收集试卷 评改试卷 讲评试卷和分析试卷 这是一个繁杂的过程 需要大量人力 物力 与时间的投入 已经越来越不适应学校信息化建设与现代教学的需要 尤其在远程网络教 学中 学生分布广 不易统一集中安排考试 给校方和学生带来了众多的不便 当前盛行的在线考试系统 正是信息化建设的产物 它是传统考场的延伸 它可以利 用互联网络和局域网 随时随地的对学生进行考试 评分 加上数据库技术的利用 使得 管理过程简化 能够轻松实现查询 控制等功能 因此在线考试是信息化教学的不可缺少 的辅助手段 显然 无论采取何种方式 首要考虑的是安全性能 为此 本系统在 SSL 协 议下完成了在线考试 数据 信息 资料等得以安全稳定的传输 2 22 2 功能分析功能分析 本网站采用 B S Browser Server 即浏览器 服务器网络体系结构 在这种结构下 用 户工作界面通过 www 浏览器来实现 极少部分事务逻辑在前端 Browser 实现 客户端 只需要一个浏览器 而将所有的业务规则 数据处理等放在服务器端进行 这在维护和开 发上变得简单 容易 所有的操作只需要针对服务器进行就可以 使得成本降低 并且可 选择的服务器操作系统是不受限制的 1 用户类别 登录系统的身份定为四种 一是超级管理员 二是学校领导 三是一般 管理员 普通老师 四是学生 只有被授权的用户才可以使用本系统的资源 2 权限管理 系统需要经过有效的身份验证可以登录 用户的身份不同 使用的系统 资源也不同 考生只可以参加在线考试 一般管理员 普通教师 可以在线制作试卷 进行 考生管理 添加学生信息 控制考试 成绩查询等 学校领导可添加院系 教师 部门 科目信息及查询修改管理员信息及审批试卷 查询考生信息 超级管理员拥有整个系统的 全部使用权限 但查询修改管理员信息的权限例外 3 在线考试功能 考生输入准号证号登陆系统后 选择对应的试卷可进行考试 答题 完毕后 可自动交卷 系统将自动评分 考生可同时获得考试成绩 4 在线制作试卷 一般管理员 教师 学校领导和超级管理员可在线制作试卷 可 设定试题的类型 难易程度 分值 5 控制考试功能 可设定每次的考试时间 可禁止或允许考生参加考试 同时可查看 考生的考试状态 6 考生管理功能 可注册新增学生用户 同时查看个别考生及班级考生的信息 也可 设定考生的考试状态 允许或禁止考试 7 考生成绩查询功能 提供考生各科目成绩的详细查询 8 试卷审批功能 超级管理员及学校领导有此权限 教师制作试卷完毕 只有经过超 级管理员或学校领导审批后才能发布 发布后学生才能开考 9 系统管理功能 一般管理员只可更改登陆密码 超级管理员及学校领导除更改密码 外 同时具有高级管理功能 进行添加和删除管理员的帐号 2 32 3 可行性研究可行性研究 可行性分析的目的就是要用最小的代价在尽可能短的时间内确定问题是否能够解决 通过分析解决分析方法的利弊来判定系统目标和规模是否现实 系统完成后所能带来的效 益是否达到值得去投资开发这个系统的程度 在线考试系统的可行性应从以下方面考虑 经济可行性 定期的组织考试是各个院校及时掌握学生学习成绩的有效方式 利用网络在线考试系 统一方面可以节省人力资源降低考试成本 另一方面 在线考试系统能够快速的进行考试 和评分 体现考试的客观与公正性 技术可行性 开发一个在线考试系统涉及到的核心的技术问题就是如何实现在不断刷新页面的情况 下实时显示考试时间和剩余时间 并做到到达考试结束时间自动提交试卷的功能 如果在 Ajax 技术出现以前 要实现这些功能比较麻烦 但现在可以轻松实现这些功能 这为网络 在线考试系统的开发提供了技术保障 3 3 系统总体设计系统总体设计 3 1 系统目标系统目标 根据前面所做的要求分析及用户的需求可知 网络在线考试系统属于中小型的软件 在系统实 施后 应达到以下目标 具有空间性 被授权的用户可以在异地登录网络考试在线系统 而无需到指定地点进行考试 操作简单方便 界面简洁美观 系统提供考试时间倒计时功能 使考生实时了解考试剩余时间 随即抽取试题 实现自动提交试卷功能 当考试时间到达规定时间时 如果考生还未提交试卷 系统将自动交卷 以保证考试严肃 公正地进行 系统自动阅卷 保证成绩真实准确 考生可以查询考试成绩 系统运行稳定 安全可靠 3 23 2 系统功能结构系统功能结构 根据网络在线考试系统的特点 可以将其分为前台和后台两个部分进行设计 前台主要用于考 生注册和登录系统 在线考试 查询成绩及修改个人资料等 后台主要用于管理员对考生信息 课 程信息 考题信息 和考生成绩信息等进行管理 在线考试系统的前台功能结构如图 3 1 所示 在线考试系统的后台功能结构如图 3 2 所示 在线考试系统的前台 考 生 注 册 找 回 密 码 在 线 考 试 成 绩 查 询 修 改 个 人 资 料 退 出 系 统 考 试 规 则 选 择 课 程 准 备 考 试 开 始 考 试 自 动 阅 卷 显 示 考 试 成 绩 图 3 1 在线考试系统的前台功能结构图 在线考试系统的后台 管 理 员 信 息 管 理 考 生 试 信 息 管 理 考 生 成 绩 查 询 课 程 信 息 管 理 套 题 信 息 管 理 考 试 题 目 管 理 退 出 后 台 管 理 图 3 2 在线考试系统的后台功能结构图 3 33 3 业务流程图业务流程图 在线考试的系统流程如图 3 3 所示 找回密码 注册 登录 前台 首页 成绩查询 在线考试 修改个人资料 选择考试课 程 准备考试 自动阅卷并显示成绩 考生成绩查询 考生信息管理 管理员信息管理 提交试卷开始考试 同意规 则 登录 后台 首页 hou 课程信息管理 试题管理 管 理 员 考 生 图 3 3 系统流程图 3 43 4 系统开发语言系统开发语言 本次设计是基于 Jsp 的在线考试系统 主要利用了 Jsp 技术 Ajax 技术和 SQL server2000 数 据库开发完成的 3 4 13 4 1 JSPJSP 的基本概念的基本概念 Java Server Pages JSP 技术提供了一种简单快速的方法来创建显示动态生成内容的 Web 页面 由业界处于领先地位的 Sun 公司制定了相关的 JSP 技术规范 该规范定义了如何在服务器 和 JSP 页面间进行交互 还描述了页面的格式和语法 JSP 页面使用 XML 标签和 scriptlets 一种使用 Java 语言编写的脚本代码 封装了生成 页面内容的逻辑 它将各种格式的标签 HTML 或者 XML 直接传递回响应页面 通过这种方式 JSP 页面实现了页面逻辑与其设计和显示的分离 JSP 技术是 Java 系列技术的一部分 JSP 页面被编译成 servlets 并可能调用 JavaBeans 组件 beans 或 Enterprise JavaBeans 组件 企业 beans 以便在服务器端处理 因此 JSP 技术在构建可升级的基于 web 的应用程序时扮演了重要角色 JSP 页面并不局限于任何特定的平台或 web 服务器上 JSP 规范在业界有着广泛的适应性 JSP 的效率和安全性更高 JSP 的组件 Component 方式更方便 JSP 的适应平台更广 3 4 23 4 2 AjaxAjax 技术技术 Ajax 是 Asynchronous JavaScript and XML 的缩写 意思是异步的 JavaScript 与 XML 它并 不是一门新的语言或技术 而是由 JavaScript XML XSLT CSS DOM 和 XML Http Request 等多 种技术所组成的 其中 XML Http Request 对象是 Ajax 的核心 该对象是由浏览器中的 JavaScript 创建 负责在后台以异步的方式让客户端连接到服务器 这样开发人员通过使用 XML Http Request 对象 即可让一些需要服务器参与的工作能够在用户不知不觉中进行 Ajax 具体有以下几个方面的优点 1 减轻服务器的负担 原则是按需求获取数据 2 可以把一部分以前由服务器承担的工作转移到客户端 利用客户端闲置的资源进行处理 节约空间和成本 3 无刷新更新页面 可以通过 DOM 及时将更新的内容显示在页面上 4 可以调整 XML 等外部数据 进一步促进页面显示和数据的分离 3 53 5 系统预览系统预览 在线考试系统由多个页面组成 下面列出几个重要页面 考生登入页面如图 3 4 所示 该页面主要用于实现考生登录 同时也提供了考生注册 找回 密码和进入后台的超链接 主页面提供了导航条 如图 3 5 所示 在线考试页面如图 3 6 所示 该 页面用于实现在线答题功能 同时提供了显示考试时间和剩余时间及自动提交试卷的功能 图 3 4 考生登录页面 图 3 5 主页面 图 3 6 在线考试页面 套题信息管理页面如图 3 7 所示 该页面主要用于实现显示套题计本信息 批量删除套题信息 等功能 同时还提供了添加套题的超链接 添加考试题页面如图 1 8 所示 该页面主要用于将考试 题目添加到数据库 同时实现了在不刷新页面的情况下 改变课程是自动显示相关课程对应的套题 图 3 7 套题信息管理页面 图 3 8 添加考试题目页面 3 63 6 开发环境开发环境 在开发在线考试系统时 需要具备下面的软件环境 服务器端 操作系统 Windows 2003 Web 服务器 Tomcat6 0 Java 开发包 JDK1 5 以上 数据库 SQL Server 2003 浏览器 IE 6 0 分辨率 最佳效果为 1024 768 像素 客户端 浏览器 IE 6 0 分辨率 最佳效果为 1024 768 4 4 数据库设计数据库设计 4 14 1 数据库分析数据库分析 由于在线考试系统对于数据的安全性及完整性要求比较高 并且为了增加程序的使用范 围 还要保证系统可以拥有存储足够多数据的能力 SQL Server 2000 是一种高性能的关系 型数据库管理系统 它在 SQL Server 7 0 的基础上又扩展了系统性能 可靠性 安全性和 易用性 逐渐成为在线事物进程和数据仓库等最好的数据库平台 综上所述 本系统采用 SQL Server 2000 数据库 4 24 2 数据库概念设计数据库概念设计 根据以上各节系统所做的需求分析和系统设计 规划出本系统中使用的数据库实体分别 为考生档案实体 管理员档案实体 课程档案实体 套题实体 考试题目实体和考生成绩 实体 考生档案实体 考生档案实体包括编号 姓名 密码 性别 注册时间 提示问题 问题答案 专业 和身份证号属性 考生档案实体的 E R 图如图 4 1 所示 考生档案 姓名 编号 身份证号 密码 性别 注册时间 专业 问题答案 提示问题 图 4 1 考生档案实体 E R 套题实体 套题实体包括编号 套题名称 所属课程和添加时间属性 套题实体的 E R 图如图 4 2 所示 套题 编号 套题名称 所属课程 添加 时间 图 4 2 套题实体 E R 试题题目实体 考试题目实体包括编号 问题类型 所属课程 所属套题 选项 A 选项 B 选项 C 选项 D 添加时间 正确答案和备注等属性 考试题目实体的 E R 图如图 4 3 所示 考试题目 问题类型 编号 正确答案 所属课程 所属套题 选项 D选项 C 选项 B 选项 A 图 4 3 考试题目实体 E R 4 34 3 数据库逻辑结构数据库逻辑结构 4 3 14 3 1 各数据表的结构各数据表的结构 本系统共包含 6 张数据表 具体如下所示 tb Student 考生信息表 考生信息表用来保存考生信息 该表的结构如表 4 1 所示 表 4 1 td Student 表的结构 字段名数据类型是否为空是否主键默认值描述 idbigint 8 NoYesID 号 自动编号 namevarchar 20 NoNull姓名 pwdvarchar 20 NoNull密码 sexvarchar 2 NoNull性别 joinTimedatetime 8 NoGetdate 注册时间 Questionvarchar 50 NoNull提示问题 Answervarchar 50 NoNull问题答案 Professionvarchar 30 YesNull专业 cardNovarChar 18 NoNull身份证号 tb TaoTi 套题信息表 套题信息表用来保存套题信息 该表的结构如表 4 2 所示 表 4 2 td TaoTi 表的结构 字段名数据类型是否为空是否主键默认值描述 idbigint 8 YesID 号 自动编号 Namevarchar 50 套题名称 LessonIDbigint 8 所属课程 joinTimeDatetime 8 getdate 添加时间 tb Questions 考试题目信息表 考试题目信息表用来保存考试题目信息 该表中保存着所属课程和所属套题的 ID 通 过这两个 ID 可以获取所属课程和套题的信息 考试题目信息表的结构如表 4 3 所示 表 4 3 tb Questions 表的结构 字段名数据类型是否为空是否主键默认值描述 idbigint 8 YesID 号 自动编号 subjectvarchar 50 问题 typechar 6 类型 jointimedatetime 6 getdate 添加时间 lessonIDint 4 所属课程 ID taoTiIdbigint 8 所属套题 ID optionAvarchar 50 选项 A optionBvarchar 50 选项 B optionCvarchar 50 选项 C optionDvarchar 50 选项 D answervarchar 50 正确答案 notevarchar 50 允许为空备注 tb stuResult 考生成绩信息表 考试成绩信息表用来保存考生成绩 该表中的所属课程字段 whichLesson 与 tb Lesson 表 中的 name 字段相关联 并且设置为级联更新 考生成绩表的结构如表 4 4 所示 表 4 4 tb stuResult 表的结构 字段名数据类型是否为空是否主键默认值描述 idbigint 8 YesID 号 自动编号 stuIdvarchar 16 准考证号 whichLessonvarchar 60 所属课程 resSingleint 4 单选题分数 resMoreint 4 多选题分数 resTotalint 4 允许为空合计分数 joinTimedatetime 8 getdate 添加时间 tb lesson 课程信息表 课程信息表用来保存课程信息 结构如表 4 5 所示 表 4 5tb lesson 表的结构 字段名数据类型是否为空 是否主键 默认值 描述 idbigint 8 YESID 号 自动编号 Namevarchar 60 课程名称 joinTimedatetime 8 getdate 添加时间 tb manager 管理员信息表 管理员信息表用来保存管理员信息 结构如表 4 6 所示 表 4 6tb manager 字段名数据类型是否为空是否主键 默认值 描述 Id bigint 8 YES ID 号 自动编号 namevarchar 30 管理员名 pwdVarchar 30 密码 4 44 4 数据表之间的关系设计数据表之间的关系设计 本系统设计了如图 4 4 所示的数据表之间的关系 该关系实际上也反映了系统中各个实 体之间的关系 tb studenttb stuResutb Lesson tb questio ns tb Taoti tb manager 图 4 4 数据表之间的关系图 5 5 公共类设计公共类设计 在开发过程中 经常会用到一些公共类 例如数据库连接及操作的类和字符串处理的 类 因此 在开发系统前首先需要设计这些公共类 5 15 1 数据库连接及操作类的编写数据库连接及操作类的编写 字符串处理的类是解决程序中经常出现得有关字符串处理问题的方法 包括将数据库中 及页面中有中文问题的字符串进行正确的显示和对字符串空值进行处理的方法 定义用于进行数据库连接及操作的类 ConnDB 并将其保存到 com wgh core 包中 同时 定义所需的全局变量及构造方法 代码如下 package com wgh core 将该类保存到 com wgh core 包中 import java io InputStream 导入 java io InputStream 类 import java sql 导入 java sql 包中的所有类 import java util Properties 导入 java util Properties 类 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 创建并实例化 Properties 对象的实 例 private static String dbClassName com microsoft jdbc sqlserver SQLServerDriver 定 义保存数据库驱动的变量 private static String dbUrl jdbc microsoft sqlserver localhost 1433 DatabaseName db expressLetter private static String dbUser sa private static String dbPwd public ConnDB 定义构造方法 try 捕捉异常 将 Properties 文件读取到 InputStream 对象中 InputStream in getClass getResourceAsStream propFileName prop load in 通过输入流对象加载 Properties 文件 dbClassName prop getProperty DB CLASS NAME 获取数据库驱动 dbUrl prop getProperty DB URL dbUrl 获取 URL dbUser prop getProperty DB USER dbUser 获取登录用户 dbPwd prop getProperty DB PWD dbPwd 获取密码 catch Exception e e printStackTrace 输出异常信息 println 警告 DbConnectionManager getConnection 获得数据库链接失败 r n r n 链接类型 dbClassName r n 链接位置 dbUrl r n 用户 密码 dbUser dbPwd return conn 功能 执行查询语句 public ResultSet executeQuery String sql try 捕捉异常 conn getConnection 调用 getConnection 方法构造 Connection 对象的一 个实例 conn stmt conn createStatement ResultSet TYPE SCROLL INSENSITIVE ResultSet CONCUR READ ONLY rs stmt executeQuery sql catch SQLException ex System err println ex getMessage 输出异常信息 return rs 返回结果集对象 功能 执行更新操作 public int executeUpdate String sql int result 0 定义保存返回值的变量 try 捕捉异常 conn getConnection 调用 getConnection 方法构造 Connection 对象的一 个实例 conn stmt conn createStatement ResultSet TYPE SCROLL INSENSITIVE ResultSet CONCUR READ ONLY result stmt executeUpdate sql 执行更新操作 catch SQLException ex result 0 将保存返回值的变量赋值为 0 return result 返回保存返回值的变量 功能 关闭数据库的连接 public void close try 捕捉异常 if rs null 当 ResultSet 对象的实例 rs 不为空时 rs close 关闭 ResultSet 对象 if stmt null 当 Statement 对象的实例 stmt 不为空时 stmt close 关闭 Statement 对象 if conn null 当 Connection 对象的实例 conn 不为空时 conn close 关闭 Connection 对象 catch Exception e e printStackTrace System err 输出异常信息 5 25 2 字符串处理类字符串处理类 字符串处理类是为了解决程序中经常出现的有关字符串处理问题而编写的类 在本系 统中的字符串处理中 只包含一个用于将指定字符串格式化为制定位数的方法 formatNO 1 编写将整形数据格式化为指定长度的字符串的 ChStr 类 将其保存到 com wgh core 包中 并导入所需的包 关键代码如下 package com wgh core import java text NumberFormat public class ChStr 2 在 ChStr 类中创建一个方法 formatNO 该方法有两个 int 型参数 风别是 str 要格式化的数字 和 length 格式化后字符串的长度 返回值为格式化后的字符串 具体代码如下 public String formatNO int str int length float ver Float parseFloat System getProperty java specification version 获取 JDK 的版本 String laststr if ver 1 5 JDK1 5 以下版本执行的语句 try NumberFormat formater NumberFormat getNumberInstance 声明并实例化 NumberFormat 的一个实例 formater setMinimumIntegerDigits length 指定 laststr formater format str toString replace catch Exception e System out println 格式化字符串时的错误信息 e getMessage 输出异常信息 else JDK1 5 版本执行的语句 Integer arr new Integer 1 声明并初始化数组 arr arr 0 new Integer str 将要格式化的数字 str 赋值给数组 arr 的第一个元素 laststr String format 0 length d arr return laststr 6 6 功能模块设计功能模块设计 6 16 1 前台首页设计前台首页设计 6 1 16 1 1 前台首页概述前台首页概述 考生通过 考生登录模块 的验证后 看以登录到网络在线系统的前台首页 前台首 页主要用于实现前台功能导航 在该页面中只包括在线考试 成绩查询 修改个人资料和 退出系统 4 个导航链接 如图 6 1 所示 图 6 1 前台首页运行效果 6 1 26 1 2 前台首页技术分析前台首页技术分析 由于本系统的前台首页主要用于进行系统导航 所以在实现时 采用了为图像设置热 点的方法 这样可以增加页面的灵活度 使页面不至于太枯燥 为图像设置热点 也可以 称作图像映射 是指一幅图像可以建立多个超链接 即在图像上定义多个区域 每个区域 连接到不同的地址 这样的区域称为热点 既 Hot Spot 在标记中设置属性 usemap 确定创建图像热点 标记属性如表 6 1 所示 表 6 1 在标记属性 标记属性 描述 name 图像映射的名称 shape 定义图像热点的名称 coords 设定热点区域坐标 href 设定热点区域的超链接地址 alt 设定热点区域超链接的描述文字 在标记中 根据属性 shape 的取值不同 相应坐标的设定也不同 设定属性 shape 的属性值为 rect 属性 shape 取值为 rect 表示矩形区域 设定 shape 的属性值为 circle 表示圆形区域 属性 shape 取值为 circle 表示圆形区域 设定 shape 的属性值为 poly 属性 shape 取值为 poly 表示多边形区域 本系统中采用的使设置多边形区域 即将 shape 的属性值设置为 poly 6 1 36 1 3 前台首页的实现过程前台首页的实现过程 1 在页面中插入设置热点的图片 并设置其 usemap 属性 代码如下 2 在和标记中间插入设置热点区域的代码 具体代码如下 6 26 2 考生信息模块设计考生信息模块设计 6 2 16 2 1 考生信息模块概述考生信息模块概述 考生信心模块主要包括考生注册 考生登录 修改个人资料以及找回密码等 4 个功能 考生首先要注册为网站用户 然后才被授予登陆网站进行一系列操作的权限 登陆后考生 可以修改个人的注册资料 如果考生忘了登录密码 还可以通过网站提供的找回密码功能 快速找回密码 考生信息模块系统流程如图 6 2 所示 开始 考生注册 找回登录密码 考生登录 修改个人资料 找回密码 结束 结束 图 6 2 考生信息模块的系统流程图 6 2 26 2 2 考生信息模块的技术分析考生信息模块的技术分析 由于本系统采用的是 Struts 框架 所以在实现考生信息模块式时 需要编写考生信息 模块对应的 ActionForm 类和 Action 实现类 1 编写考生信息模块的 ActionForm 类 在考生信息模块中 只涉及到数据表 tb Student 考生信息表 虽然根据这个数据表 可以得出考生信息模块的 ActionForm 类 public class StudentForm extends ActionForm public Date getJoinTime 定义获取注册时间的方法 return joinTime public String getDelIdArray 定义获取删除 ID 的方法 return delIdArray public void setDelIdArray String delIdArray 定义设置删除 ID 的方法 this delIdArray delIdArray 2 创建考生信心模块的 Action 实现类 构造方法中分别实例化考生信息模块的 StudentDAO 类 Action 实现类的主要方法是 execute 该方法会被自动执行 6 2 36 2 3 考生注册的实现过程考生注册的实现过程 运行网络在线考试系统 首先进入的是考生登录页面 在该页中单击 注册 按钮 既可进入到考生注册的页面 在该页面中输入个人资料及密码 如图 6 3 所示 单击 保 存 按钮 系统将根据您输入的身份证号验证是否已经注册 如果没有注册 将弹出如图 6 4 所示的提示框 否则将另进行注册 图 6 3 考生注册页面运行结果 图 6 4 注册成功对话框 1 设置添加注册页面 添加注册信息页面主要用于收集输入的考生注册信息 以及通过自定义的 JavaScript 函数验证输入信息是否合法 在设置用于收集注册信息的表单时 采用的是 Strus 框架的 HTML 标签实现的 关键代码如下 html form action manage student do action studentAdd 考生姓名 密码 password1 property pwd size 20 密码由 6 到 20 位的数字或字母 组成 确认密码 性别 男 女 提示问题 如我的生日 问题答案 如 7 月 17 日 专业 身份证号 2 修改考生信息的 Action 实现类 再添加注册信息页面中输入合法的注册信息后 单击 保存 按钮 网页会访问 一个 URL 这个 URL 是 manage student do action studentAdd 添加考生注册信息 private ActionForward studentAdd ActionMapping mapping ActionForm form HttpServletRequest request HttpServletResponse response StudentForm studentForm StudentForm form 将接收的表单信息强制转 换成 ActionForm 类型 String ret studentDAO insert studentForm System out println 返回值 ret ret if ret equals re request setAttribute error 您已经注册 直接登录即可 保存错 误提示信息到 error 中 return mapping findForward error 转到错误提示页面 else if ret equals miss request setAttribute error 注册失败 保存错误提示页面 return mapping findForward error 转到错误提示页面 else request setAttribute ret ret 将生成的准考证号保存到 ret 中 return mapping findForward studentAdd 转到考生信息添加成功页 面 3 编写保存考试注册信息的 StudentDAO 类的方法 保存考生信息使用的 StudentDAO 类的方法是 insert 在 insert 方法中 首先 从数据表 tb student 中查询输入的身份证号是否存在 如果存在 将标志变量设置 为 2 否则 先生成准考证号 在将输入的信息保存到考生信息表中 并将生成的 准考证号赋给志识变量 最后返回该标志变量 Insert 方法的具体代码如下 添加数据 public String insert StudentForm s String sql1 SELECT FROM tb student WHERE cardNo s getCardNo ResultSet rs conn executeQuery sql1 执行 SQL 查询语句 String sql String falg miss 用于记录返回信息的变量 String ID try if rs next 假如存在记录 falg re 表示考生信息已经注册 else 自动生成准考证号 String sql max SELECT max ID FROM tb student ResultSet rs max conn executeQuery sql max 查询最大的准考证号 java util Date date new java util Date 实例化 java util Date 类 StringnewTime new SimpleDateFormat yyyyMMdd format date 格式化当前日期 if rs max next String max ID rs max getString 1 获取最大的准考证号 int newId Integer parseInt max ID substring 10 16 1 取出最大准考证号中的数字编号 1 String no chStr formatNO newId 6 将生成的编号格式化为 6 位 ID CN newTime no 组合完整的准考证号 else 当第一个考生注册时 ID CN newTime 000001 生成第一个准考证号 sql INSERT INTO tb student ID name pwd sex question answer profession cardNo values ID s getName s getPwd s getSex s getQuestion s getAnswer s getProfession s getCardNo int ret conn executeUpdate sql 保存考生注册信息 if ret 0 falg miss 表示考生注册失败 else falg 恭喜您 注册成功 r 请记住您的准考证号 ID 返回生成的准考证号 conn close 关闭数据库连接 catch Exception e falg miss System out println 添加考生信息时的错误信息 e getMessage 输出错误提示信息到控制台 return falg 6 2 46 2 4 找回密码的实现过程找回密码的实现过程 运行网络在线考试系统时 首先进入的是考生登录页面 在该页面中单击 找回密码 按钮 即可进入到找回密码第一步页面 用于输入准考证号 在该页面中输入准考证号 如图 6 5 所示 图 6 5 找回密码运行效果 1 找回密码第一步 输入准考证号 找回密码第一步所对应的方法 seekPwd 的具体代码如下 找回密码 第一步 private ActionForward seekPwd1 ActionMapping mapping ActionForm form HttpServletRequest request HttpServletResponse response StudentForm studentForm StudentForm form 将表单信息转换成 ActionFrom 类型 StudentForm s studentDAO seekPwd1 studentForm 调用 seekPwd1 方法验证 准考证号是否存在 request setAttribute seekPwd2 s 将返回的 s 对象保存到 seekPwd2 中 if s getID equals 如果不存在 request setAttribute error 您输入的准考证号不存在 将错误信息保存到 error 中 return mapping findForward error 转到错误提示页面 else return mapping fin

温馨提示

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

最新文档

评论

0/150

提交评论