添加到购物车


/**
 * 添加商品 到购物车
 *
 * @author seawind
 *
 */
public class AddCartServlet extends HttpServlet {

    public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        // 从请求中 获得商品编号
        String id = request.getParameter("id");

        // 调用业务层 获得商品对象
        ProductService productService = new ProductService();
        Product product = productService.showProduct(id);

        // 获得Session中购物车
        Map<Product, Integer> cart = (Map<Product, Integer>) request
                .getSession().getAttribute("cart");
        // 购物车第一次使用cart 不存在
        if (cart == null) { // 购物车不存在 创建
            cart = new HashMap<Product, Integer>();
        }

        // 判断cart 购物车中是否已经存在该商品
        if (cart.containsKey(product)) { // 使用hashcode 和 equals
            // 已经存在
            int number = cart.get(product);
            cart.put(product, number + 1);
        } else {
            // 商品不在购物车中
            cart.put(product, 1);
        }

        // 保存cart 到 session
        request.getSession().setAttribute("cart", cart);

        // 买完商品 后 ,回到商品列表页面 继续购买
        request.getRequestDispatcher("/listProduct").forward(request, response);
    }

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

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值