第五章Session和Application对象----学习笔记

利用session对象记载单个用户信息

 什么是session?

 Session信息保存在服务器端的一块内存区域中,当每一个用户开始访问时(也叫开始一个会话),服务器端就会给该用户建立一个session对象,在服务器端内存中给他分配一块区域用来储存用户信息,当该用户结束访问(也叫结束一个会话),服务器就会清除这个Session对象,并释放相应的内存区域

 

Session的属性,方法和事件

Session对象的主要数据集合

 Contents获取脚本中添加的Session变量集合

 

Session对象的主要属性

 SessionID返回会话标识(ID),即储存用户的sessionID

TimeOut定义session有效期,单位为分钟,默认为20分钟

 

Session对象只提供一个方法

Abandon清除session对象

 

Session对象的两个事件

Session_onStart当开始一个会话,触发该事件

Session_onEnd当结束一个会话,触发该事件

此两个事件用在Global.asp文件中

 

利用session保存信息

  Session保存变量或字符串等信息  

  Session(“Session名字”)=变量或字符串信息

     Session(“strName”)=”桌航”

 

第五章Session和Application对象----学习笔记

 

Session读取信息

StrName=session(“strName”)

strB=session(“strA”)

第五章Session和Application对象----学习笔记

利用session数组数组信息

  Session把传入的数组当成一个整体看待,只能把一个数组存入取出

保存session数组

Session.(“session数组”)=数组变量

<%

Dim strName(1) rem声明一个长度为2的数组

StrName(0)=”白云”

StrName(1)=”海天”

Session(“strName”)=strName

Rem将数组赋值给session变量

Response.write”该程序仅用来存入session数组”

%>

获取session信息的语法:

 A=Session(“session数组”)

<%

Dim strNames”注意:这里声明一个普通变量”

StrNames=session(“strNames”)rem读取session变量

Response.write strName(0)&

“您好,欢迎您”

Response.write strName(1)&

“您好,欢迎您”

%>

 

Contents数据集合

  利用session对象的Contents数据集合存储session信息

Session.contents(“strName”)=”卓航”

 rem保存session信息

strName=session.contents(“strName”)

rem读取session信息

 

contents数据集合的属性和方法

count属性:返回数据集合中变量的数目

remove方法:删除数据集合中一个session变量

removeAll方法:删除数据集合中全部session变量

 

timeout属性

修改session对象的有效期,默认为20分钟

Session.Timeout=整数(分钟)

<%

Session.Timeout=30 rem设置session对象的有效期时长为30分钟

%>

Abandon方法

 Session对象到后期会自动清除,但到前期可以用Abandon方法强制清除

 Session.abandon

<%session.Abandon%>

Application对象的作用:记载所有用户的共享信息

Application的有效期:从应用程序启动后第一个用户开始访问到所有用户都结束访问,它一直有效

Application对象的主要集合:

Contents:获取脚本中添加的application变量集合

Application对象的方法:

Lock:锁定application对象,不让其他用户修改

Application中的变量值

 

Unlock:解除锁定的application对象

 

Application对象的事件:

Application_OnStart当应用程序的第一用户访问时,触发该事件

请执行语句

 

Application_onend当应用程序关闭时触发该事件,请执行其中的语句

 

Application对象存储信息

Application(variable name)=变量或字符信息

保存application信息需先锁定,然后再解除锁定

Application.Lock ‘锁定,以防止其他用户更改

Application(“school”)=”北京大学”

Application(“strA”)=strA

Application.Unlock  ‘解除锁定,让别的用户写

 

读取application信息就不用再锁定le;

strA=application(“strA”)

rem读取application信息

计数器案例:

<%

Application.lock  em锁定用户不让其他用户修改application的变量

Application(“intAll”)=application(“intAll”)+1

Rem给application变量赋值

Application.unlock rem解除锁定

Dim intVisit

intVisit=application(“intvisit”)

rem 读取application信息

response.write”<p>您是第”&intVisit&”位访客。”

%>

利用application存储数组信息

把一个数组当成整体存入读取,存读时要使用Lock和Unlock

Application(“application数组”)=数组变量

 

读取application信息

A=application(”session数组”)

 

存储

<%

Dim strName(1) ‘声明一个长度为2的数组

StrName(0)=”白云”

StrName(1)=”海霞”

Application.Lock rem锁定

Application(“strNames”)=strNames

Rem 给application变量赋值

Application.unlock  rem解除锁定

%>

读取

<%

Dim strName  rem声明一个普通变量

StrNames=application(“strNames”)

Rem读取application变量

Response.write strNames(0)&”您好,欢迎您<br>”

Response.write strNames(1)&”您好,欢迎您<br>”

%>

Contents数据集合

Application对象的Contents集合和Session对象的集合类似

<%Application.Lock

Application.Contents(“strSchool”)=”北京大学”

Application.Unlock

Response.Write Application.Contents(“strSchool”)

Rem输出application信息

Response.write application.Contents.Count

Rem输出application变量数目

Application.lock

Application.Content.Remove(“strSchool”)

Rem删除指定名称的application变量

Application.Contents.Remove(0)

Rem删除指定索引的application变量

Application.Contents.RemoveAll(1)

Rem删除所有Application变量

Application.UnLock
%>

Global.asp文件

存放session对象和application对象事件的程序。当session或appl被第一次调用或结束是,运行Clobal.asp文件中的对象程序 

每一个应用程序可以有一个Global.asp文件,它必须被放在应用程序的根目录中,且文件的名字必须叫做Global.asp

<script language=”Vbscript” runat=”server”>

  Sub application_OnStart

  ‘当应用程序启动后第一个用户访问时触发该事件,并执行其中的语句

End sub

Sub Application_OnEnd

‘当应用程序关闭时触发该事件,并执行其中语句

End sub

Sub Session_OnStart

‘当开始一个会话时(用户开始访问时)触发该事件,并执行其中的语句

End sub

Sub session_OnEnd

‘当结束一个会话时(用户结束访问时)触发该事件,并执行其中的语句

End sub

</script>

Global案例

<script  language=”Vbscript” runat=”server”>

Sub application_OnStart

Application.Lock

Application(“intAll”)=0

Rem给访问总人数赋初值

Application(“intOnline”)=0

Rem给在线人数赋初值

Application.Unlock

End Sub

Sub session_Onstart

Application.lock

Application.lock

Application(“intAll”)=Application(“intAll”)+1

Rem令在线总人数加1

Application(“intOnline”)=application(“intOnline”)+1

Rem令在线人数加1

Application.Unlock

End sub

Sub session_OnEnd

Application.Lock

Application(“intOnline”)=application(“intOnline”)-1

Rem令在线人数减一

Application.Unlock

End sub

</script>
<p>在线人数:<%=application(“intonline”)%>

<p>访问总人数:<%=application(“intAll”)%>