网络考试系统的开发与设计 联系客服

发布时间 : 星期一 文章网络考试系统的开发与设计更新完毕开始阅读2d6a32b526284b73f242336c1eb91a37f011325a

网络考试系统的开发与设计 第一章 考试系统背景知识

1 Internet

Internet 是目前世界上最大的计算机互联网络,它遍布全球,将世界各

地各种规模的网络连成一个整体。作为Internet上一直先进的,易于被人们所接受的信息检索手段,World Wide Web(简称WWW)发展十分迅速。成为目前世界上最大的信息资源宝库。因此,建设一个好的Web站点对于一个机构的发展十分重要。近年来,随着网络用户要求的不断提高及计算机科学的迅速发展,特别是数据库技术在Internet中的广泛应用,Web站点向用户提供的服务将越来越丰富,越来越人性化。

我们发现这样一个事实,一个用户在访问一个网站时一般来讲只对该网站的部分内容感兴趣,而且这种兴趣会持续一段时间。这点启发了我们,如果能根据用户的喜好为不同的用户显示器个性化的页面,即着重显示该用户感兴趣的内容,将为用户节约大量的检索时间,而且这样的网页显然是更具有吸引力的。我们对登陆的用户进行追踪,分析,发掘用户奠基的规律,即用户先后点击的关联规则,这样在用户点击一个主题(链接)之后,系统能自动生成一页面,其中包含了该主题下用户经常关注的内容(若干链接),这样便在无需用户做出任何额外工作的情况下实现了为用户量身定做的个性化页面。要实现这样的功能,离不开后台数据库的支持。用户验证信息,收集到的用户点击信息,主体层次信息,分析得出的关联规则表等大量的数据都由数据库管理系统管理。本文中数据库服务器端采用了Microsoft Access数据库作为ODBC(Open Database Connectivity)数据源,并以先进的ADO(Active Data Object)技术进行数据库存取等操作,使Web与数据库紧密联系起来。

2 ASP

技术综述

2.1 ASP的产生

近年来随着Internet技术的飞速发展及用户需求的不但升级,Web页面技

术也不断的推陈出新,使得Web站点的功能越来越强大,能够提供服务种类越来越繁多。从HTML,Client Scrip 到CGI,从JAVA的诞生到Active X,Web页面设计人员不断受到冲击,微软公司在总结了以往技术,重新思考Web页面的真正需要后,推出了Active Server Pages(ASP),一种用以取代CGI(Common Gateway Interface,通用网关接口技术)。

简单讲,ASP是位于服务器端的脚本运行环境,通过这种环境,用户可以创建和运行交互式Web服务器端应用程序,如交互式的动态网页,包括使用HTML表单收集和处理信息,上传和下载等等。更重要的是,ASP使用的Active X基于开放设计环境,用户可以自己定义和制作组件加入其中,使自己的动态网页几乎具有无限的扩充能力,这是传统的Web可利用ADO(Active Data Object,微软的一种新的数据访问模型)方便快捷的访问数据库,从而使得开发基于WWW的应用系统成为可能。

2020-4-12 1 网络考试系统

2.2 ASP与IIS

2.2.1 IIS简介

Web服务器使Web应用程序的心脏。IIS(Internet Information Server)是微软推出的Windows NT Option Pack的主要成员,作为Windows NT的扩展,自推出以来已经有了很大发展,其体系结构是当今市场上最受关注的Web服务器之一。新推出的IIS4.0版本增强了系统安全性,具有服务器脚本开发调试,内容管理和站点分析,崩溃防护,内置JAVA虚拟机及全面支持ASP等强大功能。

2.2.2 IIS与ASP的结合

在过去,客户机/服务器结构的设计与Web的想换技术几乎处于平行线上,两者相互独立并无法做出集成性的设计。现在我们利用IIS+ASP构成三层Web结构(如下图所示)的中间一层,将客户机/服务器结构与Web密切结合,完成前后端两者的集成输出功能,使得Web站点的开发更方便,实现的功能更强大。 利用IIS+ASP技术来集成Web前后端带来的强大效益可归结为以下几个方面:

1. 减少构件和维护成本 2. 加快联机过程

3. 应用软件集中在服务器端开发管理

4. 前端可使用任何浏览器(IE、Netscape…..) 5. 后端可存取任何数据库(SQL、Access……) 6. 可使用脚本语言开发(VBScrip、JavaScrip…..)

后端数据库 数据服务器

ActiveX Server元件

