最近想做一个购物车的功能,思路如下:
1、数据库中有一个用户表,商品表,购买信息表
2、用户登录进去,显示所有的商品信息,有详细查看和购买
3、点击购买商品的时候,把商品保存到IList<cart>集合中,然后放到cookie中,绑定到购物车里
4、继续购买的时候,判断购物车里是否存在该商品,如果有,则从Ilist集合中获得该商品,将其数量加 1,如不存在,则创建该商品实例,添加到IList集合中,然后放到cookie中
5 如果想清空购物车,则直接将IList集合清空即可
6 结算的时候,获得IList集合中的所有商品,根据单价和数量计算总价,然后将购买的详细信息,比如 商品,地址,电话记录到数据库中,以供管理员查看发货
大家帮忙看看有什么漏掉的没有,谢谢了,还有个问题就是现在的购物车有几种实现方式,cookie,session,数据库,到底哪种好些,是不是只有登录了才能购买呢?
购物车思路大概就这样,不难,只是网站的一小小部分功能。
建议集合不要使用IList,请用Map。
会话跟踪请使用session。
你的思路3、4之间,使用Map cart = (Map)session.getAttribute("cart");可以避免覆盖,先获得购物车。
你思路4:
//判断书籍是否在购物车中
CartItemBean cartItem = (CartItemBean)cart.get(book.getISBN());
//如果书籍在购物车中,则更新其数量
//否侧,创建一个条目到Map中
if(cartItem != null)
cartItem.setQuantity(cartItem.getQuantity()+1);
else
cart.put(book.getISBN(),new CartItem(book,1));
数据库和session都要用的,是只有登录了才能买的。
商品的ID跟数量放cookie就可以了,一般购物车不登录也应该可以使用的,只是在结算时才需要登录.
推荐:http://www.cnblogs.com/dingxue/archive/2008/11/16/1334367.html
参考:
http://space.cnblogs.com/question/4855/
http://space.cnblogs.com/question/11188/
在 web.config中 用profile 创建 cart 然后 存所需数据 更好啊