开发处理购买的Servlet
//获取得到传递过来的idString 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);} |