application对象
1 什么是application对象 ?
(1) 当Web服务器启动时,Web服务器会自动创建一个application对象。application对象一旦创建,它将一直存在,直到Web服务器关闭。
一个Web服务器通常有多个Web服务目录 (网站),当Web服务器启动时,它自动为每个Web服务目录都创建一个application对象,这些application对象各自独立,而且和Web服务目录一一对应。
访问同一个网站的客户都共享一个application对象,因此,application对象可以实现多客户间的数据共享。
访问不同网站的客户,对应的application对象不同。
(2) application对象的生命周期:从Web服务器启动,直到Web服务器关闭。
注意:一个Web应用程序启动后,将会自动创建一个application对象,而且在整个应用程序的运行过程中只有一个application对象,也即所有访问该网站的客户都共享一个application对象。
(3) application对象的作用范围:application对象是一个应用程序级的对象,它作用于当前Web应用程序,也即作用于当前网站,所有访问当前网站的客户都共享一个application对象。
application对象与session对象的区别:
(1) 两者的作用范围不同:
session对象是用户级的对象,而application对象是应用程序级的对象。
一个用户一个session对象,每个用户的session对象不同,在用户所访问网站的多个页面之间共享同一个session对象。
一个Web应用程序一个application对象,每个Web应用程序的application对象不同,但一个Web应用程序的多个用户之间共 享同一个application对象。
(2)两者作用不同:
session对象解决了同一用户的不同请求的数据共享问题,因为每个用户都有一个与之对应的session,所以session对象,可以解决同一用户的不同请求之间的数据共享问题。
application对象解决了同一网页的不同用户之间的数据共享问题,因为一个网页只有一个application,访问该网页的不同用户都可以操纵这个application。
application对象的应用:
1.应用application实现网页计数器。 代码如下:
<%
int number = 0;
if(application.getAttribute("number")==null){
number=1;
}else{
number = Integer.parseInt(application.getAttribute("number").toString());
number +=1;
}
out.print("您是第"+number+"位访问者!");
application.setAttribute("number", number);
%>
如果你是第三位访问该网页的用户,提示如下图: