此處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對象:訪問不會計數。(請求與請求之間是獨立的,因此每次新的請求--響應結束后,次數都會被清零)。