ASP与SQL基础

来源:互联网 发布:什么是优化教育 编辑:程序博客网 时间:2024/06/05 04:34
 

ASP与SQL基础

4. Application对象

Application对象用于构建应用程序作用域变量,应用它可以在给定的应用程序的所有

用户之间共享信息,并在服务器运行期间持久地保存数据。例如累计访问站点的人数、跟踪用户进行的操作。

事件:

l           Application_OnStart  每次Web应用程序开始运行时,就执行该事件。

l           Application_OnEnd  每次Web应用程序运行结束时,就执行该事件。

方法:

l           Lock  锁定Application对象,禁止其他用户对它进行修改。

l           Unlock  释放对Application对象的锁定,允许其他用户对它进行修改。


集合:

l           Contents  用于提取用户可以使用的所有Application变量。

l           StaticObjects  用于提取用户可以使用的所有以<object>标记构建的对象。

简介:

l           Application_OnStart和Application_OnEnd事件  在Application对象中出现了一个新的概念:事件。我们所说的事件主要是针对用户的动作而言。在用户进行了某项操作时,就会触发满足条件的事件。例如,当一个站点开通以后,第一个连接到这个站点的用户就会触发Application_OnStart事件,它在创建新的会话(即Session_OnStart事件)之前发生;而在站点关闭或一定时间内没有用户访问站点的时候就会触发Application_OnEnd事件,它在结束当前会话(即Session_OnEnd事件)之后发生。这两个事件可以通过如下的方法使用:

<script language=JavaScript runat=server>

function Application_OnStart()

{

//处理应用程序启动时的相关操作

}

function Application_OnEnd()

{

//处理应用程序结束时的相关操作

}

</script>

Application_OnStart和Application_OnEnd事件对应用程序中所有的ASP页面都有效,所以不能放在某个单独的ASP页面中,而应该放在站点的根目录下的Global.asa文件中。

注意  关于文件Global.asa,在这里不做详细介绍,感兴趣的读者可以参看相关的ASP参考书籍。

l           构建应用程序作用域变量  Application对象最重要的一个作用就是构建应用程序作用域变量。它可以被所有访问站点的用户共有。每个用户都可以修改这个变量,从而对其他用户产生影响。所以Application对象特别适合在应用程序的用户之间传递信息。这个变量可以持久地存在,直到Web服务器被中止、Global.asa被改变或者该Application被卸载。要创建应用程序作用域变量,其语法结构如下所示:

Application("变量名");

上面的代码实际使用的是Application对象的Contents集合,在这里可以省略Contents。所以可以使用如下所示的代码创建应用程序作用域变量:

Application.Contents("变量名");

在调用我们所构建的应用程序作用域变量时不能只写变量名,而必须写为Application(“变量名”),否则会导致错误。例如要显示所构建的应用程序作用域变量,就要将代码写为如下的形式:

Response.Write(Application("变量名"));   

使用Application对象的Contents集合只能构建和获取普通的应用程序变量,却不能获取由<object>标记创建的对象变量,或是用CreateObject方法创建的对象。要想获取这些对象变量,就要使用Application对象的StaticObjects集合。其语法结构如下所示:

Application.StaticObjects("对象变量名");

5. Session对象

Session对象主要用于构建会话作用域变量,以保存特定的用户会话所需的信息。当用户在应用程序的页面之间跳转时,存储在Session对象中的变量不会清除。

事件:

l           Session_OnStart  每一个会话开始的时候触发该事件。

l           Session_OnEnd  每一个会话结束的时候触发该事件。

方法:

Abandon  用于结束会话。

属性:

l           CodePage  用于表明会话的字符串编码。

l           LCID  用于设置页面的国家或地区区域。

l           SessionlD  用于记录每个会话的ID号,它是由服务器自动生成的一个不重复的长整数。

l           Timeout  设置会话的有效期,单位是分钟。

集合:

l           Contents  用于提取当前用户会话中所有可以使用的会话变量。

