天天看點

estore簡版商城一、功能詳細二、資料庫模組化分析三、estore工程環境搭建四、以頂級域名的方式釋出工程五、項目展示六、項目源碼

estore簡版商城

一、功能詳細

簡要說明,這是一個簡版的電商網站:賣東西的網站

實作功能:

一: 使用者的注冊

二: 使用者的登入------ 自動登入

三:登出

四:實作md5加密

五: 商品的添加 --- ----檔案的上傳

六: 商品的顯示

七: 添加商品到購物車

八:權限控制

九: 顯示購物車(去購物車結算)【包含修改購物車商品數量】

十: 生成訂單(去結算)

十一:檢視訂單

十二: 線上支付

二、資料庫模組化分析

1、建表說明

設計表,一共有四個表。

使用者表:user,商品表:product,訂單表:order,訂單項表(訂單和商品的關系表):orderitem

備注:購物車,沒有單獨設計成一個表,而是将購物車中的東西放到session中進行存儲

2、ER圖

estore簡版商城一、功能詳細二、資料庫模組化分析三、estore工程環境搭建四、以頂級域名的方式釋出工程五、項目展示六、項目源碼

3、estore表字段

(1)使用者表:user

字段名稱 資料類型 主鍵 是否空 說明
id varchar(50) Y N 主鍵(使用者編号)
username varchar(50) N N 使用者名
password varchar(50) N N 密碼
email varchar(50) N N 郵箱
nickname varchar(50) N N 昵稱
role varchar(30) N N 角色(user表示普通使用者,admin表示管理者)

(2)商品表:product

字段名稱 資料類型 主鍵 是否空 說明
id varchar(50) Y N 主鍵(商品編号)
name varchar(50) N N 商品名
price double N N 單價
category varchar(50) N N 種類
description varchar(100) N N 商品描述
count int N N 庫存
imageurl varchar(100) N N 圖檔存放位址

(3)訂單表:orders

由于使用者和訂單是一對多的關系,是以在多的一方添加一的一方的主鍵作為外鍵限制

字段名稱 資料類型 主鍵 是否空 說明
id varchar(50) Y N 主鍵(訂單編号)
money double N N 訂單金額
ordertime double N N 訂單時間
reveiveinfo varchar(100) N N 收貨位址
paystate int N N 支付狀态(0表示未支付,1表示支付成功)
user_id varchar(50) N N 外鍵(使用者編号)

(4)訂單項表(訂單和商品的關系表):orderitem

由于商品和訂單是多對多的關系, 是以會引入第三張關系表, 将兩張主體表的主鍵拿過來當作外鍵限制

字段名稱 資料類型 主鍵 是否空 說明
order_id varchar(50) N N 外鍵(訂單編号)
product_id varchar(50) N N 外鍵(商品編号)
buynum int N N 購買商品數量

4、建庫建表語句

create databaseestore;

use estore;

-- 使用者表

create table user(

   id varchar(50) primary key,

   username varchar(50),

   password varchar(50),

   email varchar(50),

   nickname varchar(50),

   role varchar(30)

);

-- 商品表

create tableproduct(

  id varchar(50) primary key,

  name varchar(50),

  price double,

category varchar(50),

description varchar(100),

  count int,

  imageurl varchar(100)

);

-- 訂單表

create table orders(

  id varchar(50) primary key,

  money double,

  ordertime datetime,

  receiveinfo varchar(100),

  paystate int,

  user_id varchar(50),

  --由于使用者和訂單是一對多的關系,是以在多的一方添加一的一方的主鍵作為外鍵限制

  -- 外鍵限制

  foreign key(user_id) references user(id)

);

由于 商品和訂單是多對多的關系, 是以會引入第三張關系表, 将兩張主體表的主鍵拿過來當作外鍵限制

-- 關系表

create tableorderitem(

   order_id varchar(50),

   product_id varchar(50),

   buynum int,

   foreign key(order_id) references orders(id),

   foreign key(product_id) references product(id)

);

三、estore工程環境搭建

建立一個工程:estore

1、組織包結構:

estore簡版商城一、功能詳細二、資料庫模組化分析三、estore工程環境搭建四、以頂級域名的方式釋出工程五、項目展示六、項目源碼

2、導包

Beanutils(2個jar)+ dbutils(1個jar )+ c3p0(1 個jar, 1 個配置檔案)+mysql驅動(1個jar)+ commons-fileupload(2個jar)

estore簡版商城一、功能詳細二、資料庫模組化分析三、estore工程環境搭建四、以頂級域名的方式釋出工程五、項目展示六、項目源碼

3、建實體bean:

有什麼樣的表就有什麼樣 bean

estore簡版商城一、功能詳細二、資料庫模組化分析三、estore工程環境搭建四、以頂級域名的方式釋出工程五、項目展示六、項目源碼

4、工具類:

一些前期,認為必要的工具類,後期具體會根據需要加入一些工具類,友善項目的開展

操作資料庫的工具類:jdbcUtils

md5加密的工具類:MD5Utils

手動管理事務(解耦合)的工具類:TransactionUtil

制作圖檔縮略圖(小圖)的工具類:PictUtils

上傳檔案的工具類:UploadUtils

