會(huì)話跟蹤是一種靈活、輕便的機(jī)制,它使Web上的狀態(tài)編程變?yōu)榭赡堋?/span> HTTP是一種無狀態(tài)協(xié)議,每當(dāng)用戶發(fā)出請(qǐng)求時(shí),服務(wù)器就會(huì)做出響應(yīng),客戶端與服務(wù)器之間的聯(lián)系是離散的、非連續(xù)的。 當(dāng)用戶在同一網(wǎng)站的多個(gè)頁面之間轉(zhuǎn)換時(shí),根本無法確定是否是同一個(gè)客戶,會(huì)話跟蹤技術(shù)就可以解決這個(gè)問題。 當(dāng)一個(gè)客戶在多個(gè)頁面間切換時(shí),服務(wù)器會(huì)保存該用戶的信息。 有四種方法可以實(shí)現(xiàn)會(huì)話跟蹤技術(shù):URL重寫、隱藏表單域、Cookie、Session。 1).隱藏表單域:<input type="hidden">,非常適合步需要大量數(shù)據(jù)存儲(chǔ)的會(huì)話應(yīng)用。 2).URL 重寫:URL 可以在后面附加參數(shù),和服務(wù)器的請(qǐng)求一起發(fā)送,這些參數(shù)為名字/值對(duì)。 見http://blog.csdn.net/xh16319/article/details/8464055 3).Cookie:一個(gè) Cookie 是一個(gè)小的,已命名數(shù)據(jù)元素。服務(wù)器使用 SET-Cookie 頭標(biāo)將它作為 HTTP 響應(yīng)的一部分傳送到客戶端,客戶端被請(qǐng)求保存 Cookie 值,在對(duì)同一服務(wù)器的后續(xù)請(qǐng)求使用一個(gè) Cookie 頭標(biāo)將之返回到服務(wù)器。與其它技術(shù)比較,Cookie 的一個(gè)優(yōu)點(diǎn)是在瀏覽器會(huì)話結(jié)束后,甚至 在客戶端計(jì)算機(jī)重啟后它仍可以保留其值。 見:http://blog.csdn.net/xh16319/article/details/8464319 4).Session:使用 setAttribute(String str,Object obj)方法將對(duì)象捆綁到一個(gè)會(huì)話 實(shí)現(xiàn)URL重寫 URL重寫在客戶端瀏覽器不支持Cookie(下章介紹)的情況下使用的,它是客戶端瀏覽器請(qǐng)求服務(wù)器時(shí),URL地址后面加上類似于 “SESSIONID=***”形式的參數(shù),服務(wù)器端通過獲取SESSIONID關(guān)鍵字來獲取會(huì)話值。 隱藏域和URL重寫有著共同的優(yōu)點(diǎn): |
|