此处Jsp的三大内置对象指:request,session以及application。他们共有的方法:setAttribute,getAttribute,方法名和方法作用都是相同的,但是作用范围不一样,这与这3个对象的作用范围有关。用以下简单的访问者计数例子说明:
<body>
<%if(application.getAttribute("count")==null)
{
application.setAttribute("count", 1);
}
else{
String counti=application.getAttribute("count").toString();
int counter=Integer.parseInt(counti);
counter++;
application.setAttribute("count", Integer.toString(counter));
}
%>
您是第<%=application.getAttribute("count")%>位访问者。
</body>
分别用request,session以及application对象的setAttribute及getAttribute方法代入到以上例子中。
实验结果及总结:
1、application对象:只要服务器不关闭,则计数不会清零,使用不同客户端(浏览器)访问都会累加计数。
2、session对象:访问会计数,但不同客户端的访问行为相互不关联,并且在关闭客户端(浏览器)后次数会清零,(每个session都是独立的)。
3、request对象:访问不会计数。(请求与请求之间是独立的,因此每次新的请求--响应结束后,次数都会被清零)。
时间: 2024-10-12 18:04:19