estore簡版商城一、功能詳細二、資料庫模組化分析三、estore工程環境搭建四、以頂級域名的方式釋出工程五、項目展示六、項目源碼

四、以頂級域名的方式釋出工程

通過頂級域名的方式去釋出工程.  讓tomcat伺服器自動加載 web應用, 不再通過之前的方式去釋出.

通過www.estore.com可以通路 到網站的首頁

l 第一步:

到 tomcat伺服器的server.xml檔案中,更改端口為80

estore簡版商城一、功能詳細二、資料庫模組化分析三、estore工程環境搭建四、以頂級域名的方式釋出工程五、項目展示六、項目源碼

l 第二步:

在C:\Windows\System32\drivers\etc目錄下:找到hosts檔案

estore簡版商城一、功能詳細二、資料庫模組化分析三、estore工程環境搭建四、以頂級域名的方式釋出工程五、項目展示六、項目源碼

進入到 hosts 檔案中 添加主機名與ip位址對應關系

estore簡版商城一、功能詳細二、資料庫模組化分析三、estore工程環境搭建四、以頂級域名的方式釋出工程五、項目展示六、項目源碼

l 第三步:

到 tomcat伺服器的server.xml檔案中,  添加 Host元素,添加如下:

estore簡版商城一、功能詳細二、資料庫模組化分析三、estore工程環境搭建四、以頂級域名的方式釋出工程五、項目展示六、項目源碼
estore簡版商城一、功能詳細二、資料庫模組化分析三、estore工程環境搭建四、以頂級域名的方式釋出工程五、項目展示六、項目源碼

将 www.estore.com 映射指向了 硬碟上的: D:\myeclipse_workspace\estore(estore在myeclipse中的位置)

然後又将 這個檔案夾下的:D:\myeclipse_workspace\estore\WebRoot(estore在的WebRoot裡面的結構就是一個web應用裡面的結構,是以此處相當于estore的web應用在myeclipse中的位置)

l 第四步:

啟動伺服器去通路(如果此時不成功,可能是80端口被占用)

注意:

1.這裡以 頂級 域名方式 釋出後,  以後就不要再  點選 去釋出了 .  Tomcat伺服器會自動加載web應用.

2.以頂級域名方式釋出後,再去通路web應用中的資源檔案的時候,都不要再加主機名了.

estore簡版商城一、功能詳細二、資料庫模組化分析三、estore工程環境搭建四、以頂級域名的方式釋出工程五、項目展示六、項目源碼

五、項目展示

1、首頁

estore簡版商城一、功能詳細二、資料庫模組化分析三、estore工程環境搭建四、以頂級域名的方式釋出工程五、項目展示六、項目源碼

2、注冊

estore簡版商城一、功能詳細二、資料庫模組化分析三、estore工程環境搭建四、以頂級域名的方式釋出工程五、項目展示六、項目源碼

3、登入

estore簡版商城一、功能詳細二、資料庫模組化分析三、estore工程環境搭建四、以頂級域名的方式釋出工程五、項目展示六、項目源碼

4、顯示商品

estore簡版商城一、功能詳細二、資料庫模組化分析三、estore工程環境搭建四、以頂級域名的方式釋出工程五、項目展示六、項目源碼

5、添加商品

【1】普通使用者添加,失敗,沒有權限

estore簡版商城一、功能詳細二、資料庫模組化分析三、estore工程環境搭建四、以頂級域名的方式釋出工程五、項目展示六、項目源碼

【2】管理者添加,成功

estore簡版商城一、功能詳細二、資料庫模組化分析三、estore工程環境搭建四、以頂級域名的方式釋出工程五、項目展示六、項目源碼

6、添加商品到購物車

estore簡版商城一、功能詳細二、資料庫模組化分析三、estore工程環境搭建四、以頂級域名的方式釋出工程五、項目展示六、項目源碼

7、顯示購物車

【1】管理者顯示購物車,失敗,沒有權限

estore簡版商城一、功能詳細二、資料庫模組化分析三、estore工程環境搭建四、以頂級域名的方式釋出工程五、項目展示六、項目源碼

【2】普通使用者顯示購物車,成功

estore簡版商城一、功能詳細二、資料庫模組化分析三、estore工程環境搭建四、以頂級域名的方式釋出工程五、項目展示六、項目源碼

8、結算,确認訂單資訊

estore簡版商城一、功能詳細二、資料庫模組化分析三、estore工程環境搭建四、以頂級域名的方式釋出工程五、項目展示六、項目源碼

9、生成訂單

estore簡版商城一、功能詳細二、資料庫模組化分析三、estore工程環境搭建四、以頂級域名的方式釋出工程五、項目展示六、項目源碼

10、顯示訂單清單

estore簡版商城一、功能詳細二、資料庫模組化分析三、estore工程環境搭建四、以頂級域名的方式釋出工程五、項目展示六、項目源碼

11、支付訂單

estore簡版商城一、功能詳細二、資料庫模組化分析三、estore工程環境搭建四、以頂級域名的方式釋出工程五、項目展示六、項目源碼

六、項目源碼

本人的github項目位址

https://github.com/Forever99/estore

繼續閱讀