l           StaticObjects  用于提取当前用户会话中所有以<object>标记所创建的           对象。

简介:

l           Session_OnStart和Session_OnEnd事件  和Application对象类似,Session对象也有OnStart和OnEnd事件。Session_OnStart事件在服务器创建新会话时发生。服务器在执行请求的页面之前会先处理该脚本,所以Session_OnStart事件是设置会话期变量的最佳时机。Session_OnEnd事件则在会话被放弃或超时的时候发生。这两个事件对应的事件函数同样需要放在Global.asa文件中。

这两个事件的代码结构如下所示:

<script language=JavaScript runat=server>

function Session_OnStart()

{

//处理会话启动是的相关操作

}

function Session_OnEnd()

{

//处理会话结束的相关操作

}

</script>

l           Session.Abandon  Session.Abandon方法可以强制会话立刻结束,其语法结构如下所示:

Session.Abandon();

上述代码可以放在页面中的任何位置,但是只有在页面被解释完毕以后,会话才会结束。代码的位置并不决定会话结束的位置;会话结束的位置始终都是在页面的底部。

l           Session.Timeout  Session.Timeout属性用来设置应用程序的超时时限。用户在连入站点后,如果超过一定时间没有进行任何操作的话,系统就会自动将会话设为无效,并删除该用户所有的会话变量。Session.Timeout属性就是用来设置这个时间的,默认状态下,该时限为20分钟。其语法结构如下所示:

Session.Timeout=分钟数;

l           构建会话作用域变量  Session对象的一个重要作用是构建会话作用域变量。它和应用程序作用域变量的区别是,会话作用域变量的值只对当前拥有会话的用户有效,一个用户修改会话作用域变量的值不会对其他用户产生影响。

构建会话作用域变量,可以使用如下的代码:

Session("变量名");

同Application对象类似,上述代码实际也是使用了Contents集合,它帮助用户获得所有可以使用的会话作用域变量。所以构建会话作用域变量,也可以使用如下代码:

Session.Contents("变量名");

Contents集合只能获取普通的会话变量,要获取利用<object>标记创建的对象变量或利用CreateObjects创建的对象就必须使用StaticObjects集合,其语法结构如下所示:

Session.StaticObjects("对象变量名");

6. Cookie操作

什么是Cookie?Cookie其实是一个网络标签。当访问一个需要唯一标识你的身份的Web站点时,它会在你的硬盘上留下一个标记。下一次访问同一个站点时,站点的页面会查找这个标记。每个Web站点都有自己的标记。标记的内容可以随时读取,但只能由该站点的页面完成。每个站点的Cookie与其他所有站点的Cookie存在同一文件夹的不同文件内(可以在Documents and Settings文件夹下的用户目录的Cookie文件夹中找到它们)。一个Cookie就是一个唯一的客户标记。Cookie可以包含某个Web站点在一个对话期或几个对话期之间所有页面共享的信息。使用Cookie还可以在页面之间交换信息。例如在登录某些站点时,用户每次都需要输入账号和密码。而在另外一些站点中,用户只需要输入一次账号和密码,在下一次访问这个站点时,站点就会自动显示出浏览者的用户名来,就像记住了浏览者一样,这里就使用了Cookie。

在ASP中,Cookie操作通过Response对象和Request对象实现。Response对象中的Cookies集合主要完成向浏览器端写入Cookie信息的操作。而Request对象中的Cookies集合则主要完成从浏览器端提取Cookie信息的操作。

简介:

l           Cookie的读写方法  使用Response对象中的Cookies集合可以对Cookie进行写入的操作。如果指定的Cookie不存在,则创建该Cookie变量;如果存在,则设置新值,并将旧值覆盖。其语法结构如下:

     Response.Cookies("Cookie名")="Cookie内容";

注意  写入Cookie的操作只有在网页内容被发送到用户的浏览器之前才有效,所以必须将Response.Cookies的代码放在<html>标识符之前。