easymall項目的商品刪除,前臺商品分頁,商品詳情,購物車模塊

簡單的挑選一下昨天所學的重點知識模塊,以備後續的複習數據庫

 

 

1、購物車模塊
1.1購物車兩種實現的區別:!!!!!!!!
 用session保存
  缺點:瀏覽器關閉,session失效時保存在session中購物信息將會消失
  後續優化,將購買的信息除了保存在session中之外,還要將購物的信息保存在cookie中,這樣
  就解決了瀏覽器關閉購買商品信息丟失的問題(可是解決不了跟換電腦信息丟失的問題)
  優勢:不用操做數據庫,能夠減小數據庫訪問壓力
 數據庫中:
  缺點:只用登陸的用戶才能添加購物車
   頻繁的操做數據庫
  優勢:瀏覽器關閉,更換電腦不受影響瀏覽器

1.2具體實現
 在session中使用map<product,Interger>來保存購物車中購買商品的信息。
  key:Produnct類對象,key不能重複,須要複寫hashCode和equals方法
  value:該商品購買了幾件
 0.session監聽:當session建立時,向session中添加個cart對象(new hashMap<Product,Interger>())   當session 銷燬是,從session做用域中將cart刪除
 1.加入購物車:
  入口:從商品分頁列表頁和商品詳情頁面,點擊加入購物車按鈕
  CartAddServlet:
   獲取要增長的商品的id和購買的數量
   根據商品id調用service業務層的根據商品id查詢商品信息的方法
   將該商品對象添加到map集合中:
    |-該商品首次購買,向map集合添加一條記錄。<prod,num>
    |-該商品在購物車已經存在,修改map集合中prod對應元素的購買數量
     新數量=原數量+本次購買的數量
 2.購物車顯示
  直接在購物車頁面(cart.jsp)上從session中獲取,Map<Product,Interger> 
 3.修改數量
  將商品id和新的數量進行提交,根據pid和newNum修改map對象的對應元素
  是否須要查詢數據庫???
 4.購物車刪除
  根據商品的id從map集合中刪除該元素cookie

1.3具體開發實現
 1.3.1session監聽開發
  1.建立一個類MyHttpSessionListener,實現指定的接口HttpSessionListener
  而後實現接口中的抽象方法 session

 1.3.2
 爲了區分是否爲同一件商品,jsp

 1.開發cart.jsp頁面上修改
 2.接受參數優化

 


2、訂單模塊
訂單添加成功時 要對應商品的庫存減小
Map<product,Interger> cart -->數據庫中
1.向orders添加一條記錄
2.向orderitem表中添加若干條記錄
3.修改products表中若干條記錄,修改剩餘庫存
 準備工做
  1.建立訂單表和訂單項表
 order訂單表
  收貨地址
  支付方式
  訂單總金額
  訂單號
 orderitem訂單項
  order_id
  product_id
  buynum 對象

相關文章
相關標籤/搜索