我需要用 ejb + jboss + oracle 做一个网上商店的项目
请问如何实现购物车功能?
比如客户点击“购买”一个商品后 将获得这个商品的在数据库中的id 然后添加到购物车中
这个购物车在我的项目中应该相当于什么呢?另外假设我购物这个功能是通过一个sessionbean实现,查看购物车功能是通过另外一个sessionbean实现,
怎么能够保证第一个sessionbean添加新产品到购物车 能在任意时刻被第2个sessionbean查看到呢?

解决方案 »

  1.   

    购物车在整个会话过程中应该被保存起来,如果你用ejb3的话,可以考虑把它放在sessionBean(有状态)中,或者你也可以放在httpSession对象中,至于是添加商品还是查看,这是业务方法,你可以考虑定义在sessionBean作为门面接收客户端请求;
    关于ejb3的话,LZ最好去下本书<Ejb实例教程>黎活明 里面对组件的责任有详细的介绍.
      

  2.   

    上面说的在有状态sessionbean中保存起来能具体点么?
    可以理解成 是在sessionbean 接口声明方法的同时 也声明一个数据结构(数组或者hash表什么的)充当购物车角色用来保存产品id信息 这样每一个sessionbean当响应一个用户的请求时 就自己生成一个购物车实例 直到用户退出 这个购物车与sessionbean一起被释放? 
      

  3.   


    那个,如果你在赶项目的话我说你还是去下那本书吧,没记错的话,在会话bean的教程里面,第一个例子就是购物车维护.最好整体看一遍,把每个组件的生存周期啥的都了解了,就不用考虑这些问题了.
      

  4.   

    有状态的sessionbean试试???
    要不就是直接用无状态的也行,用EJB实现添加货物的方法,前台调用,然后仍然保存到session中去,行吗?