开发处理购买的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); } |