当前位置:首页 > 网上商城 > 正文内容

java web 做购物车的大概思路,和实现步奏是什么?

访客2021-08-10 01:31:08网上商城66

 购物车管理模块主要功能有如下几个部分:


(1)创建购物车


    当客户登录后,系统会给客户创建一个购物车放入服务器的Session会话中。使客户在整个会话中都拥有一个相同的购物车。这里主要运用了Http协议中的会话机制,将购物车保存在客户的会话中,这样在整个客户游览不同页面商品的过程中,都会使用同一个购物车对象。


    具体执行步骤:


(1)从客户的请求对象中获取Session会话对象


(2)从会话对象中获取购物车对象


(3)判断是购物车对象是不是空的,如果是空是就创建一个



    /*


    * 在监听到session被创建之后,就立即向session中添加一个购物车Car;


    */


    public void sessionCreated(HttpSessionEvent arg0) {


    HttpSession session = arg0.getSession();


    Cart  cart=new Cart();


    session.setAttribute(cart, cart);


    }



    /*


    * 从session中获得购物车


    */


    Cart cart = (Cart) session.getAttribute(cart);


    if (cart == null) {


    cart = new Cart();


    }


(2)向购物车中添加一个商品项



    客户在查看网页上的一个商品时,当向服务器发送一个“添加到购物车”的请求时,会执行这个功能。


功能执行过程:


(1)从客户请求对象中获取商品的ID


(2)调用业务层的方法根据商品ID去数据查询商品的信息,返回商品对象


(3)从商品对象中获取商品名,商品价格,来构建一个商品项对象


(4)从Session会话中获取购物车对象


(5)调用业务层的方法来根据购物车对象和商品项对象来执行添加操作


(6)将些商品项对象放入到购物车中



部分实现代码:


    /*


    * 从数据库中把商品取到;


    */


    ProductService productService = (ProductService) ServiceFactory.getInstance().getService(Globals.PRODUCT_SERVICE);



    Integer id = Integer.parseInt(request.getParameter(productid));



    Product product = productService.getProductById(id);



    /*


    * 在向购物车中添加商品的时候会判断商品是否已经存在,


    * 已存在的就不让在加入了;


    */


    if (cart.isExist(id)) {


    message = 该商品已经存在!请返回!;


    request.setAttribute(message, message);


    return mapping.findForward(error);


    } else {


    /*


    * 向购物车添加一个商品;


    */


    cart.addCart(product);


    session.setAttribute(cart, cart);


    return mapping.findForward(addcartsuccess);


    }

分享给朋友:

相关文章