|
TTP協(xié)議是無(wú)狀態(tài)的,即信息無(wú)法通過(guò)HTTP協(xié)議本身進(jìn)傳遞。為了跟蹤用戶(hù)的操作狀態(tài),ASP應(yīng)用SESSION對(duì)象。JSP使用一個(gè)叫HttpSession的對(duì)象實(shí)現(xiàn)同樣的功能。HTTPSession 是一個(gè)建立在cookies 和URL-rewriting上的高質(zhì)量的界面。Session的信息保存在服務(wù)器端,Session的id保存在客戶(hù)機(jī)的cookie中。事實(shí)上,在許多服務(wù)器上,如果瀏覽器支持的話(huà)它們就使用cookies,但是如果不支持或廢除了的話(huà)就自動(dòng)轉(zhuǎn)化為URL-rewriting,session自動(dòng)為每個(gè)流程提供了方便地存儲(chǔ)信息的方法。 Session一般在服務(wù)器上設(shè)置了一個(gè)30分鐘的過(guò)期時(shí)間,當(dāng)客戶(hù)停止活動(dòng)后自動(dòng)失效。Session 中保存和檢索的信息不能是基本數(shù)據(jù)類(lèi)型如 int, double等,而必須是java的相應(yīng)的對(duì)象,如Integer, Double。 Httpsession具有如下API: getId 此方法返回唯一的標(biāo)識(shí),這些標(biāo)識(shí)為每個(gè)session而產(chǎn)生。當(dāng)只有一個(gè)單一的值與一個(gè)session聯(lián)合時(shí),或當(dāng)日志信息與先前的sessions有關(guān)時(shí),它被當(dāng)作鍵名用。 GetCreationTime 返回session被創(chuàng)建的時(shí)間。最小單位為千分之一秒。為得到一個(gè)對(duì)打印輸出很有用的值,可將此值傳給Date constructor 或者GregorianCalendar的方法setTimeInMillis。 GetLastAccessedTime 返回session最后被客戶(hù)發(fā)送的時(shí)間。最小單位為千分之一秒。 GetMaxInactiveInterval 返回總時(shí)間(秒),負(fù)值表示session永遠(yuǎn)不會(huì)超時(shí)。 getAttribute 取一個(gè)session相聯(lián)系的信息。(在jsp1.0中為 getValue) Integer item = (Integer) session.getAttrobute("item") //檢索出session的值并轉(zhuǎn)化為整型 setAttribute 提供一個(gè)關(guān)鍵詞和一個(gè)值。會(huì)替換掉任何以前的值。(在jsp1.0中為putValue) session.setAttribute("ItemValue", itemName); // ItemValue 必須不是must簡(jiǎn)單類(lèi)型 在應(yīng)用中使用最多的是getAttribute和setAttribute?,F(xiàn)以一個(gè)簡(jiǎn)單的例子來(lái)說(shuō)明session的應(yīng)用, test1.jsp(信息寫(xiě)入session),test2.jsp(從session讀出信息)。 test1.jsp
|
|
|