Java 如何实现类似购物车功能 请教下各位 当用户订购2个以上的商品时 是吧商品放到arrayList 里 还是什么? 还是session请高手讲解下购物车如何实现· 不甚感激! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 先放list中,然后再放session中。 先把买的商品封装在一个实体类中 然后 放到集合中 然后再放到session中 各位!如果网站访问量比较高,你们的session恐怕就要导致内存溢出啊! 用session装一个Map Set 都可以用的。。 反正我也购物车的时候用的是 map集合!我有源码 要吗 听说,一般情况下不用session的,因为这样会很占内存滴,更优的方案是? list 然后Map 最后session 思路:1。首先从session中取出购物车(购物车可以使map集合)2。判断是否有购物车(即map是否为空),如果没有,则实例化一个hashmap3。如果存在,根据商品标识查询商品实体信息,再与购物车中的商品匹对。4。如果存在,则把该商品的数量加一,否则把这个商品放入购物车中,数量为一具体代码示例:Map<String,CartItem> item=session.getAttribute("cart");if(item==null){ item=new HashMap<int,CartItem>(); session.setAttribute("cart",item);}String isbn=request.getParameter("isbn");Book book=new BookDao().getBookByIsbn(isbn);//获取商品的实体CartItem cartItem=item.get(book);if(cartItem!=null){ cartItem.setNum(cartItem.getNum()+1);}else{ item.put(book,new CartItemBean(book,1));} 首先得有个实体类,将商品封装一起,再放入list集合中。最后才保存在session中。 1.如果放到session中的话,按照14楼的解决办法就可以,也很详细2.如果放到session的话,服务器性能有问题,用户量一大,服务器就down掉,内存远远不够。 1、放cookie中,不过缺点是,cookie的生命周期不好拿捏,多久的生命周期合适呢?2、放session中,不过缺点如wgw335363240所说,对server端的压力会比较大。3、放数据库,而且这样有个好处就是可以一直保存用户的购物车信息,比如用户在公司先了商品,然后回家可以直接打开购物车进行付款等,无须重新选择。4、放缓存组件里,类似session的功能,但不会全部存在内在里,因为缓存组件可以指定超多少item后就保存到硬盘的设置等功能。我想到的就这样了,我们做的购物网站也是放在session里了 学习的时候,我做过一次,放在了数据库中。不考虑性能的话放在数据库还是可以的。放在cookies中,如果客户禁了cookie就悲剧了。一般应该还是放session的多吧? JDBC连接oracle Error creating bean with name 'sqlMapClient' struts2 action之间用request 传值 传不过去 怎么办? java web 程序员能走多远??? 该向哪方面发展???请高人指点 jee 如何添加安全证书 国际化的实际作用是干什么用的? 如果说我的Conn 很大的话,是不是有性能上的问题 Tomcat配置 Web Services技术与标准广州研讨会 大家帮我看看这个struts数据添加程序! 请教:如何实现Oracle主键自增 新手JAVA链接SQL server 2000的问题 麻烦看下 谢谢了
1。首先从session中取出购物车(购物车可以使map集合)
2。判断是否有购物车(即map是否为空),如果没有,则实例化一个hashmap
3。如果存在,根据商品标识查询商品实体信息,再与购物车中的商品匹对。
4。如果存在,则把该商品的数量加一,否则把这个商品放入购物车中,数量为一具体代码示例:
Map<String,CartItem> item=session.getAttribute("cart");
if(item==null)
{
item=new HashMap<int,CartItem>();
session.setAttribute("cart",item);
}
String isbn=request.getParameter("isbn");Book book=new BookDao().getBookByIsbn(isbn);//获取商品的实体
CartItem cartItem=item.get(book);
if(cartItem!=null)
{
cartItem.setNum(cartItem.getNum()+1);
}else
{
item.put(book,new CartItemBean(book,1));
}
2.如果放到session的话,服务器性能有问题,用户量一大,服务器就down掉,内存远远不够。
2、放session中,不过缺点如wgw335363240所说,对server端的压力会比较大。
3、放数据库,而且这样有个好处就是可以一直保存用户的购物车信息,比如用户在公司先了商品,然后回家可以直接打开购物车进行付款等,无须重新选择。
4、放缓存组件里,类似session的功能,但不会全部存在内在里,因为缓存组件可以指定超多少item后就保存到硬盘的设置等功能。我想到的就这样了,我们做的购物网站也是放在session里了
放在cookies中,如果客户禁了cookie就悲剧了。
一般应该还是放session的多吧?