小米商城(JSP+Servlet項目)

小米商城項目

項目已託管到GitHub,你們能夠去GitHub查看下載!並搜索關注微信公衆號 碼出Offer 領取各類學習資料!java

在這裏插入圖片描述

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


1、Get小米商城項目

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

2、小米商城項目流程展現

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

註冊功能頁面(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
注意:有興趣的小夥伴自行擴展,優化細節!

3、數據庫

數據庫表簡介數據庫

  • 地址表(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

4、項目需求分析

項目需求分析
需求分析
相關文章
相關標籤/搜索