JSP內置session對象的調用方法

學識都 人氣:8.95K

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對象的一個副本。

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