jsessionid怎麼產生
Jsessionid只是tomcat的對sessionid的叫法,其實就是sessionid;在其它的容器也許就不叫jsessionid了。
首先談一下對session物件在web開發中的創建以及sessionId生成並返回客戶端的運行機制.
session物件當客戶端首次訪問時,建立一個新的session物件.並同時產生一個sessionId,並在此次回應中將sessionId以回應報文的方式些回客戶端瀏覽器記憶體或以重寫url方式送回客戶端,來保持整個會話,只要sever端的這個session物件沒有銷毀,以後再調用request.getSession() 時就直接根據客戶端的sessionId來檢索server端生成的session物件並返回,不會再次去新建,除非根據此sessionId沒有檢索到session物件。
下面是在IE下測試,因為IE6.0的一個BUG就是IE的隱私設定即使是阻止所有cookie時,也還是會以會話cookie來保存sessionId.所以下面都是以會話cookie來討論的。
(1)、在server沒有關閉,並在session物件銷毀時間內,當客戶端再次來請求server端的servlet或jsp時, 將會將在第一次請求時產生的sessionId並附帶在請求資訊頭中並向server端發送,server端收到sessionId後根據此sessionId會去搜尋(此過程是透明的)server對應的session物件並直接傳回這個session物件,此時不會重新去建立一個新的session物件.
(2)、當server關閉(之前產生的session物件也就消亡了),或session物件過了其銷毀時間後, 瀏覽器視窗不關,並在本瀏覽器視窗再次去請求sever端的servlet和jsp時,此時同樣會將sessionId(server關閉或session銷毀時生成的sessionId)發送到server端,server根據sessionId去找其對應的session對象,但此時session對象已經不存在,此時會重新產生一個新的session物件,並產生新的sessionId並同樣將這個新產生的sessionId以回應封包的形式送到瀏覽器記憶體中.
(3) 、當server沒有關閉,並session物件在其銷毀時間內,當請求一個jsp頁面回客戶端後, 關閉此瀏覽器視窗,此時其內存中的sessionId也就隨之銷毀,在重新去請求sever端的servlet或jsp時,會重新產生一個sessionId給客戶端瀏覽器,並存在瀏覽記憶體中.
#總結,jsessionid的工作流程可以簡單用下面的圖表示:
#相關學習推薦:java基礎
以上是jsessionid怎麼產生的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

熱門話題

Java的類上載涉及使用帶有引導,擴展程序和應用程序類負載器的分層系統加載,鏈接和初始化類。父代授權模型確保首先加載核心類別,從而影響自定義類LOA

本文討論了使用咖啡因和Guava緩存在Java中實施多層緩存以提高應用程序性能。它涵蓋設置,集成和績效優勢,以及配置和驅逐政策管理最佳PRA

本文討論了使用JPA進行對象相關映射,並具有高級功能,例如緩存和懶惰加載。它涵蓋了設置,實體映射和優化性能的最佳實踐,同時突出潛在的陷阱。[159個字符]

本文討論了使用Maven和Gradle進行Java項目管理,構建自動化和依賴性解決方案,以比較其方法和優化策略。

本文使用Maven和Gradle之類的工具討論了具有適當的版本控制和依賴關係管理的自定義Java庫(JAR文件)的創建和使用。
