application对象

jsp利用application统计在线人数的方法 主要介绍了jsp利用application统计在线人数的方法,代码中备有较为详尽的注释便于理解,是比较实用的技巧,需要的朋友可以参考下 立即下载
   JSP作用域通讯对象-application
   application对象的作用范围比session更大,不仅仅是在同一个窗口,而是作用于整个应用程序,所有的客户端窗口都可以共享该对象。他从服务器启动开始就存在,直到服务器关闭为止。applictaion对象最常用的方法如下:
   1.void setAttribute(String name,Object value):以键值方式将一个对象的值存放到application中。
   2.void getAttribute(String name):根据名称去获取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.Lock
  Lock方法是禁止其他用户修改Application对象的属性,以确保在同一时刻仅有一个客户可修改和存取 Application 变量。如果用户没有明确调用 Unlock 方法,则服务器将会在 .asp 文件结束或超时后即解除对 Application 对象的锁定。最简单的就是进行页面记数的例子了。
  1,num.asp

<%
Application.Lock
Application("NumVisits") = Application("NumVisits") + 1
Application.Unlock
%>
  你是本页的第<%=Application("NumVisits")%>位访问者。


  上面的程序,你会发现每刷新一次,都会记数累加,如按IP值访问来记数的话,则建立一个Session。
  2,vnum.asp
<%
if session("visitnum")="" then
Application.Lock
Application("NumVisits") = Application("NumVisits") + 1
Application.Unlock
session("visitnum")="visited"
end if
%>
你是本页的第<%=Application("NumVisits")%>位访问者。

  三、Application.Unlock
  与Lock方法相反,Unlock方法是允许其他用户修改 Application 对象的属性。可以看出在上面的例子中,Unlock方法解除对象的锁定,使得下一个客户端能够增加 NumVisits 的值。
  当然需要注意的是:记数要确保服务器不被重启,因为所以的访问是数值是建立在页面之上的,并未进行保存成文件或保存到数据库这样的处理。
  一般当服务器重新启动就会触发Application的事件了。
  四、Application_OnEnd
  Application_OnEnd 事件在应用程序退出时于 Session_OnEnd 事件之后发生,当然Application_OnEnd 事件的处理过程也必须写在 Global.asa 文件之中。
  比如上面的程序中,若服务器关机必然会触发Application_OnEnd事件,那么该事件就可以进行数据保存的工作,已使得下次数据的续沿。
  当然Application_OnEnd 事件在应用程序退出时于Session_OnEnd 事件之后发生。

<SCRIPT LANGUAGE="VBScript" RUNAT="Server">
.............
Sub Application_OnEnd
.............
End Sub
.............
</SCRIPT>

  五、Application_OnStart
  Application_OnStart 事件在首次创建新的会话( 即 Session_OnStart 事件 )之前发生。当WEB服务器启动并允许对应用程序所包含的文件进行请求时就触发Application_OnStart事件。
<SCRIPT LANGUAGE=ScriptLanguage RUNAT=Server>
.............
Sub Application_OnStart
.............
End Sub
.............
</SCRIPT>

  所以现在可以将Global.asa内部的代码可以想象

<SCRIPT LANGUAGE="VBScript" RUNAT="Server">
Sub Application_OnStart
.....................
End Sub
Sub Session_OnStart
.....................
End Sub
Sub Session_OnEnd
.....................
End Sub
Sub Application_OnEnd
.....................
End Sub
</SCRIPT>

 

 
ASP编程入门进阶(九):Application ASP编程入门进阶(九):Application 日期:2005-1-30 15:07:59 来源:网人帝国 查看:[ 中 小] 作者:cnbruce 热度: 337 阅读详情

相关推荐

page request Session application的区别

1.简单说 page指当前页面。在一个jsp页面里有效 2.request 指从http请求到服务器处理结束,返回响应的整个过程。在这个过程中使用forward方式跳转多个jsp。在这些页面里你都可以使用这个变量。 3.Session 有效范围当前会话,从浏览器打开到浏览器关闭这个过程。 4.application它的有效范围是整个应用。 作用域里的变量,它们的存活时间是最长的,如果不进行...

孤影在线 439

