JSP教程:[8]session物件?

為了便於Web開發,在JSP內部設定了一些預設的物件,這些物件不需要預先宣告就可以在指令碼和表示式中使用。內建物件也稱隱含物件。常用的內建物件有:request,response ,out,session,application,pageContext,config,page和exception.這裡,我們介紹session物件。

JSP教程:[8]session物件

工具/原料

Eclipse

Tomcat

一、基本概念

session(會話)物件是類javax.servlet.Httpsession的一個物件。session是從客戶端連線伺服器開始,到與伺服器斷開為止。

session物件用於儲存每個與伺服器建立連線的客戶端的資訊,session的ID保存於客戶端的Cookie中,這個session ID標識唯一和使用者,與其他使用者的session ID不同。

session物件的ID:

當一個客戶端訪問伺服器的一個JSP頁面時,JSP引擎產生一個session物件,同時分配一個String型別的ID號,併發給客戶端。客戶端將其儲存於Cookie.a其標誌了一個唯一的ID;採用getID()方法返回session物件在伺服器端的編號。伺服器端通過此ID,唯一地識別一個使用者,並提供特殊的服務。

session物件的有效期:

存在以下幾個情況時,session物件和其儲存的資料會消失,情況有:

當用戶關閉當前正在使用的瀏覽器時;

關閉網頁伺服器。

使用者未向伺服器提出請求超預設時,Tomcat伺服器預設為30分鐘;

執行程式結束session.

出現以上四種情況時,session物件會消失。

二、訪問session物件的資料

首先,建立個session變數:

方式為:session.setAttribute("變數名稱",變數內容);

在JSP語句中的程式碼參考:

<%

session.setAttribute("id","編號"); //設定字串

session.setAttribute("date",new Date(86400*10));//設定日期

session.setAttribute("level",new Integer(3));//設定整數

%>

其次,返回session中的變數:

在設定了變數資料之後,怎樣讀取呢,使用下面的語法格式即可讀取:

session.getAttribute("變數名稱");//變數名稱,即你之前設定的;返回的資料型別為物件(Object),之後你需要轉換成其他的資料型別。

返回session中的所有變數:

如果你需要獲取全部的資料,但又不知道名稱怎麼辦?你可以使用以下的方法:

session.getAttributeNames();//返回的資料型別是一個列舉類集合,通過迴圈讀取,你就可以得到所胡的名稱與值了;

之後,清除session中的變數:

如果 session中的某個變數不需要使用了,怎麼辦呢,當然是要清除掉了,方法是:

session.removeAttribute("變數名稱");

最後,結束session會話:

對於已經建立好的session,我們可以使用以下方法來結束session對話,方法是:

session.invalidate();

三、session物件使用的小例子

使用session物件的isNew()的方法,我們可以做一個小巧簡單的網站訪問人數。isNew()方法,是確定這個session是否新建立的,如果是的,則返回boolean型別的true,否則返回false;

JSP教程:[8]session物件

第一次執行時,你會發現此值為1;另一個瀏覽器視窗時沒有變化;你可以再打開個新瀏覽器或者關閉當前瀏覽器,再開啟此頁面時,網站人數又增加了。通過嘗試,你就會了解一些關session的生命週期。

注意事項

如果你感覺不錯,請點個贊吧!

教程, 物件, 大學, 內建,
相關問題答案