application、session、request、page他们的使用方法基本上都是一致的,只不过作用范围不一样而已:
application:全局作用范围,整个应用程序共享,就是在部署文件中的同一个webApp共享,生命周期为:应用程序启动到停止。
session:会话作用域,当用户首次访问时,产生一个新的会话,以后服务器就可以记住这个会话状态。生命周期:会话超时,或者服务器端强制使会话失效。
request:请求作用域,就是客户端的一次请求。
page:一个JSP页面。
服务器启动后就产生了这个application对象,当客户再所访问的网站的各个页面之间浏览时,这个application对象都是同一个,直到服务 器关闭。但是与session不同的是,所有客户的application对象都是同一个,即所有客户共享这个内置的application对象。
< contentType="text/html;charset=GB2312"%>
<html>
<head> </head>
<body>
<center>
<font size="5">application对象的使用</font>
<hr/>
<%
Object o = null;
String strNum = (String) application.getAttribute("Num"); //与session相同
int Num = 0;
if (strNum != null)
Num = Integer.parseInt(strNum) + 1;
application.setAttribute("Num", String.valueOf(Num));
%>
application对象中的
<font color="blue">Num</font>
变量值为:
<font color="red"><%=Num %> </font>
<br/>
</center>
</body>
</html>
1返回由name指定的名字的application对象的属性的值.
2. getAttributeNames()
返回所有的application对象的属性的名字,其结果是一个枚举的实例.
3. getInitParameter( String name )
返回由name指定的名字的application对象的某个属性的初始值.
4. getServletInfo()
返回servlet编译器的版本的信息.
5. setAttribute( String name , Object object )
设置由name指定的名字的application对象的属性的值object.
需要说明的是在一个所用范围内setAttruibute时请尽量不要多次set同一个对象ID,以防止对象所保存的信息被改变而无用。(但某些情况下这恰恰是有用处的!)