ASP入门教程-处理会话事件

Session 对象有两个事件:即 OnStart 事件和 OnEnd 事件。通过对这两个事件过程编写脚本可以在会话开始和结束时执行指定的操作。编写这些事件过程的脚本代码时,必须使用 SCRIPT 标记并将 RUNAT 属性设置为 Server ,而不能使用一般的 ASP 脚本定界符<% 和 %>;这些事件过程的脚本代码必须包含在一个名为 global.asa 的文件中,而该文件必须存放在应用程序的根目录中。   

1、Session_OnStart 事件

Session_OnStart事件是在服务器创建新会话时发生。服务器在执行请求的页之前先处理该脚本。Session_OnStart事件是设置会话期变量的最佳时机,因为在访问任何页之前都会先执行它们。

当会话开始时触发Session_OnStart事件,然后运行Session_Onstart事件的处理过程。也就是说,当服务器接收到应用程序中的URL的HTTP请求时,触发此事件,并建立一个Session对象。

2、实例

在下在的例子中,通过 Session_OnStart 事件过程对会话变量 UserName 和 Password 进行初始化。代码如下:

<Script Language="VBScript" Runat="session">
Sub Session_OnStart
Session("UserName")="未知"
Session("Password")="未知"
End Sub
</Script>


假如不希望用户第一次访问时直接进入主页之外的其他页面,可以在 Session_OnStart 过程中对用户请求的页面路径与主页路径进行比较,如果不相同,则调用 Response.Redirect 方法将用户引导到主页。脚本如下:

<Script language="VBScript" runat="server">
sub session_OnStart
homePage="/myasp/index.asp"
requestpage=Request.ServerVariables("SCRIPT_NAME")
if homePage<>RequestPage then
response.Redirect homePage
end if
end sub
</script>


3、测试这段代码

首先我们建一个别名为 “myasp” 的虚似目录,将 global.asa 文件保存到这个虚拟目录下,再建一个名为 “index.asp" 的简单主页也放到这个虚拟目录下,然后在这个虚拟目录下建一个名为 1 的子目录,再建一个名为 1.asp 的简单页面放到这个子目录下。最后在地址栏内输入地址: http://127.0.0.1/myasp/1/1.asp, 回车后,你会发现显示的是 index.asp 页面,地址栏内自动将地址转换成127.0.0.1/myasp/index.asp。这表明:当客户第一次登录到 http://127.0.0.1/myasp/1/1.asp 页面,先调用 session_OnStart 事件,在这个事件中通过 Request 对象的 ServerVariables 集合中的 "SCRIPT_NAME" 环境变量获得当前页面的虚拟路径,然后与你指定的页面路径进行比较,如果两者不一样,则通过 response 对象的 Redirect (重定向)方法将页面重新指向你指定的页面。

4、Session_OnEen 事件    

当调用 Session.Abandon 方法或在超时时限内没有请求或刷新页面,便发生该事件并执生 Sessiot_End 事件过程,相应的 Session 对象随之自动结束。

在下面的例子中,通过事件过程 Session_OnEnd 将用户标识和结束会话的时间添加到站点日志文件中。

<script language="vbscript" runat="server">
sub session_OnEnd
response.AppendTolog Session.SessionID & Timer()
end sub
</script>


查看全套ASP入门教程

时间: 2024-11-01 07:56:27

ASP入门教程-处理会话事件的相关文章

ASP入门教程-保存会话信息

一.使用 Contents 集合保存会话信息 1.Contents 集合是使用 Session 对象定义的在 ASP 应用程序中的一组变量.这些变量的作用域为用户层,并且在整个 ASP 应用程序中都是可用的.这是Session 对象默认的集合,因此下述两种格式是等价的: Session.Contents("变量名") Session("变量名") 其中,"变量名"是需要操作的 Session 变量名称. 2.实例代码(1.asp):使用 Sess

ASP入门教程

ASP入门教程-前言 ASP入门教程-静态网页和动态网页 ASP入门教程-ASP和脚本语言 ASP入门教程-创建基本表单 ASP入门教程-使用输入型表单控件 ASP入门教程-使用其他表单控件 ASP入门教程-表单的综合实例 ASP入门教程-VBScript概述 ASP入门教程-VBScript基本元素 ASP入门教程-VBScript的输入与输出语句 ASP入门教程-单条件选择结构 ASP入门教程-多分支条件选择结构 ASP入门教程-ASP概述 ASP入门教程-Response对象概述 ASP入

