第 5章 Session和 Application对象
5.1 Session概述
5.2 Session对象的使用
5.3 Cookie的使用
5.4 Application对象概述
5.5 Application对象的使用
5.6 网上聊天室设计
5.1 Session概述
HTTP协议是一种无状态( stateless)的
协议,利用 HTTP协议无法跟踪用户。服务器
完成用户的请求后,服务器将不能再继续保
持与该用户浏览器的连接。利用 Session可以
存储浏览者的一些特定信息。
在 ASP中 Session代表了服务器与客户端之
间的, 会话, 。
5.2 Session对象的使用
5.2.1 Session变量的创建与使用
Session("变量名称 ")
Session变量是与特定用户相联系的,针对某一个
用户赋值的 Session变量是和其他用户的 Session变
量完全独立的,不会相互影响。
Session对象的使用语法如下:
Session.collection|property|method
其中 collection表示 Session对象的集合,
property表示 Session对象的属性,method表示
Session对象的方法。
5.2 Session对象的使用
5.2.2 Session对象的属性
1,TimeOut属性
用来设置 Session的最长间隔时间。
2,SessionID属性
记录着每个 Session的代号,是一个不重复的长整
型数字。
3,CodePage属性
表示字符串编码及转换的依据。
4,LCID属性
设置网页要以客户端当地的相关设置来显示。
5.2 Session对象的使用
5.2.3 Session对象的方法
Session对象只提供了 Abandon方法, 该方
法将删除所有存储在 Session对象中的对象数
据并释放它们所占有的资源 。 如果没有明确
调用 Abandon方法, 服务器在 Session对象
TimeOut属性规定的时间后删除对象数据 。 当
服务器删除 Session对象时, 将无法再取得其
变量值, 而且 Session_OnEnd事件将一起被激
活 。 语法如下:
Session.Abandon
5.2 Session对象的使用
5.2.4 Session对象的集合
1,Contents集合
包括所有未使用 <OBJECT>标记而为该会话建立的
项目, 此集合可确定指定会话项的值或遍历集合并
检 索 出 会 话 中 所 有 项 的 列 表 。 语 法,
Session.Contents( Session变量名称 )
2,StaticObject集合
包含 Session对象范围中用 <OBJECT>标记创建的所
有对象, 该集合可用于确定对象特定属性的值, 或
用于遍历集合并获取所有对象的全部属性 。 语法如
下,Session.StaticObjects( 对象变量名称 )
5.2 Session对象的使用
5.2.5 Session对象的事件
事件,Session_OnEnd和 Session_OnStart。
Session_OnStart事件对应 Session对象的起
始事件,每当产生一个 Session对象,该事件
所定义的代码都将被激活; Session_OnEnd事
件对应 Session对象的结束事件,当 Session对
象被终止或失效时,该事件所对应的代码被激
活。
5.2 Session对象的使用
这两个事件的代码必须放在 global.asa文件中,其语
法:
<SCRIPT LANGUAGE = ScriptLanguage
RUNAT = Server>
Sub Session_OnStart
'事件的处理程序代码
End Sub
Sub Session_OnEnd
'事件的处理程序代码
End Sub
</SCRIPT>
5.3 Cookie的使用
Session实际上是利用 Cookie进行信息处理
的, 当用户向服务器提出了某个 Session请求
后, 服务器就在用户的浏览器上创建了一个
Cookie,当这个 Session结束时, 也就意味着
这个 Cookie过期了 。
可以利用 ServerVariables集合的 Cookie
Header来接收这个 Cookie信息, 代码如下:
<%=Request.ServerVariables("HTTP
Cookie")%>
5.3 Cookie的使用
5.3.1 Cookie概述
Cookie实际上是一个字符串或一个标志,当
一个包含 Cookie的页面被用户浏览器读取时,
一个 Cookie就被存入到本地硬盘中,当需要时
该网站可以从用户的本地硬盘中读取这些
Cookie。所有的 Cookie都被存放在
Windows\Cookies( Windows 98中)目录下,
存放 Cookie的文件名命名规则为:用户名 @网
站名,txt,有时也使用 IP地址来描述网站。
5.3 Cookie的使用
5.3.2 创建 Cookie
格式如下:
Response.Cookies(Cookie)[(key)|attribute]=Value
1,创建单值的 Cookie
要创建不带关键字 key的 Cookie,只需指定
参数 Cookie的值以及 value的值。
2,创建带有关键字的 Cookie字典
需要带上 key参数。
5.3 Cookie的使用
5.3.3 读取 Cookie的值
格式如下:
Request.cookies(Cookie)[(key)|.attribute]
1,读取单值的 Cookie
对于一般不带关键字的 Cookie,可以采用指
定 Cookie名称的方式来检索 Cookie的值 。
2,读取 Cookie字典
对于 Cookie字典的检索和读取, 可以通过使
用关键字来进行, 也可以使用序号来进行 。
5.3 Cookie的使用
5.3.4 使用 Cookie进行数据提交
5.4 Application对象概述
Application包含的数据可以在整个 Web站点
中被所有用户使用, 并且可以在网站运行期间
持久保存数据 。
Application对象和 Session对象有很多相似
之处, 它们的功能都是用于在不同的 ASP页面
之间共享信息 。 两者的区别主要有:
? 应用范围不同 。
? 存活时间不同 。
5.5 Application对象的使用
5.5.1 Application变量的创建与使用
Application变量的创建与使用和 Session变量的
创建与使用类似 。
Application变量终止的情况有三种:服务被终止,
Global.asa被改变或者该 Application被卸载 。
Application对象 的使用语法为:
Application.property|method
其中,property表示 Application对象的属性,
method表示 Application对象的方法 。
5.5 Application对象的使用
5.5.2 Application对象的方法
可以利用 Application对象的 Lock 和 Unlock方法确
保多个用户无法同时改变某一属性 。 前者用来避免其
他用户修改 Application对象的任何变量, 而后者则
是允许其他用户对 Application的变量进行修改 。
方法 用途
Lock 锁定 Application变量, 这样其他用户就不能修改它
Unlock 解除 Application变量的锁定状态
5.5 Application对象的使用
5.5.3 Application对象的事件
有 Application_OnEnd和 Application_OnStart。
也必须放在 Global.asa文件中 。
<SCRIPT LANGUAGE=ScriptLanguage
RUNAT=Server>
Sub Application_OnStart
..,'事件的处理代码
End Sub
Sub Application_OnEnd
..,'事件的处理代码
End Sub
</SCRIPT>
5.5 Application对象的使用
5.5.4 Application对象的集合
1,Contents数据集合
允许程序取得用户能用的所有 Application对象,
但不包括以 <OBJECT>标签建立的对象及 Server对象
的 CreateObject方法所建立的对象。 可以使用 它 获
取给定应用程序作用域的项目列表或指定一个特殊
项目为操作对象。
2,StaticObjects数据集合
可取得以 <OBJECT>标记所建立的 Application对象
,可使用该集合确定某对象指定属性的值或遍历集
合及检索所有静态对象的所有属性 。
5.6 网上聊天室设计
网上聊天室是一个比较复杂的系统 。 由于
要在多个用户之间显示聊天内容, 会用到
Application对象, 在传递用户的信息时, 可
以使用 Session对象 。 此外, 还将频繁使用
Request和 Response对象等 。 聊天室中需要使
用 ASP的多个对象, 并根据实际情况设计出符
合要求的程序 。
5.1 Session概述
5.2 Session对象的使用
5.3 Cookie的使用
5.4 Application对象概述
5.5 Application对象的使用
5.6 网上聊天室设计
5.1 Session概述
HTTP协议是一种无状态( stateless)的
协议,利用 HTTP协议无法跟踪用户。服务器
完成用户的请求后,服务器将不能再继续保
持与该用户浏览器的连接。利用 Session可以
存储浏览者的一些特定信息。
在 ASP中 Session代表了服务器与客户端之
间的, 会话, 。
5.2 Session对象的使用
5.2.1 Session变量的创建与使用
Session("变量名称 ")
Session变量是与特定用户相联系的,针对某一个
用户赋值的 Session变量是和其他用户的 Session变
量完全独立的,不会相互影响。
Session对象的使用语法如下:
Session.collection|property|method
其中 collection表示 Session对象的集合,
property表示 Session对象的属性,method表示
Session对象的方法。
5.2 Session对象的使用
5.2.2 Session对象的属性
1,TimeOut属性
用来设置 Session的最长间隔时间。
2,SessionID属性
记录着每个 Session的代号,是一个不重复的长整
型数字。
3,CodePage属性
表示字符串编码及转换的依据。
4,LCID属性
设置网页要以客户端当地的相关设置来显示。
5.2 Session对象的使用
5.2.3 Session对象的方法
Session对象只提供了 Abandon方法, 该方
法将删除所有存储在 Session对象中的对象数
据并释放它们所占有的资源 。 如果没有明确
调用 Abandon方法, 服务器在 Session对象
TimeOut属性规定的时间后删除对象数据 。 当
服务器删除 Session对象时, 将无法再取得其
变量值, 而且 Session_OnEnd事件将一起被激
活 。 语法如下:
Session.Abandon
5.2 Session对象的使用
5.2.4 Session对象的集合
1,Contents集合
包括所有未使用 <OBJECT>标记而为该会话建立的
项目, 此集合可确定指定会话项的值或遍历集合并
检 索 出 会 话 中 所 有 项 的 列 表 。 语 法,
Session.Contents( Session变量名称 )
2,StaticObject集合
包含 Session对象范围中用 <OBJECT>标记创建的所
有对象, 该集合可用于确定对象特定属性的值, 或
用于遍历集合并获取所有对象的全部属性 。 语法如
下,Session.StaticObjects( 对象变量名称 )
5.2 Session对象的使用
5.2.5 Session对象的事件
事件,Session_OnEnd和 Session_OnStart。
Session_OnStart事件对应 Session对象的起
始事件,每当产生一个 Session对象,该事件
所定义的代码都将被激活; Session_OnEnd事
件对应 Session对象的结束事件,当 Session对
象被终止或失效时,该事件所对应的代码被激
活。
5.2 Session对象的使用
这两个事件的代码必须放在 global.asa文件中,其语
法:
<SCRIPT LANGUAGE = ScriptLanguage
RUNAT = Server>
Sub Session_OnStart
'事件的处理程序代码
End Sub
Sub Session_OnEnd
'事件的处理程序代码
End Sub
</SCRIPT>
5.3 Cookie的使用
Session实际上是利用 Cookie进行信息处理
的, 当用户向服务器提出了某个 Session请求
后, 服务器就在用户的浏览器上创建了一个
Cookie,当这个 Session结束时, 也就意味着
这个 Cookie过期了 。
可以利用 ServerVariables集合的 Cookie
Header来接收这个 Cookie信息, 代码如下:
<%=Request.ServerVariables("HTTP
Cookie")%>
5.3 Cookie的使用
5.3.1 Cookie概述
Cookie实际上是一个字符串或一个标志,当
一个包含 Cookie的页面被用户浏览器读取时,
一个 Cookie就被存入到本地硬盘中,当需要时
该网站可以从用户的本地硬盘中读取这些
Cookie。所有的 Cookie都被存放在
Windows\Cookies( Windows 98中)目录下,
存放 Cookie的文件名命名规则为:用户名 @网
站名,txt,有时也使用 IP地址来描述网站。
5.3 Cookie的使用
5.3.2 创建 Cookie
格式如下:
Response.Cookies(Cookie)[(key)|attribute]=Value
1,创建单值的 Cookie
要创建不带关键字 key的 Cookie,只需指定
参数 Cookie的值以及 value的值。
2,创建带有关键字的 Cookie字典
需要带上 key参数。
5.3 Cookie的使用
5.3.3 读取 Cookie的值
格式如下:
Request.cookies(Cookie)[(key)|.attribute]
1,读取单值的 Cookie
对于一般不带关键字的 Cookie,可以采用指
定 Cookie名称的方式来检索 Cookie的值 。
2,读取 Cookie字典
对于 Cookie字典的检索和读取, 可以通过使
用关键字来进行, 也可以使用序号来进行 。
5.3 Cookie的使用
5.3.4 使用 Cookie进行数据提交
5.4 Application对象概述
Application包含的数据可以在整个 Web站点
中被所有用户使用, 并且可以在网站运行期间
持久保存数据 。
Application对象和 Session对象有很多相似
之处, 它们的功能都是用于在不同的 ASP页面
之间共享信息 。 两者的区别主要有:
? 应用范围不同 。
? 存活时间不同 。
5.5 Application对象的使用
5.5.1 Application变量的创建与使用
Application变量的创建与使用和 Session变量的
创建与使用类似 。
Application变量终止的情况有三种:服务被终止,
Global.asa被改变或者该 Application被卸载 。
Application对象 的使用语法为:
Application.property|method
其中,property表示 Application对象的属性,
method表示 Application对象的方法 。
5.5 Application对象的使用
5.5.2 Application对象的方法
可以利用 Application对象的 Lock 和 Unlock方法确
保多个用户无法同时改变某一属性 。 前者用来避免其
他用户修改 Application对象的任何变量, 而后者则
是允许其他用户对 Application的变量进行修改 。
方法 用途
Lock 锁定 Application变量, 这样其他用户就不能修改它
Unlock 解除 Application变量的锁定状态
5.5 Application对象的使用
5.5.3 Application对象的事件
有 Application_OnEnd和 Application_OnStart。
也必须放在 Global.asa文件中 。
<SCRIPT LANGUAGE=ScriptLanguage
RUNAT=Server>
Sub Application_OnStart
..,'事件的处理代码
End Sub
Sub Application_OnEnd
..,'事件的处理代码
End Sub
</SCRIPT>
5.5 Application对象的使用
5.5.4 Application对象的集合
1,Contents数据集合
允许程序取得用户能用的所有 Application对象,
但不包括以 <OBJECT>标签建立的对象及 Server对象
的 CreateObject方法所建立的对象。 可以使用 它 获
取给定应用程序作用域的项目列表或指定一个特殊
项目为操作对象。
2,StaticObjects数据集合
可取得以 <OBJECT>标记所建立的 Application对象
,可使用该集合确定某对象指定属性的值或遍历集
合及检索所有静态对象的所有属性 。
5.6 网上聊天室设计
网上聊天室是一个比较复杂的系统 。 由于
要在多个用户之间显示聊天内容, 会用到
Application对象, 在传递用户的信息时, 可
以使用 Session对象 。 此外, 还将频繁使用
Request和 Response对象等 。 聊天室中需要使
用 ASP的多个对象, 并根据实际情况设计出符
合要求的程序 。