2020国产成人精品视频,性做久久久久久久久,亚洲国产成人久久综合一区,亚洲影院天堂中文av色

分享

會話跟蹤技術

 昵稱22369024 2015-05-02
會話跟蹤是一種靈活、輕便的機制,它使Web上的狀態(tài)編程變?yōu)榭赡堋?/span>
HTTP是一種無狀態(tài)協(xié)議,每當用戶發(fā)出請求時,服務器就會做出響應,客戶端與服務器之間的聯(lián)系是離散的、非連續(xù)的。
當用戶在同一網(wǎng)站的多個頁面之間轉換時,根本無法確定是否是同一個客戶,會話跟蹤技術就可以解決這個問題。
當一個客戶在多個頁面間切換時,服務器會保存該用戶的信息。
有四種方法可以實現(xiàn)會話跟蹤技術:URL重寫、隱藏表單域、Cookie、Session。

1.隱藏表單域:<input type="hidden">,非常適合步需要大量數(shù)據(jù)存儲的會話應用。
2.URL 重寫:URL 可以在后面附加參數(shù),和服務器的請求一起發(fā)送,這些參數(shù)為名字/值對。 見http://blog.csdn.net/xh16319/article/details/8464055
3.Cookie:一個 Cookie 是一個小的,已命名數(shù)據(jù)元素。服務器使用 SET-Cookie 頭標將它作為 HTTP
響應的一部分傳送到客戶端,客戶端被請求保存 Cookie 值,在對同一服務器的后續(xù)請求使用一個
Cookie 頭標將之返回到服務器。與其它技術比較,Cookie 的一個優(yōu)點是在瀏覽器會話結束后,甚至
在客戶端計算機重啟后它仍可以保留其值。 見:http://blog.csdn.net/xh16319/article/details/8464319
4.Session:使用 setAttribute(String str,Object obj)方法將對象捆綁到一個會話


實現(xiàn)URL重寫

URL重寫在客戶端瀏覽器不支持Cookie(下章介紹)的情況下使用的,它是客戶端瀏覽器請求服務器時,URL地址后面加上類似于 “SESSIONID=***”形式的參數(shù),服務器端通過獲取SESSIONID關鍵字來獲取會話值。

在程序第一次訪問服務器端時,服務端并不能確認客戶端瀏覽器是否支持Cookie。因此,當服務器第一次發(fā)出請求時,服務端會默認采用URL重寫,也就是將SESSIONID寫到URL地址中傳遞。

核心代碼:String SessionId=request.getRequestedSessionId();

當客戶端發(fā)送請求后,服務器會根據(jù)提交給客戶端瀏覽器的信息自動檢查客戶端是否啟用了Cookie,如果啟用,將不再進行URL重寫。如果沒有,則繼續(xù)使用URL重寫。

通過response對象的encodeURL(String url)方法可以進行URL重寫。

public String encodeURL(String url);
對包含SessionID的URL進行編碼。如果不需要編碼,就直接返回這個URL。
Servlet引擎必須提供URL編碼方法,因為在有些情況下,我們將不得不重寫URL。
例如,在響應對應的請求中包含一個有效的Session,但是這個Session不能被非URL的(例如Cookie)的手段來維持。
所以所有提供給Servlet的URL都應通過這個方法運行,這樣才能確保會話跟蹤能夠在所有瀏覽器中正常運行。 

隱藏域和URL重寫有著共同的優(yōu)點:
它們在Cookie被禁用或者根本不支持的情況下依舊能夠工作。
缺點:
所有頁面必須是表單提交之后的結果,還有涉及許多冗長的處理工作。


    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內(nèi)容,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多