Java Cookies:如何使用 Cookies 進行 Java Servlet 會話管理

已發表: 2020-08-19
Java Cookies-如何使用 Cookies 進行 Java Servlet 會話管理

網頁沒有記憶。 用戶從一個頁面到另一個頁面將被網站視為一個全新的訪問者。 會話 cookie 使您正在訪問的網站能夠跟踪您從一個頁面到另一個頁面的移動,這樣您就不會被要求提供您已經提供給該網站的相同信息。

Cookie 允許您快速輕鬆地瀏覽網站的許多頁面,而無需驗證或重新處理您訪問的每個新區域。

但有時在 Java Web 應用程序中,我們應該知道客戶端是誰並相應地處理請求。

例如,購物車應用程序應該知道誰在發送添加商品的請求以及商品必須添加到哪個購物車中,或者誰在發送結賬請求,以便它可以向正確的客戶收取金額。

會話是客戶端和服務器之間的會話狀態,它可以由客戶端和服務器之間的多個請求和響應組成。 由於 HTTP 和 Web 服務器都是無狀態的,因此維護會話的唯一方法是在每個請求和響應中在服務器和客戶端之間傳遞有關會話的一些唯一信息(會話 id)。

如何使用 Cookie 進行 Java Servlet 會話管理

現在讓我們在 Eclipse 中創建簡單的動態 Web 項目,它解釋了使用 Cookie 進行 Java Servlet 會話管理。

以下是步驟:

  1. 創建動態 Web 項目: CrunchifySessionManagementByCookie
  2. crunchify-login.html :創建應用程序的歡迎頁面
  3. CrunchifyLoginServlet.java – 負責登錄請求
  4. CrunchifyLogoutServlet.java – 負責註銷請求
  5. web.xml - 部署描述符文件(沒有看到 web.xml?按照本教程)
  6. CrunchifyLoginSuccessful.jsp – 成功請求被轉發到LoginSuccess.jsp ,該 cookie 將用於跟踪會話。 另請注意,cookie 超時設置為 60 分鐘。
通過 Cookie 壓縮會話管理

另一個必須閱讀:

  • Spring MVC 示例/教程:Hello World – Spring MVC 3.2.1
  • 如何在 Spring MVC 中每 3 秒更新一次 Sparkline Graph(實時更新)

1. crunchify-login.html

2. CrunchifyLoginServlet.java

3. CrunchifyLogoutServlet.java

4.web.xml

5. CrunchifyLoginSuccessful.jsp

現在讓我們運行這個例子:

  • CrunchifySessionManagementByCookie項目部署到 Tomcat 並運行 Tomcat。
將 Crunchify 會話管理項目部署到 Tomcat
  • 將您的瀏覽器 URL 指向 http://localhost:8080/CrunchifySessionManagementByCookie/crunchify-login.html
Crunchify Cookies 教程 - 登錄屏幕
  • 成功頁面
Crunchify Cookies 教程 - 登錄成功
  • 登錄頁面失敗
Crunchify Cookies 教程 - 登錄失敗

現在如何檢查您的 Cookie 是否設置正確。

嘗試下載任何Cookie Manager Extension ,您應該會在瀏覽器中看到Cookie ,如下所示。

Cookie 管理器 - 瀏覽器檢查

如果您在運行 Servlet Cookie 管理代碼時遇到任何問題,請告訴我。