<%@page contentType="text/html;charset=GB2312"%>
<html>
<head> </head>
<body>
<%String s = session.getId(); //獲取session ID號 %>
<p>你的session對象ID是:</p>
<%=s %> <%!
int Num = 0; //定義前面要加!號
synchronized void countPeople() { //同步方法
Num++;
}
%>
<%
if (session.isNew()) { //判斷是否為新用戶
countPeople();
String str = String.valueOf(Num);
session.setAttribute("count", str); //將str 添加到session對象中
}
%>
<p> 你是第
<%=(String)session.getAttribute("count")%> 個訪問本站的人
</p>
<!--將session對象的count值取出-->
</body>
</html>
Session對象:是用來分別保存每一個用戶信息的對象,以便于跟蹤用戶的操作狀態.Session的信息保存在服務端,Session的ID保存在客戶機的Cookie中.事實上,在許多服務器上,如果瀏覽器支持Cookies的話就直接使用Cookies.但是如果不支持或廢除了Cookies的話就自動轉化為URL-rewriting , Session自動為每一個流程提供了方便地存儲信息的方法.不同的用戶對應的Session對象一般是不同的.例如當用戶登錄站點時,系統就會為他建立一個與其他不相的Session對象,以便于區別其他用戶.這個Session對象記錄該用戶的個人信息,而當該用戶退出網站時,該Session對象就會隨之消失.
主要方法:
1. getAttribute( String name )
獲取指定名字name相聯系的信息.
2. getAttributeNames()
返回Session對象中存儲的每一個屬性對象,其結果為一個類舉的實例.
3. getCreationTime()
返回Session被創建的時間.最小單位為千分之一秒.
4. getId()
此方法返回惟一的標識,這些標識為每個Session而產生.當只有一個單一的值與一個Session聯合時,或當日志信息與先前的Session有關時,它被當做鍵名用.
5. GetLastAccessedTime()
返回當前Session對象最后被客戶發送的時間,最單位為千分之一秒.
6. GetMaxInactiveInterval()
返回總時間(秒),負值表示Session永遠不會超時.該時間為該Session對象的生存時間.
7. removeAttribute( String name )
刪除與提定名字name的相聯系的信息.
8. setAttribute( String name , java.lang.Object value )
設置指定名字name的屬性值value,并將之存儲在Session對象中.
新聞熱點
疑難解答