基于ASP的聊天室系统中Session对象和Application对象各有什么用途

合集下载

asp中Application的用法

asp中Application的用法

asp中Application的用法在Web应用程序中,当一个用户访问该应用时,Session类型的变量可以供这个用户在该Web应用的所有页面中共享数据;如果另一个用户也同时访问该Web应用,他也拥有自己的Session变量,但两个用户之间无法通过Session变量共享信息,而Application类型的变量则可以实现站点多个用户之间在所有页面中共享信息。

可以理解Session是局部变量,而Application则为全局变量。

在同一虚拟目录及其子目录下的所有 .asp 文件构成了 ASP 应用程序。

我们非但可以使用Application 对象,在给定的应用程序的所有用户之间共享信息,并在服务器运行期间持久的保存数据。

而且,Application 对象还有控制访问应用层数据的方法和可用于在应用程序启动和停止时触发过程的事件。

一、Application("name")=value正如Session("name")=value一样,Application对象也没有内置的属性。

当然用户可以自定义属性,该属性也可称为集合。

一旦分配了Application对象的属性,它就会持久地存在,直到关闭WEB服务器服务使得 Application 停止。

由于存储在 Application 对象中的数值可以被应用程序的所有用户读取,所以Application 对象的属性特别适合在应用程序的用户之间传递信息。

<%Application("MyName") = "cnbruce"%>二、Application.LockLock方法是禁止其他用户修改Application对象的属性,以确保在同一时刻仅有一个客户可修改和存取Application 变量。

如果用户没有明确调用 Unlock 方法,则服务器将会在 .asp 文件结束或超时后即解除对Application 对象的锁定。

request,session,application的区别

request,session,application的区别

关于sevlet中request,session,application三者关系的形象解析几乎所有的Web开发语言都支持Session功能,Servlet也不例外。

Servlet/JSP中的Session功能是通过作用域(scope)这个概念来实现的。

作用域分为四种,分别为:page 在当前页面有效(仅用于JSP中)request 在当前请求中有效session 在当前会话中有效application 在所有应用程序中有效是不是看不太明白?page因为仅用于JSP中,这里只讲述其他三种作用域。

首先要声明的一点,所谓“作用域”就是“信息共享的范围”,也就是说一个信息能够在多大的范围内有效。

话说武松一日来到景阳岗,见一旗帜迎风飘扬,旗子上书五个大字“三碗不过岗”。

武松叫道:“店家,拿三碗酒来,再切两斤熟牛肉!”店小二应声道:“三碗好酒,二斤熟牛肉啰~~”里面厨师赶忙当当当当切好牛肉,店小二倒上三碗酒,店小二端上前来。

武松咕咚咕咚连干三碗,叫一声“好酒!店家,再来三碗!”小二忙又倒上三碗好酒,武松一饮而尽。

就这样前前后后武松一共喝了十八大腕。

付了帐刚要走,店小二道:“客官,这前面山上有大虫,客官刚刚喝完十八碗酒恐怕过不得岗,不如在小店暂住一夜,待明天和猎户一同过岗岂不是好?”之后武松说什么就留待各位看官自己去回忆啦。

在这段武松打虎中,大家有没有看到些熟悉的东西?武松: 浏览器。

酒馆: 服务器。

店小二、厨师: Servlet或者JSP。

来三碗好酒!: 浏览器向服务器发出HTTP请求。

店小二上酒: 服务器的响应。

武松从进店到离开: 一个HTTP对话。

我们可以看到,Web交互的最基本单位为HTTP请求(武松点菜)。

每个用户从进入网站到离开网站这段过程称为一个HTTP会话(武松进店到出店),一个服务器的运行过程中会有多个用户访问,就是多个HTTP会话(酒馆当然不可能只接待武松一个客人)。

那么作用域就可以理解为:request HTTP请求开始到结束这段时间session HTTP会话开始到结束这段时间application 服务器启动到停止这段时间request一个HTTP请求的处理可能需要多个Servlet合作(武松点菜时店小二就要吩咐厨房做菜),几个Servlet之间可以通过某种方式传递信息(店小二就用吆喝的方式通知厨房),但这个信息在请求结束后就无效了(厨房在做完菜之后就不用再管这道菜的事儿了)。

浅析ASP中的application及session对象

浅析ASP中的application及session对象

