没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
1
1 概述
目前,学校的各种考试大都还是采用传统的考试方式,在此方式下,组织一次考试
至少要经过人工出卷、考生考试、人工阅卷、成绩评估和试卷分析五个步骤。然而,随
着考试类型的不断增加及考试要求的不断提高,出题者的工作量将会越来越大,并且其
工作将是一件十分烦琐和非常容易出错的事情,可以说传统的考试方式已经不能适应现
代考试的需要。随着信息产业的发展,网络等前沿技术已经普及到各行各业。人们迫切
要求利用这些技术来进行在线考试,以减轻教师的工作负担及提高工作效率,与此同时
也提高了考试的质量,从而使考试更趋于公证,更加激发学生的学习兴趣。
本课题所研究的是取代传统考试的应用型系统,完全实现电脑自动化。传统考试从
出题、组卷、印刷,到试卷的分发,答题、收卷,再到判卷,公布成绩,统计分析考试
结果整个过程都需要人工参与,周期长,工作量大,容易出错,还要有适当的保密工作,
使得整个学习考试成本较大。本系统可以完全实现无纸化、网络化、自动化的计算机在
线学习考试,对单位的信息化建设具有深远的现实意义和实用价值。
1.1 选题背景
随着科技日新月异的发展,我们已经进入了一个网络技术迅猛发展的时代,就是所
谓的“信息时代”,“数字化时代”。这个时代讲究的是效率,因此传统的行业受到了
很大的冲击,如果不作出变革,必将被这个社会所淘汰。对于学校来讲,由于信息化,
网络化的发展,以网络技术为基础的数字化教学是主要目标在此开发的在线考试系统,
主要是想创造出一种新的教学模式,提高工作和教学效率。该系统应用示意通用考试管
理系统将传统的培训考试与先进的网络模式相结合,使用户可根据自身特点快速构建考
试、测评、练习、竞赛、调查、分析及管理于一体的网络化考试平台,可轻松完成全员
考试、技能考核、需求调研,问卷调查以及知识竞赛等工作。
1.2 国内外研究现状
网络技术的迅猛发展使得在线考试的技术手段和支撑发生了翻天覆地的变化,网络
时代的分布性,开放性和其强大的计算能力使得传统的考试在时间和空间上都可以有所
突破。同样在国外,这种在线考试系统也成为其研究热点之一。只不过在国外,各方面
的发展较早,所以进行的比较深化。据不完全统计,国外已经有相当一部分学生拥有了
ipad 等电子学习用品,并且选择这种教学模式的人正在逐年上升。然而在国内,我们
起步较晚,还停留在摸索阶段,发展进程缓慢。学生们拥有的电子资源不是很丰富,主
要集中在学校机房中,空间有限,时间有限,很难体现这套系统的优越性。
1.3 本课题研究的意义
使用在线考试系统,一方面,是顺应时代的需求,这是一个迅猛发展的时代,如果
不作出一些创新,面临的只能是被这个世界淘汰;另一方面,对于学校,老师,还有学
生,都是一个非常好的选择。对于学校,可以节省考试场地等一系列的开支,并且可以
减少错误的发生;对于老师,可以从繁忙的批阅试卷的环境中解脱出来,轻轻松松网上
阅卷;对于考生,更是一个绝佳的选择。它能帮助学生用最少的时间进行充分的复习和
练习。用最少的时间完成自我综合测试练习。同学们可以根据自己的情况来决定如何进
行测试。考试系统可以反馈学生信息,有效地进行自我评定,可以针对性地查缺补漏,
2
做到有的放矢,有助于学生给自己一个学习成果的定位。有利于学生主体意识的培养。
学生在模拟考试方面一定程度上成了主人,他们不再完全受考试主办方的摆布。有利于
学生在未来的求职考试时应付自如,掌握必备的知识基础,一举三得。
1.4 系统开发方法
目前,网络系统分为两大类:Client/server 模式,Browser/Web 模式。前者主要
的缺点是维护、升级较麻烦,后者客户端是一个标准的浏览器,服务器端是 Web
Server ,而 Web Server 与数据库和应用服务器的紧密结合,这种系统的优点是便于扩
充,升级维护比较方便。
该考试学习系统是基于 B/S 模式架构的应用系统,采用开放性结构,具有良好的兼
容性,只要提供数据库接口就能轻易与各种应用软件对接。在许多细节方面均表现得更
加人性、更加成熟、更加完善,同时结合用户需求,满足现在各行各业用于网上考试、
网上学习,做到灵活性强,安全性能高。本系统应用新的潮流技术和传统技术相结合,
真正实现无纸网络考试和学习。
1.5 系统开发工具
1.5.1 技术简介
JSP(Java Server Page 服务器网页)是从 1998 年开始出现的新技术。由 Sun 公司倡
导、许多公司参与一起建立的一种动态网页技术标准,是基于 JavaServlet 以及整个
Java 体系的 web 开发技术。在传统的网页 HTML 文件(*.htm,*.html)中加入脚本片段和
JSP 标记(Tag),构成 JSP 网页(*.jsp)。JSP 全名为 Java Server Pages,其根本是一个
简化 servlet 设计,他实现了 Html 语法中的 java 扩张(以 <%, %>形式)。JSP 与 Servlet
一样,是在服务器端执行的。通常返回给客户端的就是一个 HTML 文本,因此客户端只
要有浏览器就能浏览。Web 服务器在遇到访问 JSP 网页的请求时,首先执行其中的程序
段,然后将执行结果连同 JSP 文件中的 HTML 代码一起返回给客户端。插入的 Java 程序
段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。
1.5.2 JSP 工作原理
当一个 JSP 文件第一次被请求的时候,JSP 引擎(本身也是一个 Servlet)首先会把
这个 JSP 文件转换成一个 Java 源文件。在转换过程中如果发现 JSP 文件有语法错误,
转换过程将中断,并向服务端和客户端输出出错信息;如果转换成功,JSP 引擎用 javac
把该 Java 源文件编译成相应的.class 文件并将该.class 文件加载到内存中。
其次创建一个该 Servlet 的实例,并执行该实例的 jspInit()方法(jspInit()方法
在 Servlet 的生命周期中只被执行一次)。
然后创建并启动一个新的线程,新线程调用实例的 jspService()方法。(对于每一
个请求,JSP 引擎会创建一个新的线程来处理该请求。如果有多个客户端同时请求该 JSP
文件,则 JSP 引擎会创建多个线程,每个客户端请求对应一个线程)。
浏览器在调用 JSP 文件时,Servlet 容器会把浏览器的请求和对浏览器的回应封装
成 HttpServletRequest 和 HttpServletResponse 对象,同时调用对应的 Servlet 实例
中的 jspService()方法,把这两个对象作为参数传递到 jspService()方法中。
jspService()方法执行后会将 HTML 内容返回给客户端。
如果 JSP 文件被修改了,服务器将根据设置决定是否对该文件进行重新编译。如果
需要重新编译,则将编译结果取代内存中的 Servlet,并继续上述处理过程。 如果在任
3
何时候由于系统资源不足,JSP 引擎将以某种不确定的方式将 Servlet 从内存中移去。
当这种情况发生时,jspDestroy()方法首先被调用, 然后 Servlet 实例便被标记加入
“垃圾收集”处理。
补充:
以多线程方式执行可大大降低对系统的资源需求,提高系统的并发量及响应时间,
但应该注意多线程的编程限制,由于该 Servlet 始终驻于内存,所以响应是非常快的。
虽然 JSP 效率很高,但在第一次调用时由于需要转换和编译而有一些轻微的延迟。
在 jspInit()中可以进行一些初始化工作,如建立与数据库的连接、建立网络连接、
从配置文件中获取一些参数等,而在 jspDestory()中释放相应的资源。
jspInit()及 jspDestory()格式如下:
public void jspInit()
{
System.out.println("jspinit");
}
public void jspDestory()
{
System.out.println("jspDestory");
}
1.5.3 JSP 体系结构
JSP 开发标使用 JSP 的技术,分为 model1,model2 两种模式。
尽管 Model 1 体系十分适合简单应用的需要,它却不能满足复杂的大型应用程序的
实现。不加选择地随意运用 Model 1,会导致 JSP 页内被嵌入大量的脚本片段或 Java 代
码,特别是当需要处理的请求量很大时,情况更为严重。尽管这对于 Java 程序员来说
可能不是什么大问题,但如果 JSP 页面是由网页设计人员开发并维护的通常这是开发大
型项目的规范这就确实是个问题了。从根本上讲,将导致角色定义不清和职责分配不明,
给项目管理带来不必要的麻烦。我们还可以看看 JSP 体系结构的另一种:MVC
(Model-View-Controller ) 使用 JSP 和 SERVLET 当 JSP 刚刚出来的时候,它基本上是
ASP 的翻版,但是,随着 JSP 的开发者把一些新功能加入 JSP,JSP 变得比 ASP 更有扩
展性了,因为它可以和 SERVLET 整合在一起。这样,我们在用 SERVLET 控制应用程序
的时候可以使用 JSP 做摸板。
Model 2 体系结构,是一种把 JSP 与 servlets 联合使用来实现动态内容服务的方法。
它吸取了两种技术各自的突出优点,用 JSP 生成表达层的内容,让 servlets 完 成深层
次的处理任务。在这里,servlets 充当控制者的角色,负责管理对请求的处理,创建 JSP
页需要使用的 bean 和对象,同时根据用户的动作决定把那个 JSP 页传给请求者。特别
要注意,在 JSP 页内没有处理逻辑;它仅负责检索原先由 servlets 创建的对象或 beans,
从 servlet 中提取动态内容插入静态模板。在我看来,这是一种有代表性的方法,它清
晰地分离了表达和内容,明确了角色的定义以及开发者与网页设计者的分工。事实上,
项目越复杂,使用 Model 2 体系结构的好处就越大。
JSP Model 2 体系结构在 SUN 公司的 J2EE 设计蓝图里有非常详细的说明,这里还
有该体系结构的另一张图例:如何选择使用。很明显,JSP 体系结构 1 是以简单页面控
制为中心的,而体系 2 是以整体规划为中心的。换句话说,简单的流程我建议使用 JSP
体系结构 1,而包含大量事物处理的项目建议使用体系 2。2。如果你的项目里互交成分
4
多不多,如果不多的话,建议使用 JSP 体系结构 1。3。两个体系不是对立的,如果能
够满足你的需求,你可以在你的项目里混合的使用两种 JSP 体系结构。
1.5.4 JSP 的特点
JSP 是 Sun 公司推出的新一代站点开发语言,他完全解决了目前 ASP,PHP 的一个
通病,脚本级执行(据说 PHP4 也已经在 Zend 的支持下,实现编译运行).Sun 公司借
助自己在 Jav a 上的不凡造诣,将 Java 从 Java 应用程序 和 Java Applet 之外,又有
新的硕果,就是 Js p--Java Server Page。Jsp 可以在 Serverlet 和 JavaBean 的支
持下,完成功能强大的站点 程序。但 JSP 代码被编译成 Servlet 并由 Java 虚拟机解
释执行,这种编译操作仅在对 JSP 页面的第一次请求时发生。
JSP 特点:
将内容的生成和显示进行分离
使用 JSP 技术,Web 页面开发人员可以使用 HTML 或者 XML 标识来设计和格式化最终
页面。使用 JSP 标识或者小脚本来生成页面上的动态内容。生成内容的逻辑被封装在标
识 JavaBeans 组件中,并且捆绑在小脚本中,所有的脚本在服务器端运行。如果核心逻
辑被封装在标识和 Beans 中,那么其他人,如 Web 管理人员和页面设计者,能够编辑和
使用 JSP 页面,而不影响内容的生成。在服务器端,JSP 引擎解释 JSP 标识和小脚本,
生成所请求的内容(例如,通过访问 Java Beans 组件,使用 JDBCTM 技术访问数据库,
或者包含文件),并且将结果以 HTML(或者 XML)页面的形式发送回浏览器。这有助于
作者保护自己的代码,而又保证任何基于 HTML 的 Web 浏览器的完全可用性。
强调可重用的组件
绝大多数 JSP 页面依赖于可重用的,跨平台的组件(JavaBeans 或者 Enterprise
JavaBeansTM 组件)来执行应用程序所要求的更为复杂的处理。开发人员能够共享和交
换执行普通操 作的组件,或者使得这些组件为更多的使用者或者客户团体所使用。基
于组件的方法加速了 总体开发过程,并且使得各种组织在他们现有的技能和优化结果
的开发努力中得到平衡。
采用标识简化页面开发
Web 页面开发人员不会都是熟悉脚本语言的编程人员。JavaServer Page 技术封装了
许多功能,这些功能是在易用的、与 JSP 相关的 XML 标识中进行动态内容生成所需要的。
标准的 JS P 标识能够访问和实例化 JavaBeans 组件,设置或者检索组件属性,下载
Applet,以及执行用 其他方法更难于编码和耗时的功能。通过开发定制化标识库,JSP
技术是可以扩展的。今后,第三方开发人员和其他人员可以 为常用功能创建自己的标
识库。这使得 Web 页面开发人员能够使用熟悉的工具和如同标识一样的执行特定功能的
构件来工作。 JSP 技术很容易整合到多种应用体系结构中,以利用现存的工具和技巧,
并且扩展到能够 支持企业级的分布式应用。作为采用 Java 技术家族的一部分,以及
Java 2(企业版体系结构 )的一个组成部分,JSP 技术能够支持高度复杂的基于 Web
的应用。 由于 JSP 页面的内置脚本语言是基于 Java 编程语言的,而且所有的 JSP 页
面都被编译成为 java Servlet,JSP 页面就具有 Java 技术的所有好处,包括健壮性和
安全性。
作为 Java 平台的一部分,JSP 拥有 Java 编程语言“一次编写,各处运行”的特点。
随着越来越多的供应商将 JSP 支持添加到他们的产品中,您可以使用自己所选择的服务
器和工具,更改工具或服务器并不影响当前的应用。
5
1.5.5 MYSQL 数据库
MySql 是一个快速、多线程、多用户的 SQL 数据库服务器,其出现虽然只有短短的
数年时间,但凭借着“开放源代码”的东风,它从众多的数据库中脱颖而出,成为 PHP
的首选数据库。除了因为几乎是免费的这点之外,支持正规的 SQL 查询语言和采用多种
数据类型,能对数据进行各种详细的查询等都是 PHP 选择 MySql 的主要原因。下面,就
让我们来看看 MySql 数据库的主要特征。
MySql 的核心程序采用完全的多线程编程。线程是轻量级的进程,它可以灵活地为
用户提供服务,而不过多的系统资源。用多线程和 C 语言实现的 MySql 能很容易充分利
用 CPU。
MySql 可 运 行 在 不 同 的 操 作 系 统 下 。 简 单 地 说 , MySql 可 以 支 持
Windows95/98/NT/2000 以及 UNIX、Linux 和 SUN OS 等多种操作系统平台。这意味着在
一个操作系统中实现的应用可以很方便地移植到其他的操作系统下。
MySql 有一个非常灵活而且安全的权限和口令系统。当客户与 MySql 服务器连接时,
他们之间所有的口令传送被加密,而且 MySql 支持主机认证。
MySql 支持 ODBC for Windows。MySql 支持所有的 ODBC 2.5 函数和其他许多函数,
这样就可以用 Access 连接 MySql 服务器,从而使得 MySql 的应用被大大扩展。
MySql 支持大型的数据库。虽然对于用 PHP 编写的网页来说只要能够存放上百条以
上的记录数据就足够了,但 MySql 可以方便地支持上千万条记录的数据库。作为一个开
放源代码的数据库,MySql 可以针对不同的应用进行相应的修改。
MySql 拥有一个非常快速而且稳定的基于线程的内存分配系统,可以持续使用面不
必担心其稳定性。事实上,MySql 的稳定性足以应付一个超大规模的数据库。
强大的查询功能。MySql 支持查询的 SELECT 和 WHERE 语句的全部运算符和函数,
并且可以在同一查询中混用来自不同数据库的表,从而使得查询变得快捷和方便。
MySQL 的优点:它使用的核心线程是完全多线程,支持多处理器。有多种列类型:
1、2、3、4、和 8 字节长度自有符号/无符号整数、FLOAT、DOUBLE、CHAR、VARCHAR、
TEXT、BLOB、DATE、TIME、DATETIME、 TIMESTAMP、YEAR、和 ENUM 类型;它通过一个
高度优化的类库实现 SQL 函数库并像他们能达到的一样快速,通常在查询初始化后不该
有任何内存分配。没有内存漏洞;全面支持 SQL 的 GROUP BY 和 ORDER BY 子句,支持聚
合函数(COUNT()、COUNT(DISTINCT)、AVG()、STD()、SUM()、MAX()和 MIN())。你可以
在同一查询中混来自不同数据库的表;支持 ANSI SQL 的 LEFT 0UTER JOIN 和 ODBC;所
有列都有缺省值。你可以用 INSERT 插入一个表列的子集,那些没用明确给定值的列设
置为他们的决省值。
MySQL 可以工作在不同的平台上。支持 C、C++、Java、Perl、PHP、Python 和 TCL
API。
MySQL 的缺点:
MySQL 最 大 的 缺 点 是 其 安 全 系 统 , 主 要 是 复 杂 而 非 标 准 , 另 外 只 有 到 调 用
mysqladmin 来重读用户权限时才发生改变。
MySQL 的另一个主要的缺陷之一是缺乏标准的 RI(Referential Integrity-RI)机
制;Rl 限制的缺乏(在给定字段域上的一种固定的范围限制)可以通过大量的数据类型
来补偿。
MySQL 没有一种存储过程(Stored Procedure)语言,这是对习惯于企业级数据库的
程序员的最大限制。
MySQL 不支持热备份。
剩余49页未读,继续阅读
资源评论
Q_97095639
- 粉丝: 364
- 资源: 1万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功