當前位置:才華齋>IT認證>JAVA認證>

JSP內建session物件的呼叫方法

JAVA認證 閱讀(8.01K)

JSP就是Java,只是它是一個特別的Java語言,加入了一個特殊的引擎,這個引擎將HTTPServlet這個類的一些物件自動進行初始化好讓使用者使用,而使用者不用再去操心前面的工作。下面小編準備了關於JSP內建session物件的呼叫方法,提供給大家參考!

JSP內建session物件的呼叫方法

application物件不同。application物件用於在多個程式之間儲存資訊,application物件只有一個,它可以繫結若干個相當於全域性變數的引數或者Java物件,每個JSP程式所訪問的都是application物件的一個同步副本,都是一樣的,而且application物件的生命週期貫穿服務器的整個執行週期。但是,伺服器上的session物件卻可以有多個,不同的使用者所面臨的session物件一般來說是不同的,當用戶登入網站,系統將為他生成一個獨一無二的session物件,用以記錄該使用者的個人資訊,一旦該使用者退出網站,那麼該session物件將會被登出。session物件也可以繫結若干個引數或者Java物件,這些引數或者Java物件就相當於區域性變數,不同session物件間的同名變數是不會相互干擾的。應用session物件的功能,可以十分簡單地實現購物車等功能。

但是我們僅能獲取原session物件的一個同步副本,這一點上,session物件和application物件是一致的。application物件和session物件並非不能被建立,但是,他們只能夠由JSP引擎自動建立。application物件在伺服器啟動的時候被建立,在伺服器關閉時被刪除,session物件在新的HTTP連線產生時被建立,在HTTP連線中斷或者超時的.時候被刪除,同時,JSP程式設計師也可以呼叫invalidate()方法強行刪除session物件,中斷HTTP連線。這是application物件和session物件的不同點之一。

  session物件概要其主要關鍵點是:

· HTTP是無狀態(stateless)協議;

· Web Server 對每一個客戶端請求都沒有歷史記憶;

· Session用來儲存客戶端狀態資訊;

· 由Web Server 寫入;存於客戶端;

· 客戶端的每次訪問都把上次的session記錄傳遞給Web Server;

· Web Server讀取客戶端提交的session來獲取客戶端的

  狀態資訊;

Session物件的獲取方法:

1)使用session關鍵字直接引用session物件

2)使用request物件的getSession()方法

使用request物件的getSession()方法可以返回HttpSession介面的例項物件,也就是session物件,注意,這個新獲得的HttpSession物件不能夠被命名為session,因為session是JSP引擎自動建立的當前session物件的一個同步副本。

首先使用getSession()方法獲取HttpSession物件——mysession,然後輸出它的id,同時也輸出session的id,程式4-18的執行結果證明了這兩個id是一樣的,要注意的是每個使用者的session物件的id是不同的(伺服器就靠不同的id鑑別不同的session物件),而且每個使用者只能夠有一個session物件,無論mysession還是session,都是當前session物件的一個同步副本。

3)使用PageContext物件的getSession()方法

使用pageContext物件的getServletContext()方法可以獲得application物件的副本,同樣,使用pageContext物件的getSession()方法也可以獲取session物件的一個副本。

程式段得到的三個結果都是相同的。