s t O jc: t i bet陔集 合包含所 有的 对象变量 . ac 是在 g b1 s l a. a文 o a 件 中 使 J< bet建 立 的 。  ̄ ojc> ]
23 方 法 .
A pia o p l t n对象 没有 内置 的属 性 , 户 可 以 定 义 自己 的属 性 , ci 用 旦 定 义 了属 性 。 就 会 一 直 存 在 。 到 We 它 直 b服 务器 关 闭 . 而且 它 能被 所 有 用 户 读 取 。 1 . 2集合 A pia o p l t n对象提供 了两 个集合 .可 以用来访问存储于全局 ci 应用 程 序 空 问 中的 变 量 和 对 象 。 C ne t:没 有 使 』< B E T 元 素 定 义 的存 储 于 A pi t n ot s n IO JC> J p l a o ci 对 象 中 的 所 有 变 最 ( 它 们 的 值 ) 一 个 集 合 . 括 V rn 数 组 及 的 包 a at i
21属 性 .
网上购物等程序时 , p l a o A p ct n和 Ssi i i es n对象具 有举 足轻重的作 o 用, 能够灵活合理地运用这 两个对象是提高程序质量 的关键 。下
面 笔 者 向大 家 解 析 A P的 这 两 个 内 建 对 象 S
1Ap lain对 象 pi t c o
LILi g n
( ab i c d n l n c ncl l g , ab i2 5 0 , ia Hu ie Vo a o a a dTeh ia l eHu ie 3 0 0Chn ) Co e
Ab ta t i at l to u e h p l aina d ssin o P a di o ceea piain a l src : s rcei rd c stea pi t n es fAS n sc n rt p l t s l Th i n c o o t c o we

ASP第三章(五大对象)

ASP第三章(五大对象)
Session.Timeout = 60
Abandon方法
如 果 想 利 用 程 序 清 除 Session 对 象 , 可 以 调 用 Session的Abandon方法。语法是:
并介绍如何实现网站常用的程序。
内置对象概述
为了实现网站的常见功能,ASP提供了内置对象,内置对象的特点是: 不需要先创建一个实例,可以直接使用。常用的内置对象及其功能如下。
(1)Response对象:将信息发送回给浏览器。 (2)Request对象:获取客户端的信息。 (3)Application对象:存储一个应用中所有用户共享的信息。 (4)Session对象:存储一个普通用户其滞留期间的用户信息。 (5)Server对象:提供许多服务器端的应用函数。
简写形式
可以看出<%…%>内的程序只有结果,而<Script>标 记可以看到程序。因为<%…%>内的程序是由服务 器IIS执行的,而<Script>中的程序是客户端浏览器 解释执行的。 Response.Write使用非常频繁,可将它简化为“=”。 如程序4-03.asp所示。
网页转向
访问一个ASP页面,有时并不是出现需要的网页, 而是转到另外一个页面上去了。Response中有一个 Redirect方法的功能是实现转向 如程序4-05.asp所示。
Application
Application提供两个方法:
(1) Lock()——锁定Application对象,防止被其他用户访问。 (2) Unlock()——解除锁定,可以接受用户的访问。
Application提供两个事件:
(1) Application_OnStart()——Application开始创建的时候,调用该 事件。 (2) Application_OnEnd()——Application被清除的时候,调用该事 件。

浅谈page,request,session,application四种范围

浅谈page,request,session,application四种范围

浅谈page,request,session,application四种范围JaveWeb四种主要的范围:1.page: page表⽰页⾯范围。

页⾯范围对应的时间段为:从客户访问⼀个jsp⽂件开始,到这个jsp⽂件执⾏结束。

2.request: request表⽰请求范围。

请求范围时间段为:从客户请求访问⼀个jsp⽂件开始,到这个jsp返回响应结果结束,如果这个jsp⽂件把请求转发给其他web组件,那么知道其他web组件返回响应结果结束。

请求范围是指服务器响应⼀次客户请求的过程,从servlet容器接收到⼀个客户请求开始,到返回响应结果结束, 请求范围与servletRequest和servletResponse相对应。

3.session: session表⽰会话范围。

会话范围对应着整个会话的⽣存周期。

会话范围是指浏览器与⼀个web应⽤进⾏⼀次会话的过程。

具体实现上,会话范围与httpsession对象的⽣命周期相对应。

因此web组件只要共享同⼀个httpsession对象也就能共享会话范围内的数据。

举例说明: 浏览器进程第⼀次请求访问应⽤中⼀个⽀持会话的⽹页,servlet容器驶⼊寻找请求中表⽰sessionID的cookie,由于还不存在这样的cookie,所以⼀个新的会话开始了,创建⼀个httpsession的对象,然后为它分配唯⼀的sessionID,并把id作为Cookie 放在http响应结果中,当浏览器接收到http响应后,会把sessionID保存的cookie保存在客户端。

