《ASP程序设计培训共11章.ppt》由会员分享,可在线阅读,更多相关《ASP程序设计培训共11章.ppt(46页珍藏版)》请在金锄头文库上搜索。
1、第第6章章Session和和Application对象对象6.1 Session对象及使用对象及使用6.2 Application对象及使用对象及使用本本章章主主要要介介绍绍Session和和Application对对象象。第第5章章介介绍绍的的Request对对象象与与Response对对象象用用来来实实现现服服务务器器端端与与客客户户端端浏浏览览器器数数据据的的交交互互,本本章章将将介介绍绍的的Session对对象象与与Application对对象象则则被被用用来来在在服服务务器器端端的的用用户户之之间间或或ASP文文件件之之间间传传递递数数据据。通通过过本本章的学习,读者应该掌握以下内容
2、:章的学习,读者应该掌握以下内容: Session对象及使用对象及使用 Application对象及使用对象及使用 应用程序与应用程序与Global文件文件6.1Session对象及使用对象及使用在在网网站站首首页页客客户户客客户户输输入入了了自自己己的的用用户户名名和密码,用什么来记住用户名呢?和密码,用什么来记住用户名呢?到到目目前前为为止止,我我们们利利用用已已学学知知识识可可以以使使用用下一两种方法。下一两种方法。方方法法一一:利利用用Request对对象象的的Querystring方方法一页一页传递过去。这种方法的缺点是太麻烦。法一页一页传递过去。这种方法的缺点是太麻烦。方法二:利用
3、方法二:利用Cookies保存用户名。保存用户名。本本节节再再来来学学习习一一种种更更简简洁洁的的方方法法,就就是是利利用用Session对象。对象。6.1.1Session对象简介对象简介任任何何存存储储在在用用户户Session中中的的信信息息可可以以在在用用户户调调用用下下一一个个页页面面时时取取得得。也也就就是是说说,客客户户在在该该网网站站的的任任何何一一个个页页面面都都可可以以存存取取Session信息,如图信息,如图6-1所示。所示。图6-1 Session对象示意图 Session对象常被用在:对象常被用在:(1)存储用户的首选项;)存储用户的首选项;(2)保保存存用用户户的的
4、身身份份标标记记,实实现现用用户的身份认证和用户权限管理等。户的身份认证和用户权限管理等。Session对象有下面两个属性。对象有下面两个属性。(1)SessionID:存储用户的存储用户的SessionID。(2)Timeout:Session的有效期时长。的有效期时长。Session对象只有一个方法。对象只有一个方法。Abandon:清除清除Session对象。对象。Session对对象象有有两两个个事事件件,且且必必须须和和6.3节要介绍的节要介绍的Global.asa结合使用。结合使用。(1)Session_OnStart:一一个个Session对象开始前,触发该事件。对象开始前,触发
5、该事件。(2)Session_OnEnd:一一个个Session对对象结束时,触发该事件。象结束时,触发该事件。6.1.2利用利用Session存储信息存储信息语法:语法:Session(Session名字名字)=变量或字符串信息变量或字符串信息例例6-1Session的使用方法。的使用方法。Session使用方法使用方法%Dimuser_name,ageuser_name=“李飞李飞”这里为了简单,直接赋值了这里为了简单,直接赋值了age=16Session(user_name)=user_name给给Session赋值,即自动创建赋值,即自动创建Session(age)=agerespon
6、se.write单单击击显示用户信息显示用户信息链接到例链接到例6-2%例例6-2显示显示Session信息。信息。Session使用方法使用方法%Dimuser_nameuser_name=Session(user_name)将将Session值赋给变量值赋给变量response.write user_name&您您好好,欢欢迎学习迎学习ASP程序设计程序设计response.write您您 的的 年年 龄龄 是是&Session(Age)直接使用直接使用Session值值%例例6-3使用使用Session编写计数器程序。编写计数器程序。使用使用session变量计数变量计数使用使用Sess
7、ion变量计数变量计数您您是是第第次次来来访访!6.1.3利用利用Session存储数组信息存储数组信息例例6-4利用利用Session存储数组信息。存储数组信息。利用利用Session存储数组信息存储数组信息%dimuser_name(5)重新定义数组重新定义数组user_name(0)=李美李美user_name(1)=张枫张枫Session(arry_user_name)=user_name传入数组到传入数组到Session对象对象Response.Write单单击击显显示数组信息示数组信息%例例6-5显示显示Session数组信息。数组信息。显示显示Session数组信息数组信息%Di
8、muser_name注意声明方法,不能加括号注意声明方法,不能加括号user_name=Session(arry_user_name)返回返回Session数组元素数组元素Response.Writeuser_name(0)&您好,您好,欢迎您进入欢迎您进入ASP世界!世界!Response.Writeuser_name(1)&您好,您好,欢迎您走进欢迎您走进ASP领域!领域!%6.1.4 Session对象的属性对象的属性Session对象共有对象共有4种属性,分别是种属性,分别是SessionID、TimeOut、LCID和和CodePage。(1)SessionID属性属性语法:语法:S
9、ession.SessionID可可 以以 使使 用用 以以 下下 两两 种种 方方 法法 来来 访访 问问SessionID的值:的值:例例6-6SessionID的使用。的使用。SessionID的使用的使用你的自动编号为:你的自动编号为:(2)Timeout属性属性Session对对象象的的Timeout属属性性用用来来设设置置“过过期时间期时间”,方法是:,方法是:在在ASP的注册表中修改系统默认值;的注册表中修改系统默认值;用用Session对对象象的的Timeout属属性性可可以以修修改改来来更更改改。不不过过,请请注注意意用用该该属属性性更更改改的的有有效效期长度不能低于默认值。
10、期长度不能低于默认值。语法:语法:Session.Timeout=MaxTime例如:例如:6.1.5Session对象的方法对象的方法Session对对象象到到期期会会自自动动清清除除,也也就就是是说说,Session对对象象的的生生命命周周期期起起始始于于浏浏览览器器第第一一次次与与服服务务器器联联机机时时,终终止止于于浏浏览览器器结结束束联联机机时时,或或浏浏览览器器超超过过20分分钟钟不不再再向向服服务器端提出请求或刷新务器端提出请求或刷新Web页面时。页面时。语法:语法:Session.Abandon例例6-7利利用用Session方方法法输输出出,不不使使用用Abandon方法。方
11、法。sessionID%Session(user_name)=aaSession(age)=5response.write您的名字是:您的名字是:&session(user_name)&response.write您的年龄是:您的年龄是:&session(age)%例例6-8利利用用Session方方法法输输出出,并并使使用用Abandon方法。方法。使用使用abandon方法方法%Session.AbandonResponse.write您的名字是:您的名字是:&session(user_name)&response.write您的年龄是:您的年龄是:&session(age)%6.2App
12、lication对象及使用对象及使用在访问在访问ASP网页时,网页时,Session对象记载对象记载的只是特定客户的信息,与此相反的是,的只是特定客户的信息,与此相反的是,Application对象可以记载所有客户信息,对象可以记载所有客户信息,就好比公共场所一样。就好比公共场所一样。也也就就是是说说,不不同同的的客客户户访访问问不不同同的的Session对对象象,但但许许多多客客户户可可以以同同时时访访问问公公共共Application对象。对象。6.2.1 Application对象简介ASP应应用用程程序序中中,如如果果同同时时访访问问的的用用户户很很多多,就就可可能能会会出出现现很很多
13、多用用户户同同时时修修改改一一个个Application变变量量的的值值的的情情况况。可可以以利利用用Application对对象象的的两两个个方方法法:Lock和和Unlock来解决。来解决。(1)Lock:锁定锁定Application对象。对象。(2)Unlock:解除锁定。解除锁定。Application对对象象有有两两个个事事件件,必必须须和和6.3节要讲的节要讲的Global.asa结合使用。结合使用。(1)Application_OnStart:Application开始前,调用该程序。开始前,调用该程序。(2)Application_OnEnd:Application结束后,调
14、用该程序。结束后,调用该程序。6.2.2 利用Application存储信息Application的使用和的使用和Session很相似,很相似,可以把变量或字符串等信息很容易地保存可以把变量或字符串等信息很容易地保存在在Application中。中。语法:语法:Application(Application名字名字)=变量或字符串信息变量或字符串信息例如:例如:例例6-9使用使用Application创建聊天室。创建聊天室。使用使用Application,创建聊天室创建聊天室使用使用Application,创建创建聊天室聊天室请留言:请留言:%mywords=request.form(mywo
15、rds)将每个聊天人说的话赋给一个变量将每个聊天人说的话赋给一个变量Application.lock锁住锁住Application,不允许别的用户修改不允许别的用户修改application(chat_content)=application(chat_content)&mywords每个每个用户都将自己的话加入到用户都将自己的话加入到Application对象对象中中response.writeapplication(chat_content)输出每个人说的话输出每个人说的话application.unlock解开解开Application,以允许别的用户继续修改以允许别的用户继续修改%例例6-10使用使用Application变量,编写计数器变量,编写计数器程序。程序。使用使用Application变量,编写计数器变量,编写计数器程序程序使用使用Application变量,编写计数器程序变量,编写计数器程序欢迎,您是第欢迎,您是第位来访者位来访者6.2.3利用利用Application存储数组信息存储数组信息例例6-11利用利用Session存储数组信息。存储数组信息。利用利用Application存储数组信息存储数组信息利用利用Application存储数存储数组信息组信息姓名姓名1.2.3.4.