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 管理代码时遇到任何问题,请告诉我。