浏览器进程继续访问应⽤的任意⼀个⽀持会哈德页⾯,http请求会包含表⽰sessionID的Cookie,servlet容器试图寻找http请求中sessionID的cookie,找到后可以找到与sessionID匹配的httpSession。

4.application(应⽤)范围: web应⽤范围对应整个web应⽤的⽣存周期。

ASP的内建对象

ASP的内建对象

ASP的内建对象ASP的内建对象共有六种:Request对象:可以保存WEB Client端送往WEB Server端的所有信息。

包括用GET或是POST方法传递的数据,Server环境变量、Cookie信息等。

Response对象:主要是将信息从WEB Server端传送到WEB Celient端。

也可以使用它实现页面的跳转或Cookie值的设定。

ASP的输入值功能也是由Response来完成。

Server对象:主要是执行与WEB服务器直接相关的一些操作。

它只有一个属性ScriptTimeout。

它重要的方法为CreateObject方法、HTMLEncode方法、MapPath方法、UrlEncode方法。

Session对象:相当于每个上线用户的私有变量集合,随着用户上线而产生,用户下线或强制解除而终止。

Application对象:能记录所有WEB用户的共有信息,相当于上线用户的公共变量集合。

它随着Web应用程序的开始运行而产生,随着Web应用程序的运行结束而终止。

Objectcontext对象:主要在进行交易处理时使用,利用该对象可以管理、控制这些交易。

通常Objectcontext对象利用Complete方法声明交易的正常结束,使用Abort方法声明交易的异常结束。

Response有五大典型功能:1.可以对外输出信息。

2.控制信息的传送时刻。

3.重定向网页。

4.控制浏览器的Cache 。

5.设置用户的Cookie 。

Response的常用属性与方法:属性篇1.Buffer属性:指示是否缓冲页输出。

语法:Response.Buffer = true/false当缓冲页输出时,只有当前页的所有服务器脚本处理完结或者调用了Flush或End方法后,服务器才将响应发送给客户端。

由于服务器向客户端发送信息后就能再设置Buffer 属性,因此一般在脚本程序的最前面对Buffer属性设置。

2.CacheControl属性:忽略Private默认值。

各种状态保存

Application, Session, Cookie, Viewstate, Cache对象——转无情无绪的博客1.Application:用于保存所有用户共用的数据信息。

在中类似的配置数据最好保存在Web.config文件中。

如果使用Application对象,一个需要考虑的问题是任何写操作都要在Application_OnStart 事件(global.asax)中完成。

尽管使用Application.Lock和Application.Unlock方法来避免写操作的同步,但是它串行化了Application对象的请求,当网站访问量大的时候会产生严重的性能瓶颈。

因此最好不要用此对象保存大的数据集。

使用如下://存放信息Application["UserNameID"]="1000";//读取信息String NameID=Application["UserNameID"].ToString();2.Session:用于保存每个用户的专用信息。

Session中的信息保存在Web服务器的内存中,保存的数据量可大可小。

当Session超时或被关闭时将自动释放保存的数据信息。

对于小量的数据Session对象保存还是一个不错的选择。

使用如下://存放信息Session["UserNameID"]="1000";//读取信息String NameID=Session["UserNameID"].ToString();3.Cookie:用于保存客户浏览器请求服务器页面的请求信息,其有效期可以人为设置,而且其存储的数据量很受限制,因此不要保存数据集及其他大量数据。

而且Cookie以明文方式将数据信息保存在客户端的计算机中,因此最好不要保存敏感的未加密的数据。

使用如下://存放信息Response.Cookie["UserNameID"].Value="1000";//读取信息String NameID=Response.Cookie["UserNameID"].Value;4.ViewState:常用于保存单个用户的状态信息,可以保存大量的数据但是过多使用会影响应用程序的性能。

ASP中的会话

第6章ASP中的会话本章要点:SessionApplication6.1Session对象本章讨论ASP中另两个对象,就是Application和Session对象。

要在同一个ASP 程序的不同页面之间传递数据,最直接的方法可以采用表单提交的方式或者采用查询字符串(QueryString)的方法来实现,当然也可以采用Cookies方法实现把数据从一个页面传递到另外一个页面。

使用Application和Session对象能够轻易完成这些功能。

把客户数据在各页面之间进行传递,这就是会话。

6.1.1Session简介使用Session对象可实现保存特定用户的信息。

访问者从访问某个特定主页到离开为止的那段时间,每个访问者都会单独获得一个Session对象,也就是用户在同一个网站里从一个页面跳转到另外一个页面时,该Session 信息仍然存在。

