第一章 设计基础知识概述
1.1 ASP技术
ASP提供有服务器端脚本编写环境,使用ASP的用户可以创建并且运行动态,交互的Web服务器应用程序,也可以组合HTML页,脚本命令和ActiveX组件以创建交互的Web页和基于Web的功能强大的应用程序。ASP应用程序很容易开发和修改。ASP页是包括HTML标记,文本和脚本命令的文件。使用ASP页可以调用ActiveX组件以执行任务,例如连接到数据库或者进行商务计算等。通过ASP可以为Web页添加交互内容,也可以用HTML页构成整个的Web应用程序,这些应用程序使用HTML页作为客户端的界面。
ASP技术是一种类似于HTML(Hypertext Markup Language超文本标识语言)、Script与CGI(Common Gateway Interface通用网关接口)的结合体,简单的讲它是一种运行于服务器的脚本语言,但是其运行效率比CGI更高、程序编制也比HTML更方便且更有灵活性,程序安全性及保密性也远比Script好。
其特点归纳如下:
1). ASP语言可以和HTML语言或其他脚本语言 (VB Script与Java Script)相互嵌套。
2). ASP是一种在Web服务器端运行的脚本语言,因此,程序代码完全保密。
3). ASP以对象为基础,因此可以使用ActiveX控件继续扩充其功能。
4). ASP内置ADO组件,因此可以轻松地存取各种数据库,大大缩短了程序开发时间。
5). ASP可以将运行结果以HTML的格式传送至客户端浏览器,因此ASP可以适用于各种浏览器。
下面来介绍一下ASP的几个内置对象。
Request对象,我们知道HTTP通讯协议是一种请求与响应结合(Request/Response)的通讯协议,因此通常由客户端向Web服务器提出请求,Web服务器才会响应信息。因此在ASP中,特别将“客户端提出的要求”与“Web服务器响应的信息”等动作封装成Request对象与Response对象。换而言之,Request对象通常包含了用户端的相关信息,如浏览器的种类、表头信息、表单参数及cookies等等。
Response对象,每一种程序语言或开发工具一定都有与用户沟通的界面或函数,ASP也不例外。在ASP中负责将信息传达到用户的对象就是Response对象。
Server对象,Server对象允许用户取得服务器提供的各项功能,例如,Server对象的Create Object 方法允许客户端用户建立一个ActiveX Server组件实例,其所建立组件实例会随着服务器端完成ASP网页的处理而自动被释放。如果希望此对象实例可以跨多个ASP网页,就要用到Session对象保留该组件实例,直到Session对象的运行时间到了,或是在其他ASP网页调用Session对象的Abandon方法,此组件实例才会被释放。
Session对象,Session对象在ASP程序编写中占了相当重的份量,由于网页是一种无状态的程序,因此几乎无法知道用户的浏览状态。必须通过Session对象记录用户的相关信息,以供用户再次对此Web服务器提出要求时作确认,例如,在某些特定的网页中,常需要用户输入确认的账号和密码,假如这些身份确认的结果无法保留,那岂不是每一个网页都需要重新输入一次密码。换而言之,每一个Session的用户,Web服务器均会自动的为它们建立一个Session。必须说明,Session对象只能适用于具备Cookie功能的浏览器。
1.2 ADO技术
ADO(ActiveX Data Objects)是微软公司提供给网页开发者在网页中存取数据库的最新技术,它也是ASP内置的重要组件,ADO主要的目的是为了存取或修改数据源的数据、或增加数据到指定的数据源,数据源不仅包括数据库,而且包括dBase、Excel、Foxpro、Access或文本文件等一些小型的数据表,所以,只要是ODBC驱动程序所能存取的数据源皆是ADO存取的对象。ADO主要是由Connection对象、Command对象、Parameter对象、Recordset对象、Field对象、Property对象及Error对象等七个对象与Fields数据集合、Properties数据集合、Parameters数据集合及Errors数据集合等四个数据集合所组合而成,其功能概述如下。
1.2.1 ADO提供的七个对象
1).Connection对象负责与指定的数据源进行连接,除此之外,它还可以通过事物(Transaction)来确保在事物中所有的数据源变更的全部成功。
2).Command对象负责对数据库提供请求,也就是传递指定的SQL命令。换而言之,Command对象必须经过一个已经建立的连接(Connection对象)发出数据操作语言(DML,Data Manipulation Language)来操作数据源的数据,这些命令通常包括INSERT(增加记录)、DELETE(删除记录)、UPDATE(更新记录)、或是SELECT(以Recordset的形式选取数据)等。除此之外,也可以通过Command对象对数据库发出数据定义语言(DDL,Data Definition Language),例如CREATE TABLE(建立数据表)、DROP TABLE(删除数据表)或ALTER TABLE(修改数据表结构)等。
3).Parameter对象负责传递Command对象所需要的SQL命令参数。
4). RecordSet对象负责浏览和操作从数据库取出的数据,换而言之,RecordSet对象就象是一个二维的数组,数组的每一行表示一个数据记录,而每个数剧列包含一个或多个数据字段,即Field对象。
5). Field对象表示指定RecordSet对象的数据字段。
6). Property对象表示ADO的各项对象属性值,换而言之,每个ADO对象都会有一组描述和控制对象行的属性。
7). Error对象负责记录连接过程所发生的错误信息。
1.2.2 ADO提供的四个数据集合
1). Connection对象包含Errors数据集合,在Errors数据集合中包含数剧源响应失败时所建立的Error对象。
2). Command对象包含Parameters数据集合,在Parameters数据集合中包括Command对象所有的Parameter对象。
3). RecordSet对象包含Fields数据集合,在Fields数据集合中包含RecordSet对象的所有Field数据字段对象。
4). Connection对象、Command对象、RecordSet对象与Field对象皆包含一个Properties数据集合,在Properties数据集合中包含所对应Connection对象、Command对象、RecordSet对象与Field对象的Property对象。
ADO的七个对象及四个数据集合相互的关系图如下: