本章主要学习 ASP的高级应用,实
现真正的网页交互功能,通过本章学习,
应该掌握以下内容:
1,ASP基础
2,ASP的内置对象
3,各个内置对象的属性和方法
第 11章 示例网页利用 ASP
实现交互功能
11.1 ASP基础
11.1.1 ASP的特点和功能
1,ASP的特点
? 使用 VBScript,JavaScript等简单易懂的脚本语言, 结
合 HTML代码, 即可快速地完成网站的应用程序 。
? 无须编译, 可直接解释执行 。
? 使用普通的文本编辑器, 即可进行页面的编辑与设计 。
? 独立于浏览器, 用户端只要使用可执行 HTML码的浏览
器, 即可浏览 ASP所设计的网页内容 。
? ASP能与任何 Activex Scripting语言相容 。
? 源程序不会外漏, ASP脚本是在服务器上执行, 不会被
传到客户浏览器, 因而可以避免所写的源程序被他人剽
窃, 也提高了程序的安全性 。
? 面向对象,具有无限可扩充性 。
2,ASP的功能
从应用角度看, ASP具有如下功能:
? 处理由浏览器传送到服务器的表单输入 。
? 访问和编辑服务器的数据库表 。
? 读写服务器的文件, 实现访客计数器等功能 。
? 提供广告轮播器, 取得浏览器信息, URL表管理等内
置功能 。
? 可以实现在多个主页间共享信息 。
11.1.2 ASP对象
ASP提供了可在脚本中使用的对象 。 这些对象可分
为内置组件以及外挂组件 。
1,内置组件
内置组件是指组件本身内置于 ASP中, 使用时不需
要设置即可运行 。 最常用的包括 Application,Session、
Response,Request及 Server5种 。
2.外挂组件
在存取数据库时, 最常使用 ADO( ActiveX Data
Object) 的技术和 ASP结合, 达到存取数据库的功能 。
这样, 在网页上不但可以显示数据库的内容, 还可以运
行 SQL语句, 让用户可以在网页上对数据进行查询, 删
除, 和新增等等操作 。
ADO 主要的 3个对象为 Connection, Recordset 及
Command。
11.2 Request对象
Request对象通常包括了用户端的相关信息, 如浏览
器的种类, 表头信息, 表单参数及 cookies等 。
Request对象的语法描述如下:
Request[.collection | property | method]( variable)
1,Request对象属性( Property)
Request对象只提供一个只读的 TotalBytes属性,
它表示从客户端所接收的数据大小 。
语法如下:
字节大小 =Request.TotalBytes
2,Request对象方法 ( Method)
Request对象提供的 BinaryRead方法在实际应用上
并不是很常用的, 它是以二进制方式来读取客户端使
用 POST传递方法所传递的数据 。
语法如下:
Variant数组 =Request.BinaryRead( Cont)
3,QueryString数据集合
QueryString数据集合可以取得 HTTP的附加参数,
这些附加参数通常用,?, 来表示连接,
4,Cookies数据集合
如果要判断某个用户是否曾经进入本网站, 只能使用
Cookies文件 。
语法如下:
Cookies Value=Request,Cookies(CookiesName)[(key)
|.Attribute]
5,Server Variables数据集合
ServerVariables数据集合负责取得 Web服务器端的
环境变量,
6,ClientCertificate数据集合
Request对象的 ClientCertificate数据集合可以让用
户取得客户端的身份权限数据,
11.3 Response对象
Response对象包含 Web服务器所要响应给用户的各项
信息 。
11.3.1 方法
1,Write方法
Response的 Write方法是负责将字符串信息输出至用户端, 其语
法如下:
Response.Write任何数据类型
2,Redirect方法
Response的 Redirect方法是负责引导客户端的浏览器显示新的网
页, 其语法如下:
Response.Redirect URL字符串
3,Binary Write方法
Response的 Binary Write方法可以在不作任何转换动作而直接
显示二进制数据库给用户, 其语法如下:
Response.Binary Write二进制数据
4,Append ToLog
Response的 Append ToLog方法允许用户以附加的方
式, 将用户信息记录至 Web服务器的记录文件, 以便
日后追踪与分析, 其语法如下:
Response.AppendToLog“所要记录的字符串,
5,AddHeader方法
Response对象的 AddHeader方法可以允许用户自行
设置 HTML文件的 HTTP标题 ( header) 。 AddHeader
方法的语法如下:
Response.AddHeader Name,Value
6,Clear方法
Response对象的 Clear方法会清除在缓冲区里的 HTML
输出数据 。
7,Flush 方法
Response对象的 Flush方法会将缓冲区的数据立即送至
服务客户端 。
11.3.2 属性
1,CacheControl属性
Response对象的 CacheControl属性值可以为 Public或
Private两种, 前者表示 Web服务器会将 ASP的处理结
果暂时存放于 Proxy服务器上, 后者则不会将数据存放
于 Proxy服务器上 。
2,Charset属性
Response对象的 Charset属性可以用来设置 Web服
务器响应给客户端的文件字符编码,
3,ContentType属性
Response对象的 ContentType属性可以用来设置
Web服务器响应给客户的 HTTP文件类型,
4,Expires属性
Response对象的 Expires属性可以用来设置网页将保
留在浏览器的 Cache中的数据, 或是直接从 Web服务器
中重新取得数据 。
5,ExpiresAbsolute属性
Response对象的 ExpiresAbsolute属性在功能上于
Expires属性非常相似, 其最大的不同在于前者是以日
期时间来设置数据被保留在客户端 Cache的时间长短,
而后者是以保留分钟数来设置的 。
6,IsClientConnected属性
Response对象的 IsClientConnected属性是一个只读
属性, 它可以取得最近一次 Response.Write之后, 客户
端是否还是与 Web服务器保持连接的信息 。
7,PICS属性
Response对象的 PICS属性可以设置 PICS标签到响
应的标头,
8,Status属性
Response对象的 Status属性可以用来设置 Web服务
器响应给服务器端浏览器的状态值 。
11.3.3 数据集合
Response对象只有 Cookies一个数据集合, Cookies数
据集合允许用户将数据设置在客户端的浏览器中, 假如
用户所指定名称的 Cookies不存在, 系统会自动在客户端
的浏览器中建立新的 Cookies,反之, 如果指定的
Cookies已经存在客户端的浏览器中, 那么系统会自动更
新数据 。 其使用语法如下:
Response.Cookies ( CookiesName )
[( Key),Attribute]=Cookies Value
11.4 Server对象
Server对象提供对服务器上的方法和属性的方法, 其
中大多数方法和属性是作为实用程序的功能服务的 。 语
法如下:
Server.property | method
其中 property表示 Server对象的属性, method表示 Server
对象的方法 。
11.4.1 属性
Server的属性只有一个 ScriptTimeout属性,该属
性主要是来设置 ASP程序所允许的最长时间,其设置以
“秒”为单位,系统的缺省值为 90秒。
11.4.2 方法
1,CreateObject方法
CreateObject方法允许客户端用户建立一个 ActiveX Server组
件实例,当前 ASP页处理完成之后,服务器将自动破坏这些实例
对象。
2,MapPath的方法
MapPath方法可以将指定的虚拟路径转换为真实的路径, 这里所
谓的虚拟路径是指 Web服务器所建立的虚拟路径 。
3,HTMLEncode方法
HTMLEncode方法是对指定的字符串应用 HTML编码。
4,URLEncode方法
URLEncode方法将 URL编码规则,包括转义字符,应用到指
定的字符串中。
11.5 Application对象
Application对象是可以让所有用户共同使用的对象 。
通过 Application对象的使用, 可以让所有用户存取
Application所设置为同一个名称的变量, 让用户可以
同时得到某一项信息 。
11.5.1 属性
虽然 Application对象没有内置的属性, 但可以设置用户定
义的属性也可称为集合 。
11.5.2 方法
Application对象有两个方法, 它们都是用于处理多个用户
对存储在 Application中的数据进行写入的问题 。
( 1 ) Lock方 法 禁 止 当前 客 户同 时 修改 同样 的
Application应用级变量 。
( 2) 和 Lock方法相反, Unlock方法允许其他客户修
改 Application对象的属性 。
11.5.3 事件
1,Application-OnStart事件
Application_OnStart事件在首次创建新的会话(即
Session_OnStart事件)之前发生。当 Web服务器启动并允许对应
用程序所包含的文件进行请求时就触发 Application_OnStart事件。
2,Application_On End事件
Application_OnEnd事件在应用程序退出时于 Session_OnEnd事
件之后发生, Application_ OnEnd事件的处理过程也必须写在
Global.asa文件之中 。
11.6 Session对象
用户可以使用 Session对象存储特定的用户会话所需的信息 。 当
用户在应用程序的页之间跳转时, 存储在 Session对象中的变量不
会清除, 而用户在应用程序中访问页面时, 这些变量始终存在 。
当用户请求来自应用程序的 Web页时, 如果该用户还没有会话,
则 Web服务器将自动创建一个 Session对象 。 当会话过期或被放弃
后, 服务器将终止该会话 。
11.6.1 属性
1,SessionID
SessionID属性是返回用户的会话标识。
2,TimeOut
Timeout属性以分钟为单位为该应用程序的 Session
对象指定超时时限。
11.6.2 方法
Session对象仅有一个方法,即 Abandon,该方法
删除所有存储在 Session对象中的对象并释放这些对象
的源。
11.6.3 事件
Session对象有两个事件可用于在 Session对象启动和
释放时运行过程 。
( 1) Session_OnStart事件在服务器创建新会话时发生。
( 2) Session_OnEnd事件在会话被放弃或超时发生。
11.7 Object Context对象
可以使用 Object Context对象提交或撤消由 ASP脚本初始化的
事务 。 该对象用于控制 Active Server Pages的事务处理 。
11.7.1 事件
Object Context.OnTransactionAbort
由放弃的事务处理事件激发, 在脚本完成处理后发生 。
Object Context.OnTransactionCommit
由成功的事务处理事件处理激发, 在在脚本完成处理后发生 。
11.7.2 方法
Object Context.SetAbort
显示的放弃一次事务处理 。
Object Context.SetComplete
覆盖前面任何调用 Object Context.SetAbort方法的调用 。
现真正的网页交互功能,通过本章学习,
应该掌握以下内容:
1,ASP基础
2,ASP的内置对象
3,各个内置对象的属性和方法
第 11章 示例网页利用 ASP
实现交互功能
11.1 ASP基础
11.1.1 ASP的特点和功能
1,ASP的特点
? 使用 VBScript,JavaScript等简单易懂的脚本语言, 结
合 HTML代码, 即可快速地完成网站的应用程序 。
? 无须编译, 可直接解释执行 。
? 使用普通的文本编辑器, 即可进行页面的编辑与设计 。
? 独立于浏览器, 用户端只要使用可执行 HTML码的浏览
器, 即可浏览 ASP所设计的网页内容 。
? ASP能与任何 Activex Scripting语言相容 。
? 源程序不会外漏, ASP脚本是在服务器上执行, 不会被
传到客户浏览器, 因而可以避免所写的源程序被他人剽
窃, 也提高了程序的安全性 。
? 面向对象,具有无限可扩充性 。
2,ASP的功能
从应用角度看, ASP具有如下功能:
? 处理由浏览器传送到服务器的表单输入 。
? 访问和编辑服务器的数据库表 。
? 读写服务器的文件, 实现访客计数器等功能 。
? 提供广告轮播器, 取得浏览器信息, URL表管理等内
置功能 。
? 可以实现在多个主页间共享信息 。
11.1.2 ASP对象
ASP提供了可在脚本中使用的对象 。 这些对象可分
为内置组件以及外挂组件 。
1,内置组件
内置组件是指组件本身内置于 ASP中, 使用时不需
要设置即可运行 。 最常用的包括 Application,Session、
Response,Request及 Server5种 。
2.外挂组件
在存取数据库时, 最常使用 ADO( ActiveX Data
Object) 的技术和 ASP结合, 达到存取数据库的功能 。
这样, 在网页上不但可以显示数据库的内容, 还可以运
行 SQL语句, 让用户可以在网页上对数据进行查询, 删
除, 和新增等等操作 。
ADO 主要的 3个对象为 Connection, Recordset 及
Command。
11.2 Request对象
Request对象通常包括了用户端的相关信息, 如浏览
器的种类, 表头信息, 表单参数及 cookies等 。
Request对象的语法描述如下:
Request[.collection | property | method]( variable)
1,Request对象属性( Property)
Request对象只提供一个只读的 TotalBytes属性,
它表示从客户端所接收的数据大小 。
语法如下:
字节大小 =Request.TotalBytes
2,Request对象方法 ( Method)
Request对象提供的 BinaryRead方法在实际应用上
并不是很常用的, 它是以二进制方式来读取客户端使
用 POST传递方法所传递的数据 。
语法如下:
Variant数组 =Request.BinaryRead( Cont)
3,QueryString数据集合
QueryString数据集合可以取得 HTTP的附加参数,
这些附加参数通常用,?, 来表示连接,
4,Cookies数据集合
如果要判断某个用户是否曾经进入本网站, 只能使用
Cookies文件 。
语法如下:
Cookies Value=Request,Cookies(CookiesName)[(key)
|.Attribute]
5,Server Variables数据集合
ServerVariables数据集合负责取得 Web服务器端的
环境变量,
6,ClientCertificate数据集合
Request对象的 ClientCertificate数据集合可以让用
户取得客户端的身份权限数据,
11.3 Response对象
Response对象包含 Web服务器所要响应给用户的各项
信息 。
11.3.1 方法
1,Write方法
Response的 Write方法是负责将字符串信息输出至用户端, 其语
法如下:
Response.Write任何数据类型
2,Redirect方法
Response的 Redirect方法是负责引导客户端的浏览器显示新的网
页, 其语法如下:
Response.Redirect URL字符串
3,Binary Write方法
Response的 Binary Write方法可以在不作任何转换动作而直接
显示二进制数据库给用户, 其语法如下:
Response.Binary Write二进制数据
4,Append ToLog
Response的 Append ToLog方法允许用户以附加的方
式, 将用户信息记录至 Web服务器的记录文件, 以便
日后追踪与分析, 其语法如下:
Response.AppendToLog“所要记录的字符串,
5,AddHeader方法
Response对象的 AddHeader方法可以允许用户自行
设置 HTML文件的 HTTP标题 ( header) 。 AddHeader
方法的语法如下:
Response.AddHeader Name,Value
6,Clear方法
Response对象的 Clear方法会清除在缓冲区里的 HTML
输出数据 。
7,Flush 方法
Response对象的 Flush方法会将缓冲区的数据立即送至
服务客户端 。
11.3.2 属性
1,CacheControl属性
Response对象的 CacheControl属性值可以为 Public或
Private两种, 前者表示 Web服务器会将 ASP的处理结
果暂时存放于 Proxy服务器上, 后者则不会将数据存放
于 Proxy服务器上 。
2,Charset属性
Response对象的 Charset属性可以用来设置 Web服
务器响应给客户端的文件字符编码,
3,ContentType属性
Response对象的 ContentType属性可以用来设置
Web服务器响应给客户的 HTTP文件类型,
4,Expires属性
Response对象的 Expires属性可以用来设置网页将保
留在浏览器的 Cache中的数据, 或是直接从 Web服务器
中重新取得数据 。
5,ExpiresAbsolute属性
Response对象的 ExpiresAbsolute属性在功能上于
Expires属性非常相似, 其最大的不同在于前者是以日
期时间来设置数据被保留在客户端 Cache的时间长短,
而后者是以保留分钟数来设置的 。
6,IsClientConnected属性
Response对象的 IsClientConnected属性是一个只读
属性, 它可以取得最近一次 Response.Write之后, 客户
端是否还是与 Web服务器保持连接的信息 。
7,PICS属性
Response对象的 PICS属性可以设置 PICS标签到响
应的标头,
8,Status属性
Response对象的 Status属性可以用来设置 Web服务
器响应给服务器端浏览器的状态值 。
11.3.3 数据集合
Response对象只有 Cookies一个数据集合, Cookies数
据集合允许用户将数据设置在客户端的浏览器中, 假如
用户所指定名称的 Cookies不存在, 系统会自动在客户端
的浏览器中建立新的 Cookies,反之, 如果指定的
Cookies已经存在客户端的浏览器中, 那么系统会自动更
新数据 。 其使用语法如下:
Response.Cookies ( CookiesName )
[( Key),Attribute]=Cookies Value
11.4 Server对象
Server对象提供对服务器上的方法和属性的方法, 其
中大多数方法和属性是作为实用程序的功能服务的 。 语
法如下:
Server.property | method
其中 property表示 Server对象的属性, method表示 Server
对象的方法 。
11.4.1 属性
Server的属性只有一个 ScriptTimeout属性,该属
性主要是来设置 ASP程序所允许的最长时间,其设置以
“秒”为单位,系统的缺省值为 90秒。
11.4.2 方法
1,CreateObject方法
CreateObject方法允许客户端用户建立一个 ActiveX Server组
件实例,当前 ASP页处理完成之后,服务器将自动破坏这些实例
对象。
2,MapPath的方法
MapPath方法可以将指定的虚拟路径转换为真实的路径, 这里所
谓的虚拟路径是指 Web服务器所建立的虚拟路径 。
3,HTMLEncode方法
HTMLEncode方法是对指定的字符串应用 HTML编码。
4,URLEncode方法
URLEncode方法将 URL编码规则,包括转义字符,应用到指
定的字符串中。
11.5 Application对象
Application对象是可以让所有用户共同使用的对象 。
通过 Application对象的使用, 可以让所有用户存取
Application所设置为同一个名称的变量, 让用户可以
同时得到某一项信息 。
11.5.1 属性
虽然 Application对象没有内置的属性, 但可以设置用户定
义的属性也可称为集合 。
11.5.2 方法
Application对象有两个方法, 它们都是用于处理多个用户
对存储在 Application中的数据进行写入的问题 。
( 1 ) Lock方 法 禁 止 当前 客 户同 时 修改 同样 的
Application应用级变量 。
( 2) 和 Lock方法相反, Unlock方法允许其他客户修
改 Application对象的属性 。
11.5.3 事件
1,Application-OnStart事件
Application_OnStart事件在首次创建新的会话(即
Session_OnStart事件)之前发生。当 Web服务器启动并允许对应
用程序所包含的文件进行请求时就触发 Application_OnStart事件。
2,Application_On End事件
Application_OnEnd事件在应用程序退出时于 Session_OnEnd事
件之后发生, Application_ OnEnd事件的处理过程也必须写在
Global.asa文件之中 。
11.6 Session对象
用户可以使用 Session对象存储特定的用户会话所需的信息 。 当
用户在应用程序的页之间跳转时, 存储在 Session对象中的变量不
会清除, 而用户在应用程序中访问页面时, 这些变量始终存在 。
当用户请求来自应用程序的 Web页时, 如果该用户还没有会话,
则 Web服务器将自动创建一个 Session对象 。 当会话过期或被放弃
后, 服务器将终止该会话 。
11.6.1 属性
1,SessionID
SessionID属性是返回用户的会话标识。
2,TimeOut
Timeout属性以分钟为单位为该应用程序的 Session
对象指定超时时限。
11.6.2 方法
Session对象仅有一个方法,即 Abandon,该方法
删除所有存储在 Session对象中的对象并释放这些对象
的源。
11.6.3 事件
Session对象有两个事件可用于在 Session对象启动和
释放时运行过程 。
( 1) Session_OnStart事件在服务器创建新会话时发生。
( 2) Session_OnEnd事件在会话被放弃或超时发生。
11.7 Object Context对象
可以使用 Object Context对象提交或撤消由 ASP脚本初始化的
事务 。 该对象用于控制 Active Server Pages的事务处理 。
11.7.1 事件
Object Context.OnTransactionAbort
由放弃的事务处理事件激发, 在脚本完成处理后发生 。
Object Context.OnTransactionCommit
由成功的事务处理事件处理激发, 在在脚本完成处理后发生 。
11.7.2 方法
Object Context.SetAbort
显示的放弃一次事务处理 。
Object Context.SetComplete
覆盖前面任何调用 Object Context.SetAbort方法的调用 。