2020.12.3收获

开发处理购买的Servlet

        //获取得到传递过来的id
        String id = request.getParameter("bookid");

        //把用户想要买的书放到购物车上
        //用户不单单只有一个,要让购物车上只为当前的用户服务,就需要用到会话跟踪技术了
        Cart cart = (Cart) request.getSession().getAttribute("cart");

        //如果当前用户还没有点击过购买的商品,那么是用户的购物车是空的
        if (cart == null) {
            cart = new Cart();
            request.getSession().setAttribute("cart", cart);
        }

        //调用BussinessService的方法,实现购买功能!
        BusinessService businessService = new BusinessService();
        businessService.buyBook(id, cart);

        //跳转到购物车显示的页面上
        request.getRequestDispatcher("/listCart.jsp").forward(request, response);

更新了BusinessService代码

    /*
    * 在购买书籍的时候,我们发现需要将书籍添加到购物车上
    * 如果我们直接在Servlet上使用Cart实体对象的addBook()和BookDao对象的find()方法,是可以完成功能的
    * 
    * 但是,这样web层的程序就跟Dao层的耦合了,为了代码性的健壮性和解耦,我们在BusinessService中对他俩进行封装
    * 
    * 于是有了buyBook()这个方法!
    * */
    
    /*把用户想买的书籍添加到当前用户的购物车上*/
    public void buyBook(String id, Cart cart) {

        Book book = bookDao.find(id);
        cart.addBook(book);

    }

  

  

原文地址:https://www.cnblogs.com/ltw222/p/14171086.html