- 相關(guān)推薦
JSP內(nèi)置session對(duì)象的調(diào)用方法
JSP就是Java,只是它是一個(gè)特別的Java語(yǔ)言,加入了一個(gè)特殊的引擎,這個(gè)引擎將HTTPServlet這個(gè)類的一些對(duì)象自動(dòng)進(jìn)行初始化好讓用戶使用,而用戶不用再去操心前面的工作。下面小編準(zhǔn)備了關(guān)于JSP內(nèi)置session對(duì)象的調(diào)用方法,提供給大家參考!
application對(duì)象不同。application對(duì)象用于在多個(gè)程序之間保存信息,application對(duì)象只有一個(gè),它可以綁定若干個(gè)相當(dāng)于全局變量的參數(shù)或者Java對(duì)象,每個(gè)JSP程序所訪問(wèn)的都是application對(duì)象的一個(gè)同步副本,都是一樣的,而且application對(duì)象的生命周期貫穿服務(wù)器的整個(gè)運(yùn)行周期。但是,服務(wù)器上的session對(duì)象卻可以有多個(gè),不同的用戶所面臨的session對(duì)象一般來(lái)說(shuō)是不同的,當(dāng)用戶登錄網(wǎng)站,系統(tǒng)將為他生成一個(gè)獨(dú)一無(wú)二的session對(duì)象,用以記錄該用戶的個(gè)人信息,一旦該用戶退出網(wǎng)站,那么該session對(duì)象將會(huì)被注銷。session對(duì)象也可以綁定若干個(gè)參數(shù)或者Java對(duì)象,這些參數(shù)或者Java對(duì)象就相當(dāng)于局部變量,不同session對(duì)象間的同名變量是不會(huì)相互干擾的。應(yīng)用session對(duì)象的功能,可以十分簡(jiǎn)單地實(shí)現(xiàn)購(gòu)物車等功能。
但是我們僅能獲取原session對(duì)象的一個(gè)同步副本,這一點(diǎn)上,session對(duì)象和application對(duì)象是一致的。application對(duì)象和session對(duì)象并非不能被創(chuàng)建,但是,他們只能夠由JSP引擎自動(dòng)創(chuàng)建。application對(duì)象在服務(wù)器啟動(dòng)的時(shí)候被創(chuàng)建,在服務(wù)器關(guān)閉時(shí)被刪除,session對(duì)象在新的HTTP連接產(chǎn)生時(shí)被創(chuàng)建,在HTTP連接中斷或者超時(shí)的時(shí)候被刪除,同時(shí),JSP程序員也可以調(diào)用invalidate()方法強(qiáng)行刪除session對(duì)象,中斷HTTP連接。這是application對(duì)象和session對(duì)象的不同點(diǎn)之一。
session對(duì)象概要其主要關(guān)鍵點(diǎn)是:
· HTTP是無(wú)狀態(tài)(stateless)協(xié)議;
· Web Server 對(duì)每一個(gè)客戶端請(qǐng)求都沒(méi)有歷史記憶;
· Session用來(lái)保存客戶端狀態(tài)信息;
· 由Web Server 寫(xiě)入;存于客戶端;
· 客戶端的每次訪問(wèn)都把上次的session記錄傳遞給Web Server;
· Web Server讀取客戶端提交的session來(lái)獲取客戶端的
狀態(tài)信息;
Session對(duì)象的獲取方法:
1)使用session關(guān)鍵字直接引用session對(duì)象
2)使用request對(duì)象的getSession()方法
使用request對(duì)象的getSession()方法可以返回HttpSession接口的實(shí)例對(duì)象,也就是session對(duì)象,注意,這個(gè)新獲得的HttpSession對(duì)象不能夠被命名為session,因?yàn)閟ession是JSP引擎自動(dòng)創(chuàng)建的當(dāng)前session對(duì)象的一個(gè)同步副本。
首先使用getSession()方法獲取HttpSession對(duì)象——mysession,然后輸出它的id,同時(shí)也輸出session的id,程序4-18的運(yùn)行結(jié)果證明了這兩個(gè)id是一樣的,要注意的是每個(gè)用戶的session對(duì)象的id是不同的(服務(wù)器就靠不同的id鑒別不同的session對(duì)象),而且每個(gè)用戶只能夠有一個(gè)session對(duì)象,無(wú)論mysession還是session,都是當(dāng)前session對(duì)象的一個(gè)同步副本。
3)使用PageContext對(duì)象的getSession()方法
使用pageContext對(duì)象的getServletContext()方法可以獲得application對(duì)象的副本,同樣,使用pageContext對(duì)象的getSession()方法也可以獲取session對(duì)象的一個(gè)副本。
程序段得到的三個(gè)結(jié)果都是相同的。
【JSP內(nèi)置session對(duì)象的調(diào)用方法】相關(guān)文章:
關(guān)于javascript對(duì)象之內(nèi)置和對(duì)象Math的使用方法10-07
JavaScript內(nèi)置對(duì)象學(xué)習(xí)筆記06-20
Javascript內(nèi)置核心對(duì)象教程06-25
javascript數(shù)組使用調(diào)用方法07-13
PHP中session和cookie無(wú)效的解決方法04-30
調(diào)用javascript10-26