资源描述
基于ASP的聊天室系统中Session对象和Application对象各有什么用途
聊天室是因特网上最常见的服务之一,其主要功能就是:接收各个客户端的讨论,然后按照各自的聊天对象发送到相应的客户机浏览器上。系统一个浏览窗口中,既能输入聊天用户的发言,同时又能看到自己与他人的对话内容。还有,为方便用户选择聊天对象,窗口中还要提供聊天用户的表单。
基本功能:1.聊天用户登陆;2.聊天内容输入;3.聊天内容显示;4.聊天内容显示页面实时更新。
利用ASP提供的Application和Session两个对象,可以非常容易的构造一个基本的聊天室系统。其中,Application对象和Session对象分别用来存储聊天用户的聊天内容和用户名。
一 Application对象的用途
1.Application简介
Application对象是一个比较重要的对象,理解Application对象的关键是:网站所有的用户用一个对象,当网站服务器开启的时候,Application就被创建。利用Application这一特性,可以方便的创建聊天室和网站计数器等常用站点应用程序。
Application提供了两个方法:
(1)Lock()——锁定Application对象,防止被其他用户访问。
(2)Unlock()——解除锁定,可以接受用户的访问。
Application提供两个事件
(1)Application_OnStart()——Application开始创建的时候,调用该事件。
(2)Application_OnEnd()——Application被清除的时候,调用该事件。
Application对象没有自己的属性,用户可以根据自己的需要定义属性来保存一些信息,其基本语法是:Application("自定义属性名")。执行完以后该对象就被保留在服务器上。
Application变量不会因为某一个甚至全部的用户离开就消失,一旦建立Application变量,那么它就一直存在到网站关闭或者这个Application对象被卸载,这经常可能是几周或者几个月。
2.利用Application对象实现聊天室
聊天室允许许多用户实时进行信息交流,所有用户都可以看到彼此信息,这正与Application对象的特点相符合,所以可以利用Application方便的实现聊天室,如程序:
<HTML><BODY>
<%
mywords = Request("mywords")
Application("chat") = Application("chat")& "<br>" & mywords
Response.Write(Application("chat"))
%>
<FORM ACTION="4-15.asp" METHOD="get">
<INPUT TYPE="TEXT" SIZE="30" NAME="mywords" VALUE="I LIKE CHAT">
<INPUT TYPE="SUBMIT" name="submit" VALUE="提交">
</FORM>
</BODY></HTML>
虽然比较简易,不过已经实现了聊天室的功能。
二 Session对象的用途
2.Session对象的简介
Session指的是访问者从到达某个特定主页到离开为止的那段时间网站为用户分配的用来保存用户信息的对象。可以使用Session 对象存储用户登录网站时候的信息。当用户在页面之间跳转时,存储在Session对象中的变量不会被清除。
Session对象是针对每个用户的,不同用户的信息用不同的Session来保存。在一个应用程序中,当客户端启用一个Session的时候,ASP会自动产生一个SessionID,并把这个SessionID送给客户端浏览器。
Session对象的属性有两个:
(1) SessionID——存储用户的SessionID信息
(2) Timeout——Session的有效期
Session对象提供的方法只有一个:
Abandon()——清除Session对象。
Session对象提供两个事件:
(1) Session_OnStart()——Session对象开始创建的时候,自动调用该事件。
(2) Session_OnEnd()——Session对象清除时,自动调用该事件。
当用户登录网站的时候,系统会自动分配给用户一个Session。可以使用SessionID属性得到该Session的ID。
Session对象的主要用途也是保存信息,当用户第一次到达网站时,系统为其分配一个Session。Session和Application一样也使用自己的自定义属性,如程序:
<%
Session("Greeting")="欢迎!"
Response.Write(Session("Greeting"))
%>
<br>
<a href="4-18.asp">下一页</a>
Session对象的Timeout属性
一个Session对象被创建以后,如果用户停止活动(比如:浏览网页)一段时间,该对象将被自动清除。也就是说:Session对象有其生存期,默认的时间为20分钟。
如果希望修改Session的生存期,可以有两种方法:(1) 修改IIS中系统的设置值;(2) 利用Session对象的Timeout属性来修改。比如将生存期修改为60分钟,使用的语法是:
Session.Timeout = 60
Session对象的Abandon方法
如果想利用程序清除Session对象,可以调用Session的Abandon方法。语法是:
Session.Abandon()
2.Session对象在聊天室中的应用
Session对象只保存单个用户的信息,即作用范围仅限于某个特定用户访问的不同页面间,而不是在个用户间传递数据。用户信息通过表单输入,不需要验证,Session对象可以用来存储用户名。
展开阅读全文