gpt4 book ai didi

java - Java 中的 session

转载 作者:行者123 更新时间:2023-12-01 16:39:24 25 4
gpt4 key购买 nike

我有一个 ShoppingCart 类,其中包含 CartItems(在 ArrayList 中)。我想要的是,每当一个 session 存在时(当用户将商品添加到购物车时),它应该请求前一个 session 并将其显示在 ViewCart jsp 页面上。

我现有的代码给我带来了很多麻烦,所以我想要一个关于如何完成它的清晰概念。作为一名 C# 编码员,我认为我的 Java 逻辑是错误的。这是我的 C# 代码

public class ShoppingCart
{
#region ListCart

public List<CartItem> Items { get; private set; }

#endregion

#region CartSession


public static readonly ShoppingCart Instance;

static ShoppingCart()
{

if (HttpContext.Current.Session["ASPNETShoppingCart"] == null)
{
Instance = new ShoppingCart();
Instance.Items = new List<CartItem>();
HttpContext.Current.Session["ASPNETShoppingCart"] = Instance;
}
else
{
Instance = (ShoppingCart)HttpContext.Current.Session["ASPNETShoppingCart"];
}
}}

由于我不是 java 或 jsp 方面的专家,所以我很难弄清楚这一点。我该怎么办?

最佳答案

只需将其存储为 session 的属性,并检查每个请求是否存在。

HttpSession session = request.getSession();
Cart cart = (Cart) session.getAttribute("cart");

if (cart == null) {
cart = new Cart();
session.setAttribute("cart", cart);
}

cart.add(item);
// ...

您通常在 Servlet 中执行此操作类(class)。 JSP仅应用于演示。

关于java - Java 中的 session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5443036/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com