簡體   English   中英

Servlet會話行為和Session.invalidate

[英]Servlet Session behavior and Session.invalidate

假設我有一個Web應用程序,在web.xml中定義了一個servlet。

然后,將其部署在Tomcat上。

然后,我打開瀏覽器並轉到該servlet的鏈接,該鏈接已被調用。

然后關閉瀏覽器窗口。

會話如何表現 在這種情況下如何創建,銷毀它?

如果此Servlet與所有Web應用程序“分離”,並且僅使用post&get獲取參數,那么它根本不需要Session,應該在doGet(),doPost()末尾使用Session.invalidate嗎?

Servlet容器通常使用(1)HTTP cookie或(2)在每個URL中添加額外的參數jsessionid跟蹤會話。

當用戶訪問此站點且尚不存在會話時,將為他創建一個新會話,包括相應的HttpSession 如有必要,可以將用戶重定向到登錄頁面。

Session.invalidate的作用基本上是:“為此用戶丟棄當前會話。如果他訪問站點上的另一個頁面,則將創建一個新會話”。

到目前為止,我知道,會話無效通常用於實現注銷功能。

我不會在您的“分離的” servlet中調用Session.invalidate ,它將干擾其他頁面。 基本上,您不需要關心servlet中的會話,也不會使用它。

也許還有一個關於禁用會話的問題

然后關閉瀏覽器窗口。 會話如何表現? 在這種情況下如何創建,銷毀它?

您是否在詢問是否在客戶端收到響應之前關閉瀏覽器會發生什么情況?

在這種情況下, Session仍將在服務器上創建。 它將持續指定的時間段,然后到期。

來自瀏覽器的下一個請求將創建一個新的Session 在此處查看更多信息: http : //tomcat.apache.org/tomcat-5.5-doc/servletapi/javax/servlet/http/HttpSession.html

關於session.invalidate-ewernli已經回答。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM