基于JAVA的试题管理系统的开发(毕业论⽂)
毕业设计(论⽂)
题⽬: 基于Java技术的在线考试
系统的开发
摘要
在线考试系统旨在实现考试的⽆纸化管理,对⼀些科⽬的考试可以通过互联⽹络或局域⽹进⾏,⽅便校⽅考务的管理,也⽅便了考⽣,尤其适合考⽣分布⼴,不易集中的远程教育。我主要开发系统的后台管理系统—JAVA 在线考试管理⼦系统,它包括试题管理、考⽣管理、在线制作试卷、控制学⽣考试的设置、试卷审批等功能。本论⽂主要介绍了对JAVA在线考试管理⼦系统的分析、设计和开发的全部过程。运⽤ER图,程序流程图等对在线管理⼦系统的设计过程进⾏详细的说明。
全⽂共分为开发⽅案、需求分析、系统设计、关键技术解决,结论五部分。开发⽅案中主要介绍开发在线考试系统得⽬的、开发⽅案的选择及开发框架的技术的确定;需求分析介绍了在线考试系统的总体需求及系统各模块的功能需求;系统设计介绍了系统设计的指导思想、数据库的设计、系统模块的设计;关键技术介绍了在具体实现时需解决的⼀些技术,如开发框架的整合技术、开发框架与数据库的连接及
数据的备份与还原。
本毕业设计的内容是设计并且实现⼀个基于web技术的在线考试系统,故⽽系统主要以j2EE作为开发基础,主要使⽤了
struts+spring等多种协议或技术,⽤eclipse作为开发⼯具,以MYSQL作为数据库,以Macromedia公司的Dreamweaver作为界⾯美化⼯具。基本实现了⽹上考试系统应有的主要功能模块,包括:管理员的登录,管理和维护;⽤户注册、登录、注销,个⼈信息的查询、修改;考试管理,套题管理,成绩管理。该系统界⾯简单、操作⽅便,容易维护。
关键词:在线考试j2EE struts + spring
⽬录
摘要I
Abstract 错误!未定义书签。
第⼀章引⾔ (1)
1.1 课题背景 (1)
1.2 课题⽬的和意义 (1)
1.3 本⽂结构 (1)
第⼆章系统应⽤的关键技术 (2)
2.1 JSP技术介绍 (2)
2.1.1 JSP的概述 (2)
2.1.3 JSP的强势与劣势 (3)
2.1.4 JSP与ASP的⽐较 (3)
2.2 Java组件JavaBeans (4)
2.2.1 什么是JavaBeans (4)
2.2.2 JSP与JavaBeans的关系 (4)
2.3 J2EE概述 (4)
2.4关于Struts (5)
2.4.1 Struts简介 (5)
2.4.2 Struts的主要功能 (5)
2.4.3 Struts⼯作原理 (6)
2.5 关于Spring (7)
2.5.1 Spring简介 (7)
2.5.2 为什么需要Spring (8)
2.5.3 Spring带给我们什么 (8)
2.6 关于B/S开发模式 (9)
2.6.1为什么引⼊B/S开发模式 (9)
2.7.1 mysql的特点 (9)
2.7.2 mysql的安装和配置(部分截图)[12] (10) 2.8 Tomcat服务器 (12)
2.8.1 Tomcat 服务器简介 (12)
2.8.2 Tomcat的特点 (12)
2.8.3 Tomcat的优势 (12)
2.8.4 Tomcat服务器的安装和配置 (13)
⼩结13
第三章系统需求分析和总体设计 (14)
3.1 系统功能需求 (14)
3.2 系统⾓⾊及其功能分析 (14)
3.2.1 系统的2个⾓⾊: (14)
3.2.2 系统⾓⾊的功能 (14)
3.3 总体设计思想概述 (15)
3.4 数据库设计 (16)
3.4.1 E-R图 (16)
3.4.2数据表的设计 (16)
3.5 系统的类设计 (18)
3.5.1 DAO类设计 (18)
3.5.2 connDB类设计(部分) (18)
3.5.3 过滤器类设计 (19)
3.5.4 类设计 (19)
3.6系统的⽤例图 (20)
3.6.1 总体⽤例分析 (20)
3.6.2 ⽤户管理⽤例分析 (21)
3.6.3 考试管理⽤例分析 (21)
3.6.4 考试题⽬管理⽤例分析 (22)
3.6.5 成绩管理⽤例分析 (22)
⼩结22
第四章系统的详细设计 (23)
4.1 数据库与connDB类映射的实现 (23)
4.2 主要模块的设计说明与界⾯ (24)
4.2.1⽤户管理模块 (24)
4.2.2考试管理模块 (29)
4.2.3 题⽬管理模块 (31)
4.3 系统的测试 (37)
⼩结38
第五章总结与展望 (38)
5.1 ⼯作总结 (38)
5.2 后续⼯作展望 (39)
参考⽂献 (40)
附录41
致谢44
第⼀章引⾔
1.1课题背景
⽹络化教育代表了教育改⾰的⼀个发展⽅向,已经成为现代教育的⼀个重要特征,并对教育的发展形
成新的推动⼒。随着Internet/Intranet的迅速发展和⼴泛普及,⽹络考试系统成为现代教育技术未来发展⽅向之⼀。作为⽹络考试的⼀个⼦系统——⽹络阅卷⼦系统,也成为⼀个重要的研究领域。现代⽹络考试作为⼀种新的考试⼿段已经开始进⼊⼈们的⽣活,正在给传统教育模式带来新的变⾰,并对教育的发展形成新的推动⼒。⽹络阅卷⼦系统突破了传统考试⽅式的时空限制,使阅卷⽅式更为灵活,同时充分利⽤计算机进⾏⾃动阅卷功能,⼤⼤减轻了教师的⼯作量。
1.2课题⽬的和意义
现阶段,学校与社会上的各种考试⼤都采⽤传统的考试⽅式,在此⽅式下,组织⼀次考试⾄少要经过五个步骤,即⼈⼯出卷,考⽣考试,⼈⼯阅卷,成绩评估和试卷分析。显然,随着考试类型的不断增加及考试要求的不断提⾼,教师的⼯作量将会越来越⼤,并且其⼯作将是⼀件⼗分烦琐和⾮常容易出错的事情,可以说传统的考试⽅式已经不能适应现试的需要。随着计算机应⽤的迅猛发展,⽹络应⽤不断扩⼤,如远程教育和虚拟⼤学的出现等等,且这些应⽤正逐步深⼊到千家万户。⼈们迫切要求利⽤这些技术来进⾏在线考试,以减轻教师的⼯作负担及提⾼⼯作效率,与此同时也提⾼了考试的质量,从⽽使考试更趋于公证、客观、更加激发学⽣的学习兴趣。例如⽬前许多国际著名的计算机公司所举办的各种认证考试绝⼤部分采⽤这种⽅式。为了适应新形势的发展,我们推出了这⼀系统,使其尽快在各类考试中发挥⾼效,便捷的作⽤,把⽼师从繁重的⼯作中解脱出来。
1.3本⽂结构
本⽂共分五个章节,系统地阐述了系统开发的全过程。
第⼀章,主要介绍了开发的背景、⽬的和意义。
第⼆章,主要介绍了本系统所⽤到的关键技术和⼯具,为下⼀步的设计的设计奠定基础。
第三章,主要对系统进⾏需求分析并进⾏总体设计。需求分析阶段通过分析系统的功能模块的划分以及⾓⾊的划分,为系统的总体设计提供依据。总体设计阶段通过对数据库、过滤器、、和实体类的设计,以及各个模块⽤例图的描述,形成了开发的整体思路。
第四章,主要介绍了主要模块的设计与实现,并给出关键源代码和最终的效果图。
第五章,主要是对这次毕业设计的总结和对后续⼯作的展望。
第⼆章系统应⽤的关键技术
2.1 JSP技术介绍
2.1.1 JSP的概述
JSP(Java Server Pages)是由Sun Microsystems公司倡导、许多公司参与⼀起建⽴的⼀种动态⽹页技
术标准,类似于其他技术标准,如ASP,PHP等,主要⽤于开发动态⽹页内容。
JSP是新⼀代的动态内容编程技术,它继承了Java技术的“⼀次编写,随处运⾏”的特性,允许Web开发⼈员开发和维护与平台⽆关,信息丰富动态的Web页⾯,包括HTML,DHTML,XHTML和XML,它能使Web开发⼈员轻易搭建⽹络平台,建⽴起功能强⼤的Web⽹站。JSP可以把⽤户界⾯从内容层次中分离出来,使得Web开发⼈员不必修改在底层的动态内容,就可以修改整体的页⾯布局。
2.1.2 JSP的运⾏机制
JSP⽂档被复制到Web服务器的⽂档⽬录中。当有⼈请求这个⽂档时,服务器识别出这个带有.jsp扩展名的⽂档,并意识到需要做特殊处理。第⼀次请求这个⽂档时,它被编译成⼀个servlet对象,并存储在内存中,然后输出内容回送给发出请求的⽤户机。第⼀请求之后,只要有请求到来,服务器将进⾏检查,看看这个⽂件是否做过改动,如果没有变化,服务器调⽤先前编译过的servlet对象。
JSP请求的步骤[2]如图2-1所⽰。
(1)⽤户机请求⼀个JSP页⾯。
图2-1 ⼀个JSP的请求步骤
(3)⽣成的servlet被编译并装载。
(4)编译的servlet服务请求并把⼀响应发送回⽤户机。
JSP主要是针对Java程序处理不熟悉的⼈设计的。与Servlet相⽐,JSP有如下两个优势:⽅便与HTML混合;在开发、测试⽅⾯⽐Servlet⽅便。
2.1.3 JSP的强势与劣势
JSP的强势:
(1)可移植性。JSP是⽤Java开发的,因此它是可移植的,可以⼀处编写,随处运⾏,⽀持多平台。
(2)有效性。JSP的初始化代码仅在Web服务器第⼀次加载时执⾏⼀次。
⼀旦加载,在处理⼀个新的请求时,只须调⽤⼀个新的服务⽅法。与处理每个请求都要全部加载⼀个完整的可执⾏程序相⽐,这是⼀个相当有效的技术。
(3)强⼤的可伸缩性和可扩充性。它能够在⾯向对象的语⾔(Java)中进⾏开发,并可以在现有对象基础上进⾏扩展,形成新的对象,从⽽更好地满⾜⽤户的需求。
(4)多样化和功能强⼤的开发⼯具⽀持。Java已经有了许多⾮常优秀的开发⼯具,⽽且许多可以免费得到,并且其中许多已经可以顺利的运⾏于多种平台之下。
(5)Java Servlet是⼀种开发Web应⽤的理想框架。JSP以Servlet技术为基础,⼜在许多⽅⾯作了改进。利⽤跨平台的JavaBeans组件,JSP为分离处理逻辑与显⽰样式提供了卓越的解决⽅案。
JSP的劣势:
(1)为了跨平台的功能,为了极度的伸缩能⼒,极⼤的增加了产品的复杂性,Java系统中包括JRE,JDK,J2EE,EJB等多种产品,这就需要⼤
量的学习和培训才能掌握它们,将它们有效地搭配在⼀起,灵活地加以
运⽤。
(2)Java的运⾏速度快是由于⽤户将class常驻内存,这样使⽤的内存空间就⽐较⼤。另⼀⽅⾯,它还需要硬盘空间来存储⼀系列.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页⾯,只有微软本⾝的Microsoft IIS和Personal Web Server可以⽀持ASP。
(2)平台的⽀持:JSP具有平台独⽴性,只要是⼀般的Java程序可以运⾏的平台,都⽀持JSP程序。Windows平台可以很好的⽀持ASP,但ASP对于基于Win32逐渐模型的依赖,使得它难于⼀直到其它平台上。jsp用什么前端框架
(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是不能扩充的[3]。
2.2 Java组件JavaBeans
2.2.1 什么是JavaBeans
JavaBeans事实上有三层含义。⾸先,JavaBeans是⼀种规范,⼀种在Java(包括JSP)中使⽤可重复使⽤的Java组件的技术规范。其次,JavaBeans是⼀个Java 的类,⼀般来说,这样的Java类将对应于⼀个独⽴的.java⽂件,在绝⼤多数情况下,这应该是⼀个public类型的类。最后,当JavaBeans这样的⼀个Java类在我们的具体的Java程序中被⽰例之后,我们有时也会将这样的⼀个JavaBeans 的实例称之为JavaBeans[4]。
2.2.2 JSP与JavaBeans的关系
使⽤JSP技术,Web页⾯开发⼈员可以使⽤HTML和XML标识来设计和格式化最终页⾯。使⽤JSP标识或者⼩脚本⽣成页⾯上的动态内容。⽣成内容的逻辑被封装在JSP标识和JavaBeans组件中,并且捆绑在⼩脚本中,所有的脚本在服务器端运⾏。核⼼逻辑封装在标识和Beans中,可以⽅便页⾯设计者编辑和使⽤JSP页⾯。
在服务器端,JSP引擎解释JSP标识和⼩脚本⽣成所请求的内容(例如,通过访问JavaBeans组件,使⽤JDBC技术访问数据库),并且将结果以HTML(或XML)页⾯的形式发送回浏览器。
绝⼤多数JSP页⾯依赖于可重⽤的跨平台的⾜见(JavaBeans或者Enterprise JavaBeans组件)来执⾏应⽤程序所要求的复杂的处理。这样的好处是开发⼈员能够共享和交换执⾏普通操作的组件,加速了总体开发过程。因此,基于Web的较为复杂的应⽤程序(如JSP开发⽹站或⽹上MIS),JSP的复杂架构必须由JavaBeans达成。
2.3 J2EE概述
J2EE(Java 2 Platform Enterprise Edition)是使⽤Java技术开发企业级应⽤的⼀种事实上的⼯业标准(Sun公司出于其⾃⾝利益的考虑,⾄今没有将Java及其相关技术纳⼊标准化组织的体系),它是Java技术不断适应和促进企业级应⽤过程中的产物。⽬前,Java平台有三个版本:适⽤于⼩型设备和智能卡的J2ME(Java 2 Platform Micro Edition)、适⽤于桌⾯系统的J2SE(Java

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。