请教下各位 当用户订购2个以上的商品时  是吧商品放到arrayList 里 还是什么? 还是session请高手讲解下购物车如何实现· 不甚感激!

解决方案 »

  1.   

    先放list中,然后再放session中。
      

  2.   

    先把买的商品封装在一个实体类中  然后 放到集合中 然后再放到session中  
      

  3.   

    各位!如果网站访问量比较高,你们的session恐怕就要导致内存溢出啊!
      

  4.   

    用session装一个Map Set 都可以用的。。
      

  5.   

    反正我也购物车的时候用的是 map集合!我有源码 要吗
      

  6.   

    听说,一般情况下不用session的,因为这样会很占内存滴,更优的方案是?
      

  7.   

    list 然后Map 最后session 
      

  8.   

    思路:
    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));
    }
      

  9.   

    首先得有个实体类,将商品封装一起,再放入list集合中。最后才保存在session中。
      

  10.   

    1.如果放到session中的话,按照14楼的解决办法就可以,也很详细
    2.如果放到session的话,服务器性能有问题,用户量一大,服务器就down掉,内存远远不够。
      

  11.   

    1、放cookie中,不过缺点是,cookie的生命周期不好拿捏,多久的生命周期合适呢?
    2、放session中,不过缺点如wgw335363240所说,对server端的压力会比较大。
    3、放数据库,而且这样有个好处就是可以一直保存用户的购物车信息,比如用户在公司先了商品,然后回家可以直接打开购物车进行付款等,无须重新选择。
    4、放缓存组件里,类似session的功能,但不会全部存在内在里,因为缓存组件可以指定超多少item后就保存到硬盘的设置等功能。我想到的就这样了,我们做的购物网站也是放在session里了
      

  12.   

    学习的时候,我做过一次,放在了数据库中。不考虑性能的话放在数据库还是可以的。
    放在cookies中,如果客户禁了cookie就悲剧了。
    一般应该还是放session的多吧?