一,概述:
ASP(Active Server Pages)是一套由微软公司开发的(IIS自带的)服务器端运行的脚本平台,使用ASP内置组件可以快速开发动态网页。每一个组件都是由一组富有经验的程序员根据动态网页最常用的功能而开发的。ASP本意指一个开发环境,但通常人们把它和VBScript脚本语言等同来看。
通过ASP我们可以结合HTML网页、ASP指令和Active X元件建立动态、交互且高效的WEB服务器应用程序。同时,ASP也支持VBScript和JScript等脚本语言,默认为VBScript。其中JScript是微软公司的ECMAScript标准的实现,并且有自己的扩展。
ASP并非是语法优美或者技术先进的脚本语言,甚至被认为是俗气落魄,但是它却以微软一贯的最好学较好用和强大的市场运作而在国内成为最普及的脚本语言。ASP以其简单,开发周期短,易维护的优点受到中小型商务站点管理员的青睐。
二,版本历史
1, ASP 1.0: 1996年12月和IIS 3.0一起发行
2, ASP 2.0: 1997年9月和IIS 4.0一起发行
3, ASP 3.0: 2000年11月和IIS 5.0一起发行
4, ASP.NET: 2002年1月作为微软.NET平台的组成而发行,而传统的ASP是指.net之前的老版本。开始ASP.NET被称为ASP+或ASP PLUS。它主推语言包括Visual Basic .NET 和 C#。
5, ASP.NET 2.0: 2005年11月7日发行
三,运行原理
![]() |
|
|
ASP是经过服务器端将整页的代码都解析执行一遍之后再向网页浏览器返回结果数据,所以客户使用通用的浏览器就可访问ASP页面,而ASP页面相对于普通的浏览器就能够解析的HTML页面要慢一点。ASP提供与数据库的交互,如Microsoft SQL Server、Microsoft Access、MySQL?和Oracle,比较流行的是ASP和Microsoft SQL Server的组合。
四,ASP开发环境
1, 操作系统:Windows, 另外Apache::ASP项目可以使Linux,Apache支持asp运行,但只能使用Perl脚本。
2, Web服务器: IIS、PWS
3,数据库管理系统:ACCESS、SQLServer、MySQL?、Oracle、InterBase?、mSQL、PostgreSQL?、Sybase、ODBC、Infomix等。
4, ASP解析软件:IIS自带
5, ASP编辑器: Dreamweaver, Microsoft Visual InterDev6?.0都十分优秀
五,ASP语法基础
六,ASP组件
1,通用内建组件对象:在ASP3.0中,共有6个通用内建对象供用户直接调用:
1) Application对象:负责管理所有会话信息,可用来在指定的应用程序的所有用户之间共享信息。
2) Session对象:存贮特定用户的会话信息,只被该用户访问,当用户在不同WEB页面跳转时,Session中的变量在用户整个会话过程中一直保存。Session对象需cookie支持。
3) Request对象:从用户端取得信息传递给服务器,是ASP读取用户输入的主要方法。
4) Response对象:服务器将输出内容发送到用户端。
5) Server对象:提供对服务器有关方法和属性的访问。
6) Object Context对象:IIS 4.0新增的对象,用来进行事务处理。此项功能需得到MTS(Microsoft Transcation Server)管理的支持。
2, 主要内置组件:
1) Database Access组件:提供ADO (Active X Data Objects)来访问支持ODBC的数据库。
WWW上很重要的应用是访问WEB数据库,用ASP访问WEB数据库时,必须使用ADO组件,ADO是ASP内置的Active X服务器组件 (Active X Server Component),通过在WEB服务器上设置ODBC和OLEDB可连接多种数据库:如SYBASE、ORACLE、INFORMIX、SQL SERVER、ACCESS、VFP等,是对目前微软所支持的数据库进行操作的最有效和最简单直接的方法。
ADO组件主要提供了以下七个对象和四个集合来访问数据库。
A) Connection对象:建立与后台数据库的连接。
B) Command对象:执行SQL指令,访问数据库。
C) Parameters对象和Parameters集合:为Command对象提供数据和参数。
D) RecordSet?对象:存放访问数据库后的数据信息,是最经常使用的对象。
E) Field对象和Field集合:提供对RecordSet?中当前记录的各个字段进行访问的功能。
F) Property对象和Properties集合:提供有关信息,供Connection、Command、RecordSet?、Field对象使用。
G) Error对象和Errors集合:提供访问数据库时的错误信息。
2) File Access组件:提供对服务器端文件的读写功能。
3) Browser Capabilities组件:确定访问WEB站点的用户浏览器的功能数据,包括类型、性能、版本等。
4) Ad Rotator组件:用来按指定计划在同一页上自动轮换显示广告,用于WWW上日益重要的广告服务。
5) Content Linking组件:生成WEB页内容列表,并将各页顺序连接,用于制作导航条。
6)此外,还可安装Myinfo、Counters、Content Rotator、Page Count等组件,用户也可自行编制Actiive组件,以提高系统的实用性。
七,ASP访问数据库
在ASP中,使用ADO组件访问后台数据库,可通过以下步骤进行:
1. 定义数据源:在WEB服务器上打开"控制面板",选中"ODBC",在"系统DSN"下选"添加",选定你希望的数据库种类、名称、位置等。本例定义"SQL SERVER",数据源为"HT",数据库名称为"HTDATA",脚本语言采用Jscript。
2,使用ADO组件查询WEB数据库
1) 调用Server.CreateObject?方法取得"ADODB.Connection"的实例,再使用Open方法打开数据库:
conn = Server.CreateObject("ADODB.Connection")
conn.Open("HT")
2) 指定要执行的SQL命令: 连接数据库后,可对数据库操作,如查询,修改,删除等,这些都是通过SQL指令来完成的,如要在数据表signaltab中查询代码中含有"X"的记录
sqlStr = "select * from signaltab where code like ’%X%’" rs = conn.Execute(sqlStr)
3) 使用RecordSet?属性和方法,并显示结果: 为了更精确地跟踪数据,要用RecordSet?组件创建包含数据的游标,游标就是储存在内存中的数据。
rs = Server.CreateObject("ADODB.RecordSet")
rs.Open(sqlStr,conn,1,A)'注:A=1读取,A=3 新增、修改、删除
在RecordSet组件中,常用的属性和方法有:
rs.Fields.Count: RecordSet对象的字段数。
rs(i).Name: 第i个字段的名称,i为0至rs.Fields.Count-1
rs(i): 第i个字段的数据,i为0至rs.Fields.Count-1
rs("字段名"): 指定字段的数据。
rs.Record.Count:游标中的数据记录总数。
rs.EOF: 是否最后一条记录。
rs.MoveFirst: 指向第一条记录。
rs.MoveLast: 指向最后一条记录。
rs.MovePrev: 指向上一条记录。
rs.MoveNext: 指向下一条记录。
rs.GetRows: 将数据放入数组中。
rs.Properties.Count:ADO的ResultSet或Connection的属性个数。
rs.Properties(item).Name:ADO的ResultSet或Connection的名称。
rs.Properties: ADO的ResultSet或Connection的值。
rs.close(): 关闭连接。
4) 关闭数据库: conn.close()
*ASP其它含义
ASP可以代表以下比较常用的意思:
在一般电子商务领域里,ASP是应用服务提供商“Application Service Provider”的简写。
在网页服务器里,ASP是微软公司专利的Active Server Pages技术。
在网络通讯中,ASP可以是AppleTalk? Session Protocol。
本文章最新版本请参见:http://www.deepcast.net/wiki/ow.asp?ASP



