实战day12(二)----添加购物车-代码实现

一、功能分析

在不登陆的情况下也可以添加购物车。把购物车信息写入cookie。

优点:

1、不占用服务端存储空间

2、用户体验好。

3、代码实现简单。

缺点:

1、cookie中保存的容量有限。最大4k

2、把购物车信息保存在cookie中,更换设备购物车信息不能同步。

实战day12(二)----添加购物车-代码实现

请求的url:/cart/add/{itemId}

参数:

1)商品id: Long itemId
2)商品数量: int num

业务逻辑:

1、从cookie中查询商品列表。

2、判断商品在商品列表中是否存在。

3、如果存在,商品数量相加。

4、不存在,根据商品id查询商品信息。

5、把商品添加到购车列表。

6、把购车商品列表写入cookie。

返回值:逻辑视图

Cookie保存购物车

1)key:TT_CART

2)Value:购物车列表转换成json数据。需要对数据进行编码。

3)Cookie的有效期:保存7天。

商品列表:

List<TbItem>,每个商品数据使用TbItem保存。当根据商品id查询商品信息后,取第一张图片保存到image属性中即可。

读写cookie可以使用CookieUtils工具类实现。

实战day12(二)----添加购物车-代码实现

实战day12(二)----添加购物车-代码实现

导入静态页面

实战day12(二)----添加购物车-代码实现

定义property配置

实战day12(二)----添加购物车-代码实现

创建Controller

实战day12(二)----添加购物车-代码实现

e3-cart->maven install    e3-cart-web启动

实战day12(二)----添加购物车-代码实现

加入购物车正确跳转,并且商品的id已经写入到cookie。