2.1 后端控制层
实现思路:
(1)从 cookie 中取出购物车
(2)向购物车添加商品
(3)将购物车存入 cookie
pinyougou-cart-web 工程新建 CartController.java

@RestController
@RequestMapping("/cart")public  class  CartController  {@Referenceprivate  CartService  cartService;@Autowiredprivate    HttpServletRequest  request;@Autowiredprivate    HttpServletResponse  response;/***购物车列表*@param  request*@return*/ @RequestMapping("/findCartList")
public  List<Cart>  findCartList(){String  cartListString  =  util.CookieUtil.getCookieValue(request, "cartList","UTF-8");if(cartListString==null  ||  cartListString.equals("")){ cartListString="[]";List<Cart>  cartList_cookie  =  JSON.parseArray(cartListString,  Cart.class);return  cartList_cookie;}/***添加商品到购物车*@param  request*@param  response*@param  itemId*@param  num*@return*/ @RequestMapping("/addGoodsToCartList")
public  Result  addGoodsToCartList(Long  itemId,Integer  num){try {List<Cart>  cartList  =findCartList();//获取购物车列表
cartList  =  cartService.addGoodsToCartList(cartList,  itemId,  num); util.CookieUtil.setCookie(request,  response,  "cartList",
JSON.toJSONString(cartList),3600*24,"UTF-8");return  new  Result(true,  "添加成功");}  catch  (Exception  e)  { e.printStackTrace();
return  new  Result(false,  "添加失败");}}

浏览器测试:
查看购物车:http://localhost:9105/cart/findCartList.do 添加商品到购物车 :
http://localhost:9105/cart/addGoodsToCartList.do?itemId=1369280&num=100

转载于:https://blog.51cto.com/13517854/2308269

Java之品优购课程讲义_day16(2)相关推荐

  1. Java之品优购课程讲义_day19(6)

    品优购-秒杀下单 4.1 需求分析 商品详细页点击立即抢购实现秒杀下单,下单时扣减库存.当库存为 0 或不在活动期 范围内时无法秒杀. 4.2 后端代码 4.2.1 服务接口层 修改 pinyougo ...

  2. Java之品优购课程讲义_day05(8)

    5.1 最简单的 FastDFS架构 5.1 FastDFS安装 FastDFS 安装步骤非常繁琐,我们在课程中不做要求.已经提供单独的<FastDFS 安装部署文档>供学员们课后阅读. ...

  3. Java之品优购课程讲义_day05(4)

    电商概念及表结构分析 2.1 电商概念 SPU与 SKU SPU = Standard Product Unit ( 标 准 产 品 单 位 ) SPU 是商品信息聚合的最小单位,是一组可复用.易检索 ...

  4. Java之品优购课程讲义_day01(8)

    4.1.1 商家管理后台 构建 web 模块 pinyougou-shop-web 与运营商管理后台的构建方式类似.区别: (1)定义 tomcat 的启动端口为 9102 (2)springmvc. ...

  5. Java之品优购课程讲义_day17(2)

    结算页-收件人地址选择 2.1 需求与数据库分析 2.1.1 需求描述 在结算页实现收件人地址选择功能 2.1.2 数据库结构分析 Tb_address 为地址表 2.1 准备工作 2.1.1 生成代 ...

  6. Java之品优购课程讲义_day20(5)

    资源过滤与变量替换 修改 pom.xml ,在 build 节点中添加如下配置 <filters><filter>src/main/resources/filters/db_$ ...

  7. Java之品优购课程讲义_day20(2)

    秒杀商品列表的增量更新 每分钟执行查询秒杀商品表,将符合条件的记录并且缓存中不存在的秒杀商品存入缓存 /*** 刷新秒杀商品 */@Scheduled(cron="0 * * * * ?&q ...

  8. Java之品优购课程讲义_day08(7)

    4.1.1 Hash类型操作 创建测试类 TestHash (1)存入值 @Test public void testSetValue(){ redisTemplate.boundHashOps(&q ...

  9. Java之品优购课程讲义_day12(2)

    1.1 FTL指令 1.1.1 assign指 令 此指令用于在页面上定义一个变量 (1)定义简单类型: <#assign linkman="周先生"> 联系人:${l ...

最新文章

  1. mac修改默认python版本_Anaconda/MacOS:更改默认python版本
  2. 彻底解决Spring mvc中时间的转换和序列化等问题
  3. Ubuntu 安装 opencv-nonfree
  4. Android6.0 keyguard锁屏加载流程分析
  5. MVC学习笔记1 MVC概述
  6. 红米k30 android版本,Redmi K30 Pro 推送 MIUI 12.2.1 稳定版:为安卓跨版本升级
  7. springboot中文语音识别_【记录】语音识别软件包、代码示例、数据集汇集
  8. Python类方法、实例方法、静态方法和属性方法详解
  9. [sublime] sublime 实现Markdown编辑器
  10. Open3d之点云平面分割
  11. python编程-Python 编程速成(推荐)
  12. 标准化画图【cmap】【imshow】【EllipseSkyRegion】【contour】【set_ticklabels】【coords】【colorbar】
  13. Newtonsoft.Json基本使用
  14. java md5加密与解密_Java——MD5加密与解密
  15. 日期时间编辑器(模拟QDateTimeEdit的自定义控件)——QML
  16. 我去!微信竟然可以查出行轨迹了,预计又一波情侣要分手?
  17. 常微分方程各种类型方程表格汇总
  18. [jzoj 4246] 【五校联考6day2】san {spfa+dfs/spfa+拓扑排序+dp}
  19. 仿热血江湖帮战客方血帮战 准备记时器结束事件
  20. 快速解读Nor Flash Datasheet

热门文章

  1. android layout 替换,LayoutInflater 后记--替换系统控件
  2. win10远程桌面 CredSSP加密Oracle修正的解决办法
  3. ASP.NET Core Api网关Ocelot的中文文档
  4. bash下特殊字符的含义
  5. 汇编语言(王爽 第三版)检测点
  6. 面向对象课程 - 寒假第三次作业 - C++计算器项目初始部分
  7. 如何查看linux系统源码
  8. 使用 Spring 简化 MyBatis
  9. MySQL启用SSL连接
  10. Elasticsearch单机安装