网 上 书 城

1. 购物车

3.1购物车实现的三种方式

  • 基于Cookie的,将购物信息都放入到Cookie中,由浏览器保存。
  • 基于Session的,将购物信息都放入到Session中,由服务器保存。√
  • 基于数据库表的,将购物信息都放入数据库中,由数据库保存。

3.2创建购物项类CartItem

  • private Book book; //图书信息
  • private int count; //图书的数量
  • private double amount; // 购物项中图书的金额,通过计算得到

3.3创建购物车类Cart

  • private Map<String, CartItem> map = new LinkedHashMap<String, CartItem>();
    • 保存购物项的Map,key是bookId,value是CartItem
    • 使用LinkedHashMap是为了保证购物车中添加图书的顺序
  • private int totalCount;
    • 购物车中商品的总数量,通过计算得到
  • private double totalAmount;
    • 购物车中商品的总金额,通过计算得到

3.4另外还需要在购物车类中添加一些方法:

  • public List<CartItem> getCartItems();
    • 获取购物车中所有的购物项,以便以后遍历
  • public void addBook2Cart(Book book);
    • 向购物车中添加图书
      • 注意:需要判断购物车中是否已经存在该图书:如果存在,让数量加一;如果不存在,首先需要创建一个购物项,然后在购物项中setBook,设置数量为1,最后将该购物项添加到购物车的map中。
    • public void delCartItem(String bookId);
      • 删除一个购物项
    • public void updateCartItem(String bookId, String countStr);
      • 更新购物项
        • 根据图书ID和用户输入的数量更新购物项中图书的数量
      • public void emptyCart();
        • 清空购物车

3.5创建处理购物车请求的CartServlet

  • 里面需要四个方法:添加图书、更新购物项、删除购物项、清空购物车

上一篇:
下一篇: