gaobudong 2011-12-11
存放购物车的方式有两种:一种是通过Session来存放,直接session.put(key,cart);就行了。这种方式比较好实现,但是比较消耗服务器内存。另一种是通过COOKIE+DB的方式存放,这种方式存放消耗的性能相对小一些,像卓越网、当当网就是通过这种方式存放的。
首先,刚每个用户初次访问你的网站的时候,需要为用户分配一个唯一ID(UUID),存放在COOKIE里面。这个功能可以通过过滤器来实现。
Filter(){ //判断用户cookie里面是否存在ID,不存在就创建。 }
然后从数据库获取购物车,如果数据库中不存在记录,代表用户初次购买,这时新建购物车,往购物车中添加购物项。添加完购物项后把整个购物车(实现序列化对象)保存到数据库。
将购物车保存到数据库的时候还要保存用户ID和访问时间。我们可以设定一个定时器,如果访问时间过期了,就将对应的记录删除。
而且为了用户体验更好,在滑动界面时,这个图标要乖乖地藏起来,不能影响用户操作。我仔细分析了一下,哟,这不就是中午点外卖时用的饿了么上面的购物车按钮么?到了这一步,相信大家都会想到是用触摸事件来实现了。