![毕业设计(论文)_基于JSP的在线考试系统的设计与实现_第1页](http://file4.renrendoc.com/view/901c92622c74ee5cb00efb987b7213b2/901c92622c74ee5cb00efb987b7213b21.gif)
![毕业设计(论文)_基于JSP的在线考试系统的设计与实现_第2页](http://file4.renrendoc.com/view/901c92622c74ee5cb00efb987b7213b2/901c92622c74ee5cb00efb987b7213b22.gif)
![毕业设计(论文)_基于JSP的在线考试系统的设计与实现_第3页](http://file4.renrendoc.com/view/901c92622c74ee5cb00efb987b7213b2/901c92622c74ee5cb00efb987b7213b23.gif)
![毕业设计(论文)_基于JSP的在线考试系统的设计与实现_第4页](http://file4.renrendoc.com/view/901c92622c74ee5cb00efb987b7213b2/901c92622c74ee5cb00efb987b7213b24.gif)
![毕业设计(论文)_基于JSP的在线考试系统的设计与实现_第5页](http://file4.renrendoc.com/view/901c92622c74ee5cb00efb987b7213b2/901c92622c74ee5cb00efb987b7213b25.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、基于JSP的在线考试系统的设计与实现(陕理工计算机系计算机科学与技术专业051班,陕西 汉中 723000)指导教师: 摘要 人类进入21世纪,信息技术和网络技术的迅速发展和广泛应用,对社会的政治、经济、军事、科技和文化等领域产生越来越深刻的影响,也正在改变着人们的工作、生活、学习和交流方式。本文主要论述了如何利用JSP(Java Server Pages)技术进行考试资源网站的开发,作为动态网站的设计与数据库是分不开的,网站采用SQL Server 2000数据库作为后台数据库,在开发中严谨地遵循软件工程学的原理,在设计上具有友好的交互界面,管理员可以在管理界面上对后台数据进行更改,从而改变
2、用户界面的内容,在用户界面上网站提供了最新考试信息、考试资料下载、在线考试等功能,使得人们利用在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 networ
3、k technology, etc field exert a deeper and deeper influence, changing peoples 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
4、 be separated from that the database is, websites adopt Sql server 2000 database as backstage supporters database , the principle of following engineering of software in developing rigorously, have friendly mutual interfaces in the design, the administrator can change backstage supporters data in ma
5、naging interfaces , thus change the content of users 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 tra
6、ditional study way. Keyword : JSP ; Database ; Websites development 目录 TOC o 1-4 h z u HYPERLINK l _Toc230774591 1.课题描述 PAGEREF _Toc230774591 h 8 HYPERLINK l _Toc230774592 2.系统分析 PAGEREF _Toc230774592 h 9 HYPERLINK l _Toc230774593 需求分析 PAGEREF _Toc230774593 h 9 HYPERLINK l _Toc230774594 功能分析 PAGEREF
7、 _Toc230774594 h 9 HYPERLINK l _Toc230774595 可行性研究 PAGEREF _Toc230774595 h 10 HYPERLINK l _Toc230774596 3.系统总体设计 PAGEREF _Toc230774596 h 11 HYPERLINK l _Toc230774597 系统目标 PAGEREF _Toc230774597 h 11 HYPERLINK l _Toc230774598 3.2 系统功能结构 PAGEREF _Toc230774598 h 11 HYPERLINK l _Toc230774599 业务流程图 PAGERE
8、F _Toc230774599 h 12 HYPERLINK l _Toc230774600 3.4 系统开发语言 PAGEREF _Toc230774600 h 12 HYPERLINK l _Toc230774601 3.4.1 JSP的基本概念 PAGEREF _Toc230774601 h 13 HYPERLINK l _Toc230774602 3.4.2 Ajax技术 PAGEREF _Toc230774602 h 13 HYPERLINK l _Toc230774603 系统预览 PAGEREF _Toc230774603 h 13 HYPERLINK l _Toc2307746
9、04 开发环境 PAGEREF _Toc230774604 h 15 HYPERLINK l _Toc230774605 4数据库设计 PAGEREF _Toc230774605 h 16 HYPERLINK l _Toc230774606 4.1 数据库分析 PAGEREF _Toc230774606 h 16 HYPERLINK l _Toc230774607 4.2 数据库概念设计 PAGEREF _Toc230774607 h 16 HYPERLINK l _Toc230774608 数据库逻辑结构 PAGEREF _Toc230774608 h 17 HYPERLINK l _Toc
10、230774609 各数据表的结构 PAGEREF _Toc230774609 h 17 HYPERLINK l _Toc230774610 数据表之间的关系设计 PAGEREF _Toc230774610 h 19 HYPERLINK l _Toc230774611 5 公共类设计 PAGEREF _Toc230774611 h 20 HYPERLINK l _Toc230774612 数据库连接及操作类的编写 PAGEREF _Toc230774612 h 20 HYPERLINK l _Toc230774613 字符串处理类 PAGEREF _Toc230774613 h 22 HYPE
11、RLINK l _Toc230774614 6功能模块设计 PAGEREF _Toc230774614 h 23 HYPERLINK l _Toc230774615 前台首页设计 PAGEREF _Toc230774615 h 23 HYPERLINK l _Toc230774616 6.1.1 前台首页概述 PAGEREF _Toc230774616 h 23 HYPERLINK l _Toc230774617 前台首页技术分析 PAGEREF _Toc230774617 h 23 HYPERLINK l _Toc230774618 6.1.3 前台首页的实现过程 PAGEREF _Toc2
12、30774618 h 24 HYPERLINK l _Toc230774619 考生信息模块设计 PAGEREF _Toc230774619 h 24 HYPERLINK l _Toc230774620 6.2.1 考生信息模块概述 PAGEREF _Toc230774620 h 24 HYPERLINK l _Toc230774621 6.2.2 考生信息模块的技术分析 PAGEREF _Toc230774621 h 25 HYPERLINK l _Toc230774622 考生注册的实现过程 PAGEREF _Toc230774622 h 25 HYPERLINK l _Toc230774
13、623 6.2.4 找回密码的实现过程 PAGEREF _Toc230774623 h 28 HYPERLINK l _Toc230774624 在线考试模块设计 PAGEREF _Toc230774624 h 29 HYPERLINK l _Toc230774625 6.3.1 在线考试模块的概述 PAGEREF _Toc230774625 h 29 HYPERLINK l _Toc230774626 选择考试课程的实现过程 PAGEREF _Toc230774626 h 29 HYPERLINK l _Toc230774627 随机抽取实体并显示试题的实现过程 PAGEREF _Toc23
14、0774627 h 30 HYPERLINK l _Toc230774628 6.3.4 自动阅卷并显示考试成绩的实现过程 PAGEREF _Toc230774628 h 31 HYPERLINK l _Toc230774629 6.3.5 单元测试 PAGEREF _Toc230774629 h 32 HYPERLINK l _Toc230774630 台首页设计 PAGEREF _Toc230774630 h 33 HYPERLINK l _Toc230774631 6.4.1 后台首页概述 PAGEREF _Toc230774631 h 33 HYPERLINK l _Toc230774
15、632 2 后台首页分析 PAGEREF _Toc230774632 h 34 HYPERLINK l _Toc230774633 6.4.3 后台首页的实现过程 PAGEREF _Toc230774633 h 34 HYPERLINK l _Toc230774634 考试题目管理额模块设计 PAGEREF _Toc230774634 h 34 HYPERLINK l _Toc230774635 考试题目管理模块的概述 PAGEREF _Toc230774635 h 34 HYPERLINK l _Toc230774636 6.5.2 考试题目管理模块的技术分析 PAGEREF _Toc230
16、774636 h 35 HYPERLINK l _Toc230774637 查看考试题目列表的实现过程 PAGEREF _Toc230774637 h 36 HYPERLINK l _Toc230774638 添加考试题目的实现过程 PAGEREF _Toc230774638 h 37 HYPERLINK l _Toc230774639 删除考试题目的实现过程 PAGEREF _Toc230774639 h 37 HYPERLINK l _Toc230774640 7.软件测试 PAGEREF _Toc230774640 h 39 HYPERLINK l _Toc230774641 功能测试
17、PAGEREF _Toc230774641 h 39 HYPERLINK l _Toc230774642 性能测试 PAGEREF _Toc230774642 h 40 HYPERLINK l _Toc230774643 可用性测试 PAGEREF _Toc230774643 h 40 HYPERLINK l _Toc230774644 客户端兼容性测试 PAGEREF _Toc230774644 h 40 HYPERLINK l _Toc230774645 结 论 PAGEREF _Toc230774645 h 42 HYPERLINK l _Toc230774646 致谢 PAGEREF
18、_Toc230774646 h 43 HYPERLINK l _Toc230774647 参考文献 PAGEREF _Toc230774647 h 44在线考试系统课题产生的背景是当今教育信息化的趋势及我国高校教育信息化系统的建设;目的是充分利用学校现有的计算机软、硬件资源和网络资源实现无纸化考试以避免传统手工考试的不足。与传统考试模式相比,网上考试渗入了更多的技术环节,对实现安全性的途径、方法也提出了更高的技术要求。通过Internet/Intranet来实现网上考试,是现代教育技术的一个具体实现,具有很重要的现实意义。可以有效利用校园网的软硬件资源,使其发挥最大效力,更好的为学校的教学、科
19、研、管理服务,可以大规模的实行考试,实现考试的客观、公证性,自动化组卷、阅卷可以减轻教师的工作强度。传统考试要求老师刻试卷、印试卷、安排考试、监考、收集试卷、评改试卷、讲评试卷和分析试卷。这是一个漫长而复杂的过程,已经越来越不适应现代教学的需要。在计算机技术迅猛发展下,给传统的办学提供了新的模式。传统的考试方式时间长、效率低;同时人工批卷等主观因素也影响到考试的公正性。这种无纸的在线考试系统,使教务管理突破了时空限制,提高了考试效率和标准化水平;使学校管理者、教师和学生可以在任何时候、任何地点通过网络进行考试。在线考试系统已经成为教育技术发展与研究的方向。随着社会经济的发展,人们对教育越来越重
20、视。考试是教育中的一个重要环节,近几年来随着考试类型不断增加以及考试要求不断提高,传统考试方式要求教师打印考卷、监考、批卷,使教师的工作量越来越大,并且这些环节由于全部由人工完成,非常容易出错。因此,许多学校或考试机构建立网络在线考试网站来降低成本和人力物力的投入,同时为考生提供了更全面更灵活的服务。考生希望对自己的学习情况进行客观科学的评价,教务人员希望有效的改进现有的考试模式;提高考试效率,为了满足考生和教务人员的要求,在线考试系统应包含在线考试成绩查询等功能以满足用户的需求。在传统的学校教学中,进行一场考试,要求老师刻试卷、印试卷、安排考试、监考、收集试卷、评改试卷、讲评试卷和分析试卷,
21、这是一个繁杂的过程,需要大量人力、物力与时间的投入,已经越来越不适应学校信息化建设与现代教学的需要。尤其在远程网络教学中,学生分布广,不易统一集中安排考试,给校方和学生带来了众多的不便。当前盛行的在线考试系统,正是信息化建设的产物,它是传统考场的延伸。它可以利用互联网络和局域网,随时随地的对学生进行考试,评分,加上数据库技术的利用,使得管理过程简化,能够轻松实现查询,控制等功能。因此在线考试是信息化教学的不可缺少的辅助手段。显然,无论采取何种方式,首要考虑的是安全性能。为此,本系统在SSL协议下完成了在线考试。数据、信息、资料等得以安全稳定的传输。本网站采用B/S(Browser/Server
22、)即浏览器/服务器网络体系结构,在这种结构下,用户工作界面通过www浏览器来实现,极少部分事务逻辑在前端(Browser)实现,客户端只需要一个浏览器,而将所有的业务规则、数据处理等放在服务器端进行,这在维护和开发上变得简单、容易,所有的操作只需要针对服务器进行就可以,使得成本降低,并且可选择的服务器操作系统是不受限制的.1用户类别:登录系统的身份定为四种,一是超级管理员,二是学校领导,三是一般管理员(普通老师),四是学生,只有被授权的用户才可以使用本系统的资源。2权限管理:系统需要经过有效的身份验证可以登录。用户的身份不同,使用的系统资源也不同。考生只可以参加在线考试;一般管理员(普通教师)
23、可以在线制作试卷,进行考生管理,添加学生信息、控制考试、成绩查询等。学校领导可添加院系、教师、部门、科目信息及查询修改管理员信息及审批试卷、查询考生信息;超级管理员拥有整个系统的全部使用权限,但查询修改管理员信息的权限例外。3在线考试功能:考生输入准号证号登陆系统后,选择对应的试卷可进行考试。答题完毕后,可自动交卷,系统将自动评分,考生可同时获得考试成绩。4在线制作试卷:一般管理员(教师)、学校领导和超级管理员可在线制作试卷,可设定试题的类型、难易程度、分值。5控制考试功能:可设定每次的考试时间,可禁止或允许考生参加考试,同时可查看考生的考试状态。6考生管理功能:可注册新增学生用户,同时查看个
24、别考生及班级考生的信息,也可设定考生的考试状态:允许或禁止考试。7考生成绩查询功能:提供考生各科目成绩的详细查询。8试卷审批功能:超级管理员及学校领导有此权限。教师制作试卷完毕,只有经过超级管理员或学校领导审批后才能发布,发布后学生才能开考。9系统管理功能:一般管理员只可更改登陆密码。超级管理员及学校领导除更改密码外,同时具有高级管理功能,进行添加和删除管理员的帐号。可行性分析的目的就是要用最小的代价在尽可能短的时间内确定问题是否能够解决。通过分析解决分析方法的利弊来判定系统目标和规模是否现实,系统完成后所能带来的效益是否达到值得去投资开发这个系统的程度。在线考试系统的可行性应从以下方面考虑。
25、经济可行性定期的组织考试是各个院校及时掌握学生学习成绩的有效方式,利用网络在线考试系统一方面可以节省人力资源降低考试成本,另一方面,在线考试系统能够快速的进行考试和评分,体现考试的客观与公正性。技术可行性开发一个在线考试系统涉及到的核心的技术问题就是如何实现在不断刷新页面的情况下实时显示考试时间和剩余时间,并做到到达考试结束时间自动提交试卷的功能。如果在Ajax技术出现以前,要实现这些功能比较麻烦,但现在可以轻松实现这些功能,这为网络在线考试系统的开发提供了技术保障。系统目标根据前面所做的要求分析及用户的需求可知,网络在线考试系统属于中小型的软件,在系统实施后,应达到以下目标:具有空间性。被授
26、权的用户可以在异地登录网络考试在线系统,而无需到指定地点进行考试。操作简单方便、界面简洁美观。系统提供考试时间倒计时功能,使考生实时了解考试剩余时间。随即抽取试题。实现自动提交试卷功能。当考试时间到达规定时间时,如果考生还未提交试卷,系统将自动交卷,以保证考试严肃、公正地进行。系统自动阅卷,保证成绩真实准确。考生可以查询考试成绩。系统运行稳定、安全可靠。3.2 系统功能结构根据网络在线考试系统的特点,可以将其分为前台和后台两个部分进行设计。前台主要用于考生注册和登录系统、在线考试、查询成绩及修改个人资料等;后台主要用于管理员对考生信息、课程信息、考题信息、和考生成绩信息等进行管理。在线考试系统
27、的前台功能结构如图:3.1所示。在线考试系统的后台功能结构如图:3.2所示。在线考试系统的前台考生注册找回密码在线考试成绩查询修改个人资料退出系统考试规则选择课程准备考试开始考试自动阅卷显示考试成绩图3.1 在线考试系统的前台功能结构图在线考试系统的后台管理员信息管理考生试信息管理考生成绩查询课程信息管理套题信息管理考试题目管理退出后台管理图3.2 在线考试系统的后台功能结构图 在线考试的系统流程如图3.3所示:找回密码注册登录前台首页成绩查询在线考试修改个人资料选择考试课程准备考试自动阅卷并显示成绩考生成绩查询考生信息管理管理员信息管理提交试卷开始考试同意规则登录后台首页hou课程信息管理试
28、题管理管理员考生3.4 系统开发语言本次设计是基于Jsp的在线考试系统,主要利用了Jsp技术、Ajax技术和SQL server2000数据库开发完成的。 JSP的基本概念Java Server Pages (JSP) 技术提供了一种简单快速的方法来创建显示动态生成内容的 Web 页面。由业界处于领先地位的 Sun 公司制定了相关的 JSP 技术规范,该规范定义了如何在服务器和 JSP 页面间进行交互,还描述了页面的格式和语法。 JSP 页面使用 XML 标签和 scriptlets(一种使用 Java 语言编写的脚本代码),封装了生成页面内容的逻辑。它将各种格式的标签(HTML 或者 XML
29、)直接传递回响应页面。通过这种方式,JSP 页面实现了页面逻辑与其设计和显示的分离。 JSP 技术是 Java 系列技术的一部分。JSP 页面被编译成 servlets,并可能调用 JavaBeans 组件(beans) 或 Enterprise JavaBeans 组件(企业 beans),以便在服务器端处理。因此,JSP 技术在构建可升级的基于 web 的应用程序时扮演了重要角色。 JSP 页面并不局限于任何特定的平台或 web 服务器上。JSP 规范在业界有着广泛的适应性。JSP的效率和安全性更高;JSP的组件 (Component) 方式更方便;JSP的适应平台更广。3.4.2 Aja
30、x技术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)减轻服务器的负担。原
31、则是按需求获取数据。(2)可以把一部分以前由服务器承担的工作转移到客户端,利用客户端闲置的资源进行处理,节约空间和成本。(3)无刷新更新页面,可以通过DOM及时将更新的内容显示在页面上。(4)可以调整XML等外部数据,进一步促进页面显示和数据的分离。在线考试系统由多个页面组成,下面列出几个重要页面。考生登入页面如图:3.4所示,该页面主要用于实现考生登录,同时也提供了考生注册、找回密码和进入后台的超链接;主页面提供了导航条,如图3.5所示;在线考试页面如图3.6所示,该页面用于实现在线答题功能,同时提供了显示考试时间和剩余时间及自动提交试卷的功能。图3.4 考生登录页面图3.5 主页面套题信息
32、管理页面如图3.7所示,该页面主要用于实现显示套题计本信息、批量删除套题信息等功能,同时还提供了添加套题的超链接;添加考试题页面如图1.8所示,该页面主要用于将考试题目添加到数据库,同时实现了在不刷新页面的情况下,改变课程是自动显示相关课程对应的套题。在开发在线考试系统时,需要具备下面的软件环境。服务器端:操作系统:Windows 2003。Web 服务器: Tomcat6.0。Java 开发包:JDK1.5以上。数据库:SQL Server 2003。浏览器:IE 6.0。分辨率:最佳效果为1024*768像素。客户端:浏览器:IE 6.0。分辨率:最佳效果为1024*768。4数据库设计4
33、.1 数据库分析由于在线考试系统对于数据的安全性及完整性要求比较高,并且为了增加程序的使用范围,还要保证系统可以拥有存储足够多数据的能力。SQL Server 2000 是一种高性能的关系型数据库管理系统,它在SQL Server 7.0的基础上又扩展了系统性能、可靠性、安全性和易用性,逐渐成为在线事物进程和数据仓库等最好的数据库平台。综上所述,本系统采用SQL Server 2000数据库。4.2 数据库概念设计根据以上各节系统所做的需求分析和系统设计,规划出本系统中使用的数据库实体分别为考生档案实体、管理员档案实体、课程档案实体、套题实体、考试题目实体和考生成绩实体。考生档案实体。考生档案
34、实体包括编号、姓名、密码、性别、注册时间、提示问题、问题答案、专业和身份证号属性。考生档案实体的E-R图如图4.1所示。考生档案姓名编号身份证号密码性别注册时间专业问题答案提示问题图4.1 考生档案实体E-R套题实体。套题实体包括编号、套题名称、所属课程和添加时间属性。套题实体的E-R 图如图4.2所示。套题编号套题名称所属课程添加时间试题题目实体考试题目实体包括编号、问题类型、所属课程、所属套题、选项A、选项B、选项C、选项D、添加时间、正确答案和备注等属性。考试题目实体的E-R图如图4.3所示。考试题目问题类型编号正确答案所属课程所属套题选项D选项C选项B选项A图4.3 考试题目实体E-R
35、各数据表的结构本系统共包含6张数据表,具体如下所示:tb_Student(考生信息表)表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专业cardNov
36、arChar(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_
37、Questions表的结构字段名数据类型是否为空是否主键默认值描述idbigint(8)YesID号(自动编号)subjectvarchar(50)问题typechar(6)类型jointimedatetime(6)getdate()添加时间lessonIDint(4)所属课程IDtaoTiIdbigint(8)所属套题IDoptionAvarchar(50)选项AoptionBvarchar(50)选项BoptionCvarchar(50)选项CoptionDvarchar(50)选项Danswervarchar(50)正确答案notevarchar(50)允许为空备注tb_stuResul
38、t(考生成绩信息表)考试成绩信息表用来保存考生成绩,该表中的所属课程字段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
39、_lesson(课程信息表)课程信息表用来保存课程信息.结构如表4.5所示.字段名数据类型是否为空 是否主键 默认值 描述 idbigint(8) YESID号(自动编号)Namevarchar(60)课程名称joinTimedatetime(8) getdate() 添加时间 tb_manager(管理员信息表)管理员信息表用来保存管理员信息,结构如表4.6所示.字段名数据类型是否为空是否主键 默认值 描述 Id bigint(8) YES ID号(自动编号) namevarchar(30)管理员名pwdVarchar(30)密码本系统设计了如图4.4所示的数据表之间的关系,该关系实际上也反
40、映了系统中各个实体之间的关系。tb_studenttb_stuResutb_Lessontb_questionstb_Taotitb_manager5 公共类设计 在开发过程中,经常会用到一些公共类,例如数据库连接及操作的类和字符串处理的类。因此,在开发系统前首先需要设计这些公共类。字符串处理的类是解决程序中经常出现得有关字符串处理问题的方法,包括将数据库中及页面中有中文问题的字符串进行正确的显示和对字符串空值进行处理的方法。定义用于进行数据库连接及操作的类ConnDB,并将其保存到com.wgh.core包中,同时定义所需的全局变量及构造方法。代码如下:public class ConnDB
41、 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
42、 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文件
43、读取到InputStream对象中InputStream in = getClass().getResourceAsStream(propFileName);prop.load(in); / 通过输入流对象加载Properties文件dbClassName = prop.getProperty(DB_CLASS_NAME); / 获取数据库驱动dbUrl = prop.getProperty(DB_URL, dbUrl);/获取URLdbUser = prop.getProperty(DB_USER, dbUser);/获取登录用户dbPwd = prop.getProperty(DB_PWD
44、, dbPwd);/获取密码 catch (Exception e) e.printStackTrace(); / 输出异常信息.println(警告: DbConnectionManager.getConnection() 获得数据库链接失败.rnrn链接类型:+ dbClassName+ rn链接位置:+ dbUrl+ rn用户/密码+ dbUser + / + dbPwd);return conn; * 功能:执行查询语句 */public ResultSet executeQuery(String sql) try / 捕捉异常conn = getConnection(); / 调用g
45、etConnection()方法构造Connection对象的一个实例connstmt = 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 r
46、esult = 0; / 定义保存返回值的变量try / 捕捉异常conn = getConnection(); / 调用getConnection()方法构造Connection对象的一个实例connstmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);result = stmt.executeUpdate(sql); / 执行更新操作 catch (SQLException ex) result = 0; / 将保存返回值的变量赋值为0return result;
47、/ 返回保存返回值的变量/*功能:关闭数据库的连接*/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.printSta
48、ckTrace(System.err); / 输出异常信息字符串处理类是为了解决程序中经常出现的有关字符串处理问题而编写的类,在本系统中的字符串处理中,只包含一个用于将指定字符串格式化为制定位数的方法formatNO()。(1)编写将整形数据格式化为指定长度的字符串的ChStr类,将其保存到com.wgh.core包中,并导入所需的包,关键代码如下:package com.wgh.core;import java.text.NumberFormat;public class ChStr (2)在ChStr类中创建一个方法formatNO(),该方法有两个int型参数,风别是str(要格式化的数
49、字)和length(格式化后字符串的长度),返回值为格式化后的字符串,具体代码如下:public String formatNO(int str, int length) float ver = Float.parseFloat(System.getProperty(java.specification.version); /获取JDK的版本String laststr = ; try NumberFormat formater = NumberFormat.getNumberInstance();/声明并实例化NumberFormat的一个实例formater.setMinimumInteg
50、erDigits(length);/指定laststr = formater.format(str).toString().replace(, ); catch (Exception e) System.out.println(格式化字符串时的错误信息: + e.getMessage();/输出异常信息 Integer arr=new Integer1;/声明并初始化数组arrarr0=new Integer(str);/将要格式化的数字str赋值给数组arr的第一个元素laststr = String.format(%0+length+d, arr); return laststr; 6功能
51、模块设计 前台首页概述考生通过“考生登录模块”的验证后,看以登录到网络在线系统的前台首页。前台首页主要用于实现前台功能导航,在该页面中只包括在线考试、成绩查询、修改个人资料和退出系统4个导航链接,如图6.1所示。图6.1 前台首页运行效果前台首页技术分析由于本系统的前台首页主要用于进行系统导航,所以在实现时,采用了为图像设置热点的方法,这样可以增加页面的灵活度,使页面不至于太枯燥。为图像设置热点,也可以称作图像映射,是指一幅图像可以建立多个超链接,即在图像上定义多个区域,每个区域连接到不同的地址,这样的区域称为热点(既Hot Spot)。在标记中设置属性usemap,确定创建图像热点。标记属性
52、如表6.1所示:表6.1 在标记属性标记属性 描述 name 图像映射的名称 shape 定义图像热点的名称 coords 设定热点区域坐标 href 设定热点区域的超链接地址 alt 设定热点区域超链接的描述文字 在标记中,根据属性shape的取值不同,相应坐标的设定也不同。 设定属性shape的属性值为rect。 属性shape取值为rect,表示矩形区域。设定shape的属性值为circle,表示圆形区域。属性shape取值为circle,表示圆形区域。设定shape的属性值为poly。属性shape取值为poly,表示多边形区域。本系统中采用的使设置多边形区域,即将shape的属性值设
53、置为poly。 前台首页的实现过程(1)在页面中插入设置热点的图片,并设置其usemap属性,代码如下: (2)在和标记中间插入设置热点区域的代码,具体代码如下: 考生信息模块概述考生信心模块主要包括考生注册、考生登录、修改个人资料以及找回密码等4个功能。考生首先要注册为网站用户,然后才被授予登陆网站进行一系列操作的权限;登陆后考生可以修改个人的注册资料。如果考生忘了登录密码,还可以通过网站提供的找回密码功能快速找回密码。考生信息模块系统流程如图6.2所示: 开始考生注册找回登录密码考生登录修改个人资料找回密码结束结束图6.2 考生信息模块的系统流程图 考生信息模块的技术分析由于本系统采用的是
54、Struts框架,所以在实现考生信息模块式时,需要编写考生信息模块对应的ActionForm类和Action实现类。1)编写考生信息模块的ActionForm类在考生信息模块中,只涉及到数据表tb_Student(考生信息表),虽然根据这个数据表可以得出考生信息模块的ActionForm类。public class StudentForm extends ActionForm public Date getJoinTime() /定义获取注册时间的方法return joinTime;public String getDelIdArray()/定义获取删除ID的方法return delIdArr
55、ay;public void setDelIdArray(String delIdArray)/定义设置删除ID的方法this.delIdArray=delIdArray;创建考生信心模块的Action实现类构造方法中分别实例化考生信息模块的StudentDAO类。Action实现类的主要方法是execute(),该方法会被自动执行。考生注册的实现过程运行网络在线考试系统,首先进入的是考生登录页面,在该页中单击“注册”按钮,既可进入到考生注册的页面,在该页面中输入个人资料及密码,如图6.3所示。单击“保存”按钮,系统将根据您输入的身份证号验证是否已经注册,如果没有注册,将弹出如图6.4所示的提
56、示框,否则将另进行注册。设置添加注册页面添加注册信息页面主要用于收集输入的考生注册信息,以及通过自定义的JavaScript函数验证输入信息是否合法。在设置用于收集注册信息的表单时,采用的是Strus框架的HTML标签实现的,关键代码如下: html:form action=/manage/student.do?action=studentAdd 考生姓名:密码: password1 property=pwd size=20/(密码由6到20位的数字或字母组成) 确认密码: 性别: 男 女 提示问题: (如我的生日)问题答案: (如7月17日)专业:身份证号 2)修改考生信息的Action实现
57、类再添加注册信息页面中输入合法的注册信息后,单击“保存”按钮,网页会访问一个URL,这个URL是/manage/student.do?action=studentAdd。/ 添加考生注册信息private ActionForward studentAdd(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response) StudentForm studentForm = (StudentForm) form;/将接收的表单信息强制转换成ActionForm类型Stri
58、ng 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);/转
59、到错误提示页面elserequest.setAttribute(ret,ret);/将生成的准考证号保存到ret中return mapping.findForward(studentAdd);/转到考生信息添加成功页面3)编写保存考试注册信息的StudentDAO类的方法保存考生信息使用的StudentDAO类的方法是insert()。在insert()方法中,首先从数据表tb_student中查询输入的身份证号是否存在,如果存在,将标志变量设置为2;否则,先生成准考证号,在将输入的信息保存到考生信息表中,并将生成的准考证号赋给志识变量,最后返回该标志变量。Insert()方法的具体代码如下:
60、/添加数据 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=SEL
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 班级班委会的建设与培养计划
- 企业安全文化建设与保安工作关系计划
- 工作计划与目标达成的关系
- 生物催化过程优化与控制的原则
- 2025年内螺纹铜管项目合作计划书
- 餐饮行业供应链优化解决方案协议
- Soyasaponin-Aa-Standard-生命科学试剂-MCE
- 2-Hydroxy-atrazine-Standard-生命科学试剂-MCE
- 私人医生健康管理服务合同
- 小学高年级语文写作技巧征文
- 白酒加工小作坊整治工作方案
- 成人住院患者静脉血栓栓塞症预防护理
- 四年级数学(四则混合运算)计算题专项练习与答案汇编
- 国家基本公共卫生服务项目绩效考核课件
- 孕产妇深静脉血栓预防与护理课件
- 研发运营一体化DevOps能力成熟度模型评估(完整版)
- 班级管理课件:班级组织的建设
- 《3-6岁儿童学习与发展指南》健康领域内容目标与指导
- 《共圆中国梦》示范课教学设计【部编人教版九年级道德与法治上册】
- GB/T 10739-2023纸、纸板和纸浆试样处理和试验的标准大气条件
- 《云台山地质公园》课件
评论
0/150
提交评论