您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 其它行业文档 > ASP动态网站开发教程(第三版)-07
ASP动态网站开发教程(第三版)第07章Application和Session对象Application和Session对象是ASP重要的内建对象,其中Application对象可以在所有用户之间共享信息,并在服务器运行期间持久地保存数据。Session对象更接近于普通应用程序中的全局变量,全局变量在程序执行的过程中始终有效,其他用户同时启动该程序的另一个副本,该程序的两个实例使用各自的全局变量,在两个进程之间不能互相访问。ASP动态网站开发教程(第三版)教学重点与难点了解Application对象的属性掌握Application对象的方法掌握Application对象的事件掌握Session对象的方法掌握Session对象的事件ASP动态网站开发教程(第三版)7.1Application对象Application对象就是在硬盘上的一组主页以及ASP文件。当ASP加入了一个Application对象,那么它就拥有了作为单独主页所无法拥有的属性。Application对象简介Application对象的属性Application对象的方法Application对象的事件利用Application对象保存数据ASP动态网站开发教程(第三版)7.1.1Application对象简介Application对象是应用程序级的对象,可以产生一个全部Web应用程序都可以存取的变量,所有的客户都可以访问这个变量。应用程序是驻留在Web站点的特定目录中的一组文件。每个Web站点上可以有多个应用程序,还可以根据某个任务为一些ASP文件创建一个应用程序。例如,创建一个应用程序为全部客户服务后,再创建一个新的应用程序为网络管理员服务。应用程序的运行实例用Application对象表示,其生存期从请求该应用程序的第一个页面开始(不是从服务器启动开始),直到Web站点关闭时结束。由于存储在Application对象中的数据可以被应用程序的所有用户共享,因而Application对象特别适合在应用程序的不同用户之间传递信息。ASP动态网站开发教程(第三版)7.1.2Application对象的属性Application对象没有内置属性,用户可根据需要自行创建。创建一个属性后,在整个应用程序运行期间,此属性的值都可以被所有的用户访问。如下面的代码定义了Application对象的属性Welcome:%Application(Welcome)=本网站属于非赢利性商业网站%ASP动态网站开发教程(第三版)7.1.3Application对象的方法Application对象对于网站所有的网页和在线用户来说,是一个公开的对象,因此,任何人在任何时间都有可能对其进行存取。当一个Application对象在同一个时间被存取,此时就会发生冲突,因此,对于Application对象,适当地限制用户存取非常重要。Application对象包含Lock和UnLock两种方法。Lock方法用于锁定Application对象,保证同一时刻只有一个用户可以操作其中的数据,避免多个用户同时修改同一数据而产生的冲突。UnLock方法用于解除Lock方法对数据的锁定,以便其他用户能访问和修改Application对象的属性。Lock和UnLock这两种方法总是成对出现的,这样可以确保Application对象中数据对所有用户的完整性和一致性。ASP动态网站开发教程(第三版)7.1.4Application对象的事件Application对象包含Application_OnStart和Application_OnEnd两个事件。当网站的第一个用户通过浏览器打开网页时,Application对象就会被自动创建,与此同时,Application对象所定义的OnStart事件便会被触发,对于ASP网页的程序设计师而言,会将焦点放在所触发的OnStart事件,整个网站一开始所要执行的工作,初始化操作的相关程序代码,都可以在这个事件中作处理。同样,ASP应用程序网站被关闭时,系统检测到最后一个用户离线的同时,Application对象就会被结束。所有ASP应用程序执行期间,网页在其中所存储的数据均会被清除。此时,OnEnd事件即会被触发,处理ASP网站结束时所需的程序代码可以放在这个事件中作处理。ASP动态网站开发教程(第三版)7.1.5利用Application对象保存数据在Application对象中,保存的内容除了可以是简单数据类型的变量和普通对象外,还可以是一个保存有多个值的数组。例如,在创建的过程中要求定义一个普通的数组并对其赋值,然后将数组整体定义为一个Application对象,代码如下所示:%dimArray()Array=Application(array)fori=0toubound(array)Response.writeArray(i)nexti%ASP动态网站开发教程(第三版)7.2Session对象使用Session对象,可以存储特定用户会话所需的信息。当用户在应用程序的页面之间跳转时,存储在Session对象中的数据始终存在,不会清除。Session对象简介Session对象的SessionID属性Session对象的TimeOut属性Session对象的Abandon方法Session对象的事件利用Session对象记录用户登录信息ASP动态网站开发教程(第三版)7.2.1Session对象简介Web上用在浏览器和服务器之间传送请求和响应的HTTP协议是无状态协议,Web服务器将每个页面请求都当作独立的请求,服务器不保留以前请求的任何信息。ASP的Session对象弥补了HTTP无法记忆先前请求的缺陷。Session对象可用来标识每次访问的用户并收集信息,用户在应用程序的页面之间跳转时,该Session信息仍然存在并保持不变。在用户与网站服务器保持联系期间,应用程序可调用这些存储的信息来跟踪用户的喜好或选择。Session对象同样提供了多种成员,其中包含属性、方法和事件,这些成员在应用程序中的使用也相当广泛。ASP动态网站开发教程(第三版)7.2.2Session对象的SessionID属性用户第一次请求应用程序中的ASP文件时,ASP将生成一个SessionID。SessionID是通过复杂算法产生的长整型数据,返回用于当前会话的唯一标识符。新会话开始时,它将自动为每一个Session分配不同的编号,服务器将SessionID作为Cookies存储到用户Web浏览器中。ASP动态网站开发教程(第三版)7.2.3Session对象的TimeOut属性TimeOut属性定义了应用程序的Session对象的时限。如果用户在TimeOut规定的时间内没有请求或刷新应用程序中的任何页,Session对象就会自动终止。默认情况下,服务器只保留Session对象20分钟。对于特定的会话,如果要设置低于默认应用程序的超时间隔,可通过TimeOut属性来设置。TimeOut属性以分钟为单位指定超时间隔,如下例将超时间隔设为10分钟:%Session.TimeOut=10%ASP动态网站开发教程(第三版)7.2.4Session对象的Abandon方法Abandon方法是Session对象的唯一方法,Abandon方法可以用来删除用户的Session对象并释放其所占用的资源。下面的语句将用于删除Session对象:%Session.Abandon%ASP动态网站开发教程(第三版)7.2.5Session对象的事件Session对象包含Session_OnStart和Session_OnEnd两个事件。当网站上一个新用户通过浏览器请求一份网页时,这个用户的专属Session对象就会被创建。Session对象所定义的OnStart事件同时被触发。当一个用户离线或是停止任何浏览网页操作时,一旦过了Session对象的存活期限,代表此用户的Session对象就会被结束。此时OnEnd事件即会被触发,处理用户离线时所需的程序代码可以放在这个事件中作处理。OnStart和OnEnd事件的相关程序与Application对象一样,都是在Global.asa文件中作处理的。ASP动态网站开发教程(第三版)7.2.6利用Session对象记录用户登录信息本节以一个简单的实例,介绍利用Session对象记录变量内容的方法。
本文标题:ASP动态网站开发教程(第三版)-07
链接地址:https://www.777doc.com/doc-3378847 .html