添加到购物车

2024-05-16 12:18
文章标签 购物车

本文主要是介绍添加到购物车,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!


/**
 * 添加商品 到购物车
 *
 * @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);
    }

}

这篇关于添加到购物车的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/994886

相关文章

黑马苍穹外卖6 清理redis缓存+Spring Cache+购物车的增删改查

缓存菜品 后端服务都去查询数据库,对数据库访问压力增大。 解决方式:使用redis来缓存菜品,用内存比磁盘性能更高。 key :dish_分类id String key= “dish_” + categoryId; @RestController("userDishController")@RequestMapping("/user/dish")@Slf4j@Api(tags = "

基础购物车(Javascript)

使用Javascript写一个基础购物车,其中包含商品数量加加减减,下面的总价和总数量跟着商品数量变动,还可以自己添加需要的商品。 基础购物车的结构样式如下:   HTML代码: <body><table border="1px" cellpadding="20px" style="border-collapse: collapse;"><thead><tr><th>商品名称</th><th

购物车店铺列表查询流程

购物车店铺列表查询流程 购物车结算流程图

购物车列表设计

三、缓存结构设计 购物车数量 数据结构 string redisKey : cart_size${userId} value:购物车数量 缓存时间 15天 数据库用户购物车列表 数据结构 string redisKey : cart${userId} value:数据库用户购物车列表json 缓存时间 15天 用户排序后购物车商品列表,用于下一页分页时进行分页切割查询分页sk

Android实现购物车(附demo)

最近项目也是有涉及到电商部分,就随便写个购物车先熟悉下,效果图: 大致就是这个意思了,实现了:全选,反选,多选删除,数量加减,及这些变化时价格的变化。当然因为是demo,数据的删除就直接remove了。一切从简嘛~ 然后上代码: MainActivity: package com.xixili.shoppingcartdemo;import

【vue-9】购物车案例

前导知识点: 1、table表格标签 <table> </table> 是用于定义表格的标签; <thead></thead> 表头部(放表格的标题之类); <tbody></tbody> 表主体(放表格主体数据);  <tfoot></tfoot> 表脚注(放表格脚注); <tr> </tr> 标签用于定义表格中的行,必须嵌套在 <table> </table>标签中;  <td> </t

JavaWeb学习-案例练习-图书管理-14-购物车页面小计删除商品和金额总计实现

前面一篇完成了添加购物的功能,这篇来完善购物车页面上,修改商品数量和小计这两处地方的代码。   1.需求 我们的需求如下图 购物车页面,每一个商品数量这列的- + 可以点击,然后小计这列金额跟随变化。   2.需求简单分析 下面来简单看看这个修改思路: 在- +上写onclick事件,调用一个js方法,例如changeNum(id,num)跳转到一个servlet去处理这个减一

【Vue】购物车案例-构建项目

脚手架新建项目 (注意:勾选vuex) 版本说明: vue2 vue-router3 vuex3 vue3 vue-router4 vuex4/pinia vue create vue-cart-demo 需要勾选上vuex,由于这个项目只有一个页面,vuex可勾可不勾 将原本src内容清空,替换成教学资料的《vuex-cart-准备代码》 需求: 发请求动态渲染购物车

CSS3-购物车飞入动画

 购物车飞入动画: <!DOCTYPE html><html><head lang="en"><meta charset="UTF-8"><title></title><style>.con{width: 1000px;height: 700px;border: 1px solid transparent;position:relative;}.che{width: 200px;h

类似于购物车等带有全选框的特效(jQuery方法)

//全选框:id=allCheckBox name=allCheckBox 每个复选框:id=cartCheckBox name=cartCheckBox//全选框function checkAll(){$("#allCheckBox").click(function(){//获取当前全选框的选中状态var flag=$(this).attr("checked");if(flag){//如果选