关于购买功能的相关学习

开发处理购买的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/9635741zly/p/14916672.html