关于Application.Lock…Application.Unlock有什么作用?

<br />因为Application变量里一般存储的是供所有连接到服务器的用户共享的信息(就像程序中所说的 "全局变量 "), <br />由于是全局变量,所以就容易出现两个或者多个用户同时对这一变量进行操作的情况从而产生冲突,而Application.Lock和Application.Unlock就是为了解决这一问题的, <br />使用Lock就能确保了在某一时段所有连接到服务器的用户之中只有一个用户能获得存取或修改该Application变量的权限(即对该公共变量进行锁定操作)。其它任何用户想要获得

ldneedu的专栏 6874

关于Application.Lock和Lock(obj)

http://www.cnblogs.com/yeagen/archive/2012/03/01/2375610.html   1.Application.Lock和Application.UnLock一般配对出现,用于锁住Lock与UnLock之间的所有代码(注意不光锁住对于Application的赋值)。 2.Lock(obj) 于用锁住obj对象,obj对象必须是全局对象(如:Appl...

weixin_34378969的博客 324

对于application对象的认识

本文转载于https://blog.csdn.net/rshp_520/article/details/22213399application对象1 什么是application对象 ?(1) 当Web服务器启动时,Web服务器会自动创建一个application对象application对象一旦创建,它将一直存在,直到Web服务器关闭。   一个Web服务器通常有多个Web服务目录 (网站),...

qq_39569728的博客 1万+

Application对象

一、Application对象的成员概述  Application对象成员包括Application对象的集合、方法和事件。  ⒈Application对象的集合  Contents集合:没有使用元素定义的存储于Applicaiton对象中的所有变量的集合  StaticObjects:使用元素定义的存储于Application对象中的所有变量 的集合  例:在default.asp中有如下赋值 

catbaby专栏 549

ASP Application 对象

在一起协同工作以完成某项任务的一组ASP文件被称作应用程序(application)。ASP中的Application 对象用来将这些文件捆绑在一起。Application 对象web上的某个应用程序可以是一组ASP文件。这些ASP文件一起协同工作来完成某项任务。ASP中的Application对象用来把这些文件捆绑在一起。Application对象用于存储和访问来自任何页

Phoxe_bai的专栏 1054

获取全局的Application对象

开发中很多地方需要使用全局Application对象,每次都从外部传入着实麻烦。于是,开始有有了利用Java的反射来获取,当前的Application对象。 package pk.base.util; import android.app.Application; import java.lang.reflect.Field; import java.lang.reflect.M

u014311788的博客 3234

Application 对象

Application 对象Web 上的一个应用程序可以是一组 ASP 文件。这些 ASP 在一起协同工作来完成一项任务。而 ASP 中的 Application 对象的作用是把这些文件捆绑在一起。Application 对象用于存储和访问来自任意页面的变量,类似 Session 对象。不同之处在于所有的用户分享一个 Application 对象,而 session 对象和用户的关系是一一

放飞梦想 482

java web application对象_Web应用使用application对象

application对象代表Web应用本身,对于整个Web应用有效,一旦JSP,Servlet将数据放入application中,该数据将可以被该应用下其他所有的JSP,Servlet访问。application对象通常有两个作用:1 在整个Web应用的多个JSP,Servlet之间共享数据2 访问Web应用的配置参数通过application对象在整个Web应用的多个JSP,Servlet之间...

weixin_32989877的博客 1005

ASP内置对象详解之Application对象

   Application对象是个应用程序级的对象,用来在所有用户间共享信息,并可以在Web应用程序运行期间持久地保持数据。  Application的属性:  方法如下:   Application对象没有内置的属性,但是我们可以自行创建其属性。     其实部分Application变量都 存放在Contents集合中,当你创建一个新的Application变量时,其实就是在Conte

TOSO的专栏 1559

application 对象是什么

application 对象用于保存应用程序中的共有数据,在服务器启动时对每个web 应用程序都自动创建一个 application 对象,只要不关闭服务器application 对象将一直存在,所有访问同一工程的用户可以共享applicaton对象

cfx1299748113的博客 3902
上一篇: pageContext对象
下一篇: session对象
doc123
博客等级 码龄18年 22粉丝 77原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值