基于ASP技术的Web数据库系统设计与实现
2012-07-25王丽美
许 峰,王丽美
0 引言
ASP即Microsoft Active Server Pages,即活动的服务器网页,是一套微软开发的服务器端脚本环境,ASP 内含于IIS 5.0和 IIS 6.0之中。ASP是一种技术框架,其主要功能是为生成动态的交互式的WEB服务器应用程序,提供一种功能强大的方法或技术。通过ASP我们可以结合HTML网页、ASP指令和ActiveX元件建立动态、交互且高效的WEB服务器应用程序。[1]ASP编写的网页代码运行于服务器端,由内置的IIS 负责解释,并将解释的最终结果通过网络返回到客户端浏览器上,所以,作为客户不用担心自己的计算机是否能够运行动态网页的代码,以及由于在服务器端运行程序代码,因此能大大提高网页运行速度,并且保证源程序的安全,防止程序被窃取。
ASP是通过Web数据库的查询即ADO技术来体现其优势的,ADO (ActiveX Data Object)能够快速、准确方便地实现Web数据库存取。ADO允许使用VBScript、JavaScript、VC++等语言控制数据库的访问和查询结果的输出显示。
1 ASP应用背景及其特点
随着互联网技术的飞速发展,计算机网络已经深入到我们每个人的生活,同时,也是我们国民经济发展的主要推动力。据有关部门统计,我国目前有各类网站几百万个,我们所获取的信息,很大一部分来自于各种网站。一方面,网站需要不断调整其网页的内容来满足不同信息发布的要求,另一方面,网页也需要与浏览者进行有效交互,静态网页很难满足这些要求,所以,开发动态网页或动态内容成了越来越多的站点所追求的目标。动态网页可以对数据库的内容变化进行动态响应,从而随时改变网页信息。因此,通过网页如何动态交互访问数据库成为关键的问题,传统的方法主要有CGI、ISAPI和JDBC等技术,但这些技术开发步骤烦琐且无法直接与HTML集成,只适合专门的程序员使用,在实际应用中难以进行快速开发、及时维护和大面积推广。应运而生的ASP技术正好弥补了这些不足,ASP在开发方面具有跨平台、面向组件的特性,应用起来更加灵活、更具交互性。[2]ASP的技术特点如下:(1)HTML代码结合VBScript、Jscript脚本语言可以完成动态网页设计;(2)编写网页所用脚本语言都可以在服务器端通过IIS解释后直接执行,对客户端浏览器要求不高。(3)通过记事本等简单的文本编辑器即可编写。(4)ASP的源程序均在服务器端执行,保证程序的安全性,防止被盗用。
2 Web数据库体系的结构
Web数据库系统是建立在浏览器/服务器(B/S)模型之上的。该模式在TCP/IP的支持下,以HTTP为传输协议,客户端通过Browser访问WEB服务器以及与之相连的后台数据库,负责信息显示与向服务器发送HTTP请求。Web服务器介于Web浏览器与数据库服务器之间,负责接收用户服务,并做出相应响应。IIS安装于其中,负责对网页中动态脚本部份进行解释。服务器将数据传送至要被处理的脚本或应用程序,并在数据库中查询数据或将数据投递到数据库中。最后,服务器将返回结果插入到HTML页面,传送至客户端以响应用户。从而实现在Internet的环境下对数据库的访问操作,使得Internet中的信息更丰富、使用更简便,其体系结构,如图1所示:
图1 基于Web的B/S(Browser/Server)体系结构
3 ASP访问WEB数据库的过程
ASP是一种服务器端的脚本语言,ASP的执行需要服务器来解释。解释执行ASP的服务器程序一般为IIS(Internet Information Server),它是Windows组件。在安装Windows时选择该组件或安装后再行安装IIS组件,然后进行合适的设置,即可使本机成为服务器,并具备解释ASP脚本语言的能力,所有微软的Web服务器都支持ASP。[3]其WEB数据库访问方式,如图2所示:
图2 ASP WEB数据库访问示意图
ASP工作过程如下:(1)在客户端浏览器地址栏输入动态网页文件名进行访问请求;(2)将访问请求通过网络发送给服务器端;(3)动态网页判断;(4)动态网页中如需访问web服务器数据库,可以通过ADO技术连接各类数据库,如ACCESS、SQL SERVER等。ADO调用先被送到OLE,然后再交由ODBC处理。ODBC根据所提供的参数(如数据库驱动、数据库名称)进行数据访问;(5)IIS解释动态网页中脚本部分,并将其结果生成HTML静态网页并传送回浏览器。
4 在ASP中利用ADO技术访问WEB数据库的实例
一个动态站点是离不开数据库的,站点的内容会随着数据库内容的变化而变化。ADO是ASP中推荐的连接和调用数据库的方式,它通过在WEB服务器上设定ODBC(Open Database Connectivity),可以对几乎所有数据库进行读取和写入操作,如访问Microsoft Access、Microsoft SQL Server和Oracle等数据库。[4]ADO连接数据库的方式有很多,我们主要介绍,利用数据库驱动程序,直接访问数据库的连接字符串方式。并通过设计服务器端学生信息库的读取网页来举例说明,利用ASP实现用户访问WEB数据库的过程。
(1)在服务器端建立一个 ACCESS数据库,取名information.mdb,在其中建立一个学生信息表并输入相应数据。
(2)编写客户端有能够用程序,取名browser.asp,其代码如下:
用户在客户端浏览器地址栏上输入一个URL地址并回车如:http://localhost/browser.asp。当浏览器网页按下相应按钮时,程序将自动跳转到服务器端并打开服务器端默认目录下的data.asp动态网页进行服务器端数据库访问。
(3)在服务器端,建立文件data.asp,进行数据库读取并显示。
第一步建立 Connection对象的一个实例,第二步利用Open方法和 Access数据驱动程序打开服务器上的 Access数据库studata.mdb,第三步执行SQL查询语句,并将查询结果结合HTML代码返回到客户端浏览器上,如图3所示:
图3 服务器端数据库读取
程序代码如下:
5 结语
利用ASP实现数据库访问关键前提是要建立数据库的链接,只有这样,才能实现对数据库数据的增加、删除、修改,更新及查询操作。为了使网页实现信息动态变化,我们可以使用Web数据库来管理整个网站,就是将网站数据库化,只要更新数据库的数据,网页内容就会相应更新。此外还可以将网站的内容储存在数据库中,利用数据库提供的强大搜索功能,从多个方面搜寻网站的数据。ASP实现Web数据库访问可以应用于很多领域,比如:银行余额查询、在线购书、在线预定机票、在线查询、在线股市买卖交易、在线医院预约挂号、在线学校注册选课、在线电话费查询等。[5]此外,ASP除了能够提供访问数据库的服务器组件之外,还有读写服务器文件、网站访问记数器等服务器组件,也可以自己编写各种个性化的服务器组件来扩充ASP的功能,设计出精美实用的动态网页。
[1]党倩,柴小飞. 基于ASP的Web数据库查询技术及实例分析[J].电脑编程技巧与维护,2011,12
[2]李刚,王茜. 基于Web访问数据库的实现方案[J].计算机工程与应用,2008,2
[3]张景峰,韩红旗等.ASP程序设计及应用[M]. 北京:中国水利水电出版社,2005
[4]唐建国. 数据访问新标准—ADO[J]电脑编程技巧与维护 ,1999,5
[5]张健,陈显中.ASP技术在Web数据库中的应用[J]计算机与网络,2006,12