ASP入门教程-控件会话的结束时间

1.利用 Session.Timeout 属性设置超时时限 对于一个登录到 ASP 应用程序的用户,如果用户在系统默认的时间内未进行其它任何操作,当设置的时间一到便自动撤销这个用户的 Session,这样就可以防止系统的资源被浪费.Session 对象的 TimeOut 属性可以用来设置"过期时间",当浏览器在 TimeOut 属性的设置的设置格式为: Session.TimeOut=MaxTime 2.实例代码:(5.asp)页面,本实例说明如何控制会话的结束. <% @ la

ASP入门教程-使用Session对象识别会话

1.什么是会话标识 ASP 为每一个用户会话分配了惟一的识别标志.在创建会话时,服务器会为每一个会话生成一个单独的标识,该标识以长整型数据类型返回,并且随用户在 Web 站点上保存着.使用 Session 对象的 SessionID 属性可以返回用户的会话标识,其格式如下: Session.SessionID SessionID 属性的用途之一是跟踪访问者的活动情况.例如,为了在站点日志中记录用户访问的页在,通过在所有页面中添加以下脚本:. 2.实例代码(4.asp):本实例使用 Session

ASP入门教程-Application对象概述

一.Application对象概述 当载入ASP DLL并响应对一个ASP网页的第一个请求时,创建Application对象.该对象提供一个存储场所,用来存储对于所有访问者打开的所有网页都可用的变量和对象 可以使用 Application 对象在给定的应用程序的所有用户之间共享信息.基于 ASP 的应用程序同所有的 .asp 文件一样在一个虚拟目录及其子目录中定义.因为多个用户可以共享 Application 对象,所以必须要有 Lock 和 Unlock 方法以确保多个用户无法同时改变某一属性

ASP入门教程-Session对象概述

一.Session对象概述 Session对象其实指的就是用户从到达某个站点直到离开为止的那段时间内,服务器端分配给用户的一个存储信息的全局变量的集合,这些变量可以是自动生成的,也可以是编程者在服务器端脚本定义的. 当用户在应用程序的 Web 页面之间跳转时,存储在Session 对象中的变量将不会丢失,而且在整个用户会话中会一直在下去. 当用户请求 ASP 应用程序的某个页面时,若用户尚未建立 Session 对象,服务器端就会自动创建一个 Session 对象,并指定一个惟一的 Sessio

asp入门教程:ASP applocation 全局变量与 Global.asa 文件

asp入门教程:ASP 全局变量 Global.asa 文件 Global.asa文件是一个可选文件,可以包含申报的对象,变量和方法,可以通过在每一页的ASP应用程序. -------------------------------------------------- ------------------------------ Global.asa文件 Global.asa文件是一个可选文件,可以包含申报的对象,变量和方法,可以通过在每一页的ASP应用程序.所有有效的浏览器的脚本( Java

ASP入门教程-创建基本表单

这里省略了部分HTML教程,建议不懂的朋友,直接查看HTML教程.这里只是讲讲表单. 表单是用来收集站点访问者信息的域集.表单从用户收集信息,然后将这些信息提交给服务器进行处理.表单可以包含允许用户进行交互的各种控件,例如文本框.列表框.复选框和单选按钮等.站点访问者填表单的方式是输入文本.单击单选按钮或复选框以及从下拉列表中选择选项等.在填好表单之后,站点访问者便送出所输入的数据,该数据就会根据所设置的表单处理程序,以各种不同的方式进行处理.基本语法格式如下: <form name="表

ASP入门教程-Cookies集合

一.通过Response 对象的 Cookies 集合来创建Cookies.其语法格式为: Response.Cookies (Cookies名) [(key)|.属性] =值 注解: Key 为可选参数,如指定Key ,则 Cookies 就是一个字典,该参数值将被设置为"值".并可以在以后的接收中使用. "索引值"用于检索多个变量值中的某一个: 属性是指Cookies的属性. Cookies默认的生命周期起始于它被写入浏览器端的那一刻,结束于浏览器结束执行时.如