这里的同一个网站指的是虚拟目录。

用户在同一个网站的任何一个页面都可以存取Session对象的有关信息。

6.1.1Session简介Session对象利用Cookie进行信息处理。

当用户提出请求后,服务端就会在用户浏览器上创建一个Cookie对象。

当某个Session结束时,就意味着该Cookie已经过期。

为这个用户创建的Cookie名称是SessionID,该Cookie唯一目的是为每个用户提供不同的身份认证。

在一个应用程序中,当客户端启动一个Session时,ASP会自动生成一个长整型SessionID,并把这个SessionID传递给客户端浏览器。

浏览器会把这个SessionID存放在Cookies内,即暂存于客户端硬盘中。

而当用户转到同一个应用程序的其它页面再次请求该Session对象时,ASP就会查找保存该SessionID的Cookies,并返回对应的Session信息。

最后,当用户离开网站时,也就是当这个Session结束时,该Cookies信息会从硬盘上自动删除。

ASP.NET内置对象(详细)

内置对象(详细) 今天跑到图书馆看书,很多东西忘了,以⾄有时候求职⾯试时说不出来,便有空来看看书 以下是从《C#与程序设计教程》王振武著⼀书上看到的,写的挺详细的,有时候会⽤到,便搬到这边来,共分享,学习;我只是知识的搬运⼯⽽已,哇咔咔! 内置对象名称功能说明Page对页⾯的内容进⾏处理Requset获取客户端及服务端的相关信息Response将HTTP相关数据及其有关信息发送到客户端Server提供⼀系列与WEB相关的程序Session在服务器的内存中储存客户会话的信息Cookie在客户端储存与客户和⽹站相关的信息Application在服务端储存应⽤程序多次访问的信息Page对象的常⽤属性 IsPostBack:获取⼀个布尔类型的值,该值表⽰页⾯是否⾸次加载和访问;第⼀次访问为false,再次访问为true. Form:获取页⾯的HTML窗体。

Validator:获取请求的页上包含验证控件的集合Page对象的常⽤事件 PreInit:在页⾯初始化开始时的发⽣ Init:当服务器控件初始化时发⽣;初始化是控件⽣存期的第⼀步 InitComplite:在页初始化完成时发⽣ PreLoad:在页Load事件之前发⽣ Load:在服务器控件加载到Page对象中时发⽣ LoadComplete:在页⽣命周期的加载阶段结束时发⽣ PreRender:在加载Control对象之后,呈现之前发⽣ Unload:在服务器控件从内存中卸载时发⽣ Dispose:在从内存释放服务器控件时发⽣ DataBinding:当服务器控件绑定到数据源时发⽣页⾯执⾏顺序⼤致如下:1. 页⾯初始化,触发Page_Init()事件2. 加载页⾯视图状态viewstate;viewstate⽤来维护控件⾃⾝的状态,是不能被⽤户访问的3. 加载页⾯,触发Page_Load事件4. 页⾯运⾏时服务器控件引发的事件5. 页⾯从内存中卸载。

JSP的四大作用域:page、request、session、application

JSP的四大作用域:page、request、session、applicationJSP的四大作用域:page、request、session、applicationpage作用域:代表变量只能在当前页面上生效reques t:代表变量能在一次请求中生效,一次请求可能包含一个页面,也可能包含多个页面,比如页面A请求转发到页面B session:代表变量能在一次会话中生效,基本上就是能在web项目下都有效,session的使用也跟cookie有很大的关系。

一般来说,只要浏览器不关闭,cookie 就会一直生效,cookie生效,session的使用就不会受到影响。

application:代表变量能一个应用下(多个会话),在服务器下的多个项目之间都能够使用。

比如baidu、wenku等共享帐号。

Cookie在jsp中语法:Cookie cookie_name =new Cookie("Parameter","Value");例:Cookie username_Cookie =new Cookie("username","waynezheng");response.addCookie(username_Cookie);读取cookie从提交的HTML表单中获取,用户名String userName=request.getParameter("username");以"username", userName 值/对创建一个CookieCookie theUsername=new Cookie("username",userName);在JSP中,使用setMaxAge(int expiry)方法来设置Cookie的存在时间,参数expiry 应是一个整数。

正值表示cookie将在这么多秒以后失效。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于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" V ALUE="I
LIKE CHAT">
<INPUT TYPE="SUBMIT" name="submit" V ALUE="提交">
</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对象可以用来存储用户名。

相关文档
最新文档