小米商城專案
專案已託管到GitHub,大家可以去GitHub檢視下載!並搜尋關注微信公眾號 碼出Offer 領取各種學習資料!
基於Servlet+JSP開發的小米商城專案,因為專案體量特別小,僅供小夥伴們參考與練習!
一、Get小米商城專案
專案宣告: 該專案為小米商城專案,是一個基於Servlet+JSP開發專案,在此託管到GitHub以作記錄,並提供給正在學習的小夥伴練習。此專案不是特別高階嚴謹的專案,只是一個簡單的練習,所以有裡面也有很多的不足之處,請諒解!謝謝!
二、小米商城專案流程展示
注意: jsp頁面、資料庫以及部分Utils工具已提供,我們只需要建立專案匯入建立和編寫其他程式碼即可。頁面展示過程被紅色線框圈住地方是我們需要做的商城入口,點選該入口完成跳轉至其他頁面,根據其他jsp頁面顯示的內容和業務編寫對應的頁面展示和業務邏輯程式碼。
註冊功能頁面(register.jsp) |
---|
註冊成功頁面(registerSuccess.jsp) |
未登入的商城頁面(index.jsp、header.jsp、footer.jsp) |
登入頁面(login.jsp) |
登入後的商城主頁(index.jsp、header.jsp、footer.jsp) |
商品分頁列表(goodList.jsp) |
商品詳情頁(goodsDetail.jsp) |
加入購物車成功(cartSuccess.jsp) |
購物車列表(cart.jsp) |
訂單列表(order.jsp) |
提交訂單成功(orderSuccess.jsp) |
微信支付(payWeixin.jsp) |
支付成功(message.jsp) |
主頁地址管理(header.jsp - > self_info.jsp) |
主頁我的訂單(header.jsp - > orderList.jsp) |
訂單詳情(orderList.jsp - > orderDetail.jsp) |
注意:有興趣的小夥伴自行擴充套件,優化細節! |
三、資料庫
資料庫表簡介
- 地址表(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刪除,因為使用者資料的寶貴,所以我們只需要操作使用者購買商品的數量即可
資料庫模型 |
---|
四、專案需求分析
專案需求分析 |
---|