JSP session用法
<%@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對象就會隨之消失.
關於session.isNew();一般返回true,因為jsp中第一次訪問時會自動建立一個session。自動執行的代碼如下:
HttpSession session=request.getSession();
主要方法:
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對象中.