Java : How to deal with multiple sessions in the servlet

标签 java session jakarta-ee servlets session-cookies

我是 Java EE 新手。我有一个需要用户登录的网站,在用户登录后我希望用户看到他/她自己的商品(例如:购物车)。

这意味着我必须使用 session 来完成此任务。但是我该如何处理多个 session 呢?

例如,多个用户登录系统以及同一个 servlet?但是,我可以在一个 servlet 中保留多个 session 吗?我是否保留每个人的记录?它是如何工作的?

有人可以举个例子吗?

最佳答案

在 servlet 中您可以访问 HttpServletRequest它为您提供了 getSession()方法。此方法返回 session 对象(本质上是一个键值映射),每个用户都不同。

如果您将某些内容放入该映射中(例如购物车),您可以稍后检索它 - 但仅当同一用户再次访问该应用程序时(不一定是相同的 servlet)。

public void doGet(HttpServletRequest request, HttpServletResponse response)
      throws IOException, ServletException {

    HttpSession session = request.getSession();
    session.getAttribute("cart");
    //...
    session.setAttribute("cart", whateverYouWant);

session 在 servlet 容器中维护,并通过 session ID(通常是 cookie)进行查找。您不必自己实现任何东西。

关于Java : How to deal with multiple sessions in the servlet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11415166/

相关文章:

eclipse - 如何使用 eclipse 和 gradle 创建 Java EE 7 应用程序?

java - 如果未提供范围,为什么 Glassfish 不会启动失败但 Tomcat 会启动?

java - 调用 Spring bean 的函数接口(interface)

java - 使用多个服务或在单个服务中执行所有操作哪个更好?

php - 将 session 安全地传递到另一个浏览器的最佳方法

session - 创建 session 时在Grails中创建 session 变量

java - 更新 Sql Server 2008 中的准备语句

java - Java程序终止而不是遍历选项

java - struts2 jsp页面中的重定向标签

java - 在javascript中读取 session 变量?