小米商城(Servlet+JSP)


小米商城項目

項目已託管到GitHub,大家可以去GitHub查看下載!並搜索關注微信公衆號 碼出Offer 領取各種學習資料!

在這裏插入圖片描述

基於Servlet+JSP開發的小米商城項目,因爲項目體量特別小,僅供小夥伴們參考與練習!


一、Get小米商城項目

項目聲明: 該項目爲小米商城項目,是一個基於Servlet+JSP開發項目,在此託管到GitHub以作記錄,並提供給正在學習的小夥伴練習。此項目不是特別高級嚴謹的項目,只是一個簡單的練習,所以有裏面也有很多的不足之處,請諒解!謝謝!

二、小米商城項目流程展示

注意: jsp頁面、數據庫以及部分Utils工具已提供,我們只需要創建項目導入創建和編寫其他代碼即可。頁面展示過程被紅色線框圈住地方是我們需要做的商城入口,點擊該入口完成跳轉至其他頁面,根據其他jsp頁面顯示的內容和業務編寫對應的頁面展示和業務邏輯代碼。

註冊功能頁面(register.jsp)
image-20200704120041739
註冊成功頁面(registerSuccess.jsp)
image-20200704120158582
未登錄的商城頁面(index.jsp、header.jsp、footer.jsp)
image-20200704120449273
登錄頁面(login.jsp)
image-20200704120728527
登錄後的商城主頁(index.jsp、header.jsp、footer.jsp)
image-20200704120929072
商品分頁列表(goodList.jsp)
image-20200704121207255
商品詳情頁(goodsDetail.jsp)
image-20200704121351927
加入購物車成功(cartSuccess.jsp)
image-20200704121446513
購物車列表(cart.jsp)
image-20200704121659842
訂單列表(order.jsp)
image-20200704122013814
提交訂單成功(orderSuccess.jsp)
image-20200704122033146
微信支付(payWeixin.jsp)
image-20200704122527671
支付成功(message.jsp)
支付成功
主頁地址管理(header.jsp - > self_info.jsp)
image-20200704122801574
主頁我的訂單(header.jsp - > orderList.jsp)
image-20200704122941131
訂單詳情(orderList.jsp - > orderDetail.jsp)
image-20200704123029283
注意:有興趣的小夥伴自行擴展,優化細節!

三、數據庫

數據庫表簡介

  • 地址表(tb_address): 包含id、地址信息(detail)、姓名(name)、電話(phone)、用戶id(uid)、默認地址標記(level)
  • 購物車表(tb_cart): 包含id、商品id(pid)數量(num)、小計(money)
  • 商品表(tb_goods): 包含id、商品名稱(name)、添加購物車日期(pubdate)、圖片(picture)、單價(price)、星級(star)、描述(intro)、商品類型id(typeid)
  • 商品類型表(tb_goods_type): 包含id、商品類型名稱(name)、商品類型級別(level)
  • 訂單表(tb_order): 包含訂單id、用戶id(uid)、小計(money)、訂單狀態(status)、下單時間(time)、地址id(aid)
  • 訂單詳情表(tb_orderdetail): 包含id、訂單id(oid)、商品id(pid)、商品數量(num)、小計(money)
  • 用戶表(tb_user): 包含id、用戶名(username)、密碼(password)、郵箱(email)、性別(gender)、賬戶激活標記(flag)、管理員標記(role)、激活碼(code)

注意事項:

  • 賬戶激活標誌flag=1爲已激活狀態;默認標記地址標記爲1
  • code激活碼可以用UUID來生成,記得生成之後要把UUID碼中的"-"去掉哦
  • 訂單ID是一個UUID生成的32爲字符串類型ID,也是要把"-"去掉的
  • 訂單狀態我們只用了兩個狀態,如果需要查看狀態,可以在我們的項目中查找utils工具中的枚舉類OrderStatus
  • 下單時間在數據庫中是time類型,而該類型包括了日期和時間。java.utils.date是包含日期和時間的,而java.sql.date是隻包含日期的,而不包含時間。所有我們在此項目中只需要使用java.utils.date即可
  • 購物車表中的小計爲空,是因爲當你把商品加入購物車後存儲一次小計,但是當你到提交訂單時修改數量,小計應該也是會變的。所以這導致了購物車中的小計與訂單中的小計不同
  • 清空購物車和刪除購物車中的商品不是直接delete刪除,因爲用戶數據的寶貴,所以我們只需要操作用戶購買商品的數量即可
數據庫模型
image-20200704133013819

四、項目需求分析

項目需求分析
需求分析
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章