Micriosoft IIS + ASP 程序和计算逻辑 前端浏览器 浏览器

2.3 ASP

2.3.1 ASP内部6大对象

ASP提供了6个功能强大的内部对象,每个对象具有各自的属性(Property)、方法(Method),有的还拥有数据集和(Collection)与事件(Event),

2020-4-12 2 网络考试系统

他们共同完成Web中的一些重要工作。这6大对象及其功能描述如表所示。

对象名称 功能描述 Request Response Server Session Application 从客户端取得信息 将信息送给客户端 提供一些Web服务器工具 储存一个Session内的用户信息,该信息仅可被该用户访问 在一个ASP-Application中让不同的客户端共享信息 ObjectContext 配合Microsoft Transactionf服务器进行分布式事务处理

合理的运用这些对象可以使原本复杂,繁琐的工作般的简洁而条理清

晰。

我们可以利用下面的语法直接使用这些对象: 对象.属性/方法/数据集合

2.3.2 Global 文件

每一个以Active Server Pages 为基础的一应用程序都拥有一个Global.asa文件(ASA后缀名其实是Active Server Applicatio 的缩写),它位于每一个应用程序的基点目录之下。当Active Server Pages坐下两个动作时,Server便会去读Global.asa文件:

1. Web Server启动之后,一个应用程序目录中任一个ASP文件被提出第一个HTTP请求(Request)时。 2. 不具有任何Session的客户端向Server请求一个ASP文件时。

3 利用ADO访问数据库

ADO(Active Data Objects)是一种操作Microsoft.所支持的数据库的新技

术。在ASP中,ADO可以看作是一个服务器组件(Server Component),更简单一点说,使一系列的对象,应用这些功能强大的对象,既可以轻松完成对数据库复杂得的操作。本文中个性化页面的实现便大量的用到了ADO技术。具体操作步骤可以归纳为以下几步:

1. 创建数据库源名(DSN)

2. 创建数据库链接(Connection)

2020-4-12 3 网络考试系统

3. 创建数据对象 4. 操作数据库

5. 关闭数据库对象和链接

每一步的做法如下:

1. 创建数据源名

DSN(Data Source Name)既数据源名称。我们知道,ODBC是一种访问数据库的方法,只要系统中有相应的ODBC驱动程序,任何程序就可通过ODBC操纵驱动程序的数据库。比如我们系统中有Access的ODBC驱动程序,那么即使我们没有Access软件,也可以在我们的程序中对一个Access的MDB数据库加、删、改纪录。而且我们根本不用知道这个数据库时放在哪里的。我们只要写出SQL语句,ODBC驱动成就会帮助我们做一切事情。我们给ODBC驱动程序传SQL指令时,即是用DSN来告诉它到底操作的是哪一个数据库。如果数据库的平台变了,比如我们改用了SQL Server的数据库,只要其中表的结构没有变,我们就不用改写我们的程序,只要重新在系统中配置DSN就行了。由此可见,DSN是应用程序和数据库之间的桥梁。

2. 创建数据库链接(Connection)

链接用以保持一些关于正在访问的数据的一些状态信息,以及链接着信息。ASP文件中如果要访问数据,必须首先创建于数据库的连接,其语法如下:

set mConn = Server createObject(“ADOBD CONNECTION”) 这条语句创建了链接对象mConn,接下来: mConn.Open “dsn1”, “vsername”, “password”

这条语句打开链接,用到了DSN,本例为”dsn1”。其后的两个参数分别是访问数据库的用户名和口令,为可选参数。

以上两个步骤缺一不可,因为链接对象的创建于打开是两回事,只有打开了才真正的可以使用。 3. 创建数据对象(Record Set)

ADO中的数据对象通常保存的是查询结果。Record Set是ADO中最复杂的对象,有许多属性和方法。Record Set保存的是一行行的纪录,并标有一个当前纪录。以下是创建方法:

Set Record Set = mConn.Execute(sqlStr) 这条语句创建并打开了对象Record Set,其中mConn是先前创建的

链接对象,sqlStr是一个字串,代表一条标准的SQL语句。例如: sqlStr = “SELECT * FROM tab1”

Set Record Set = mConn.Execute(sqlStr) 这条语句执行后,对象Record Set中就保存了表tab1种的所

有纪录。

4. 操作数据库

我们通过调用链接对象的Execute方法来将查询结果返回给一个数据对象或进行插入、删除等操作。例如:

sqlStr = “ INSERT INTO tab1 VALUES(1,2)”

2020-4-12 4 网络考试系统