需求:点击商品图片或者商品名称时,跳转到相应的的商品详情页,在商品详情页有一个添加购物车,点击则将该商品添加购物车,点击购物车将里面的所有的商品展示出来。返回商品列表时,能看到浏览历史。
分析:显然这要用到服务器会话技术,因为购物车的数据要保存在服务器里,而不是用户的浏览器里。
session简介:服务器会话技术,基于cookie实现
步骤分析:
1.当用户点击商品图片或者商品名称时,跳转到商品详情页,提交一个GetProductByIdServlet,此sevlet要通过cookie获取商品id,并完成对用户浏览历史的记录,跳转到商品详情页。
2.登记添加到购物车的时候,提交一个servlet add2CartServlet,需要将商品的名称携带过去
3.add2CartServlet中的操作
获取商品的名称
将商品添加到购物车中,购物车的结构
Map<String 名称,Integer 购买数量>
将Map‘放入到ssession中
将商品添加到购物车中:
获取购物车
判断购物车是否为空,
若为空:第一次添加,创建一个购物车,将当前的商品放进去,数量:1
将购物车放入到session中
若不为空:继续判断购物车中是否有该商品
若有:取出count,将数量+1,将商品再次放入到购物车
若没有:将当前商品放进去,数量:1
提示信息:xx已添加到购物车中
3.点击购物车连接的时候 cart.jsp
从session中获取购物车
判断购物车是否为空
若为空:提示信息
若不为空:遍历购物车
扩展:清空购物车
思路1:将购物车移除
思路2:将session干掉
步骤分析:在cart.jsp添加一个超链接 清空购物车
创建ClearCartServlet session.invalidate();
重定向到购物车页面