周少波
摘要:網(wǎng)上購(gòu)物對(duì)當(dāng)今傳統(tǒng)的零售企業(yè)帶來(lái)了巨大的沖擊,同時(shí)也帶來(lái)了巨大的商機(jī)。網(wǎng)上商城使人們購(gòu)買貨物時(shí)無(wú)需親臨現(xiàn)場(chǎng),而且網(wǎng)上支付的方式更加方便、快捷,同時(shí)可以節(jié)省租店面、招雇員等一些費(fèi)用。本系統(tǒng)采用MVC三層架構(gòu)設(shè)計(jì)模式,采用Struts框架開發(fā),結(jié)合Tomcat WEB服務(wù)器。邏輯層開發(fā)基于J2EE平臺(tái),表現(xiàn)層采用B/S結(jié)構(gòu),使用StrutsTaglib+JSP進(jìn)行頁(yè)面呈現(xiàn),使用Hibernate第三方框架對(duì)數(shù)據(jù)進(jìn)行持久化并使用MYSQL數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)存儲(chǔ)。實(shí)現(xiàn)網(wǎng)上商城和后臺(tái)管理的功能,確保為用戶提供網(wǎng)絡(luò)購(gòu)物更好的服務(wù)。網(wǎng)上購(gòu)物網(wǎng)站不僅僅是商品和服務(wù)的推廣,而且通過(guò)網(wǎng)絡(luò)將買家與賣家、廠商和合作伙伴緊密結(jié)合在了一起,從而消除了時(shí)間與空間帶來(lái)的障礙。
關(guān)鍵詞:網(wǎng)上購(gòu)物;SSH框架;MVC模式
中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2017)31-0286-03
1 概述
網(wǎng)上購(gòu)物已經(jīng)成為人們一種新的購(gòu)物方式,尤其是現(xiàn)在的年輕人更熱衷于在網(wǎng)上進(jìn)行購(gòu)物。網(wǎng)上商品物美價(jià)廉,購(gòu)買方式簡(jiǎn)單方便,足不出戶就能買到稱心如意的商品,這使得對(duì)開發(fā)網(wǎng)上購(gòu)物系統(tǒng)的技術(shù)要求更高了。傳統(tǒng)的購(gòu)物網(wǎng)站采用JSP,Servlet以及JavaBean技術(shù)進(jìn)行開發(fā),系統(tǒng)擴(kuò)展能力不強(qiáng),不能夠滿足人們快速增長(zhǎng)的需求。并且在顯示頁(yè)面時(shí),有時(shí)要進(jìn)行邏輯處理,降低了運(yùn)行效率。另外,對(duì)數(shù)據(jù)庫(kù)的處理往往過(guò)于復(fù)雜,特別是與數(shù)據(jù)庫(kù)的連接浪費(fèi)了大量的時(shí)間,這使得使用SSH這三個(gè)開源框架的優(yōu)點(diǎn)被很好地體現(xiàn)出來(lái)了。SSH框架的設(shè)計(jì)思路是將整個(gè)系統(tǒng)的實(shí)現(xiàn)分為三層:表現(xiàn)層、業(yè)務(wù)邏輯層、持久層。表現(xiàn)層主要是負(fù)責(zé)前臺(tái)的顯示,業(yè)務(wù)邏輯層主要負(fù)責(zé)處理業(yè)務(wù)邏輯以及頁(yè)面的轉(zhuǎn)向,持久層主要負(fù)責(zé)后臺(tái)與數(shù)據(jù)庫(kù)的連接以及交換數(shù)據(jù)。這樣大大增加了系統(tǒng)的擴(kuò)展性,能夠即時(shí)的調(diào)整系統(tǒng)功能來(lái)滿足用戶的需求,使得結(jié)構(gòu)更加嚴(yán)謹(jǐn)。每層完成指定的任務(wù),減輕頁(yè)面顯示時(shí)的工作量,增加了系統(tǒng)的執(zhí)行效率。此外增加了持久層,也就增加了數(shù)據(jù)更多的安全性。
2 需求分析
2.1 系統(tǒng)需求
美妝購(gòu)物商城系統(tǒng)主要分為三類用戶:
普通用戶:是指以游客身份訪問網(wǎng)站的用戶。此類用戶只能瀏覽商品信息、商品分類信息、商品品牌分類信息等內(nèi)容。
商城會(huì)員:是指注冊(cè)成為會(huì)員,并根據(jù)賬號(hào)和密碼登錄了系統(tǒng)的用戶。會(huì)員登錄了系統(tǒng)之后,除了可以查看商品信息以及各種分類商品信息,還可以將商品添加到購(gòu)物車中,以及刪除某些不想要的商品,確定購(gòu)物車的商品填寫收貨信息并提交訂單。
后臺(tái)管理員:后臺(tái)管理員主要負(fù)責(zé)管理后臺(tái)信息;主要有訂單管理,商品信息管理;商品分類管理以及用戶管理。訂單管理主要有未發(fā)貨和已發(fā)貨訂單,管理員可以點(diǎn)擊發(fā)貨安排發(fā)貨;商品管理主要有添加商品、上傳商品圖片、刪除、修改、查看的管理。商品分類管理主要有添加分類、刪除、修改、查看管理。用戶管理主要有查看用戶信息管理。
2.2 功能需求
前臺(tái)模塊:
1) 用戶注冊(cè):用戶填寫個(gè)人信息進(jìn)行注冊(cè),注冊(cè)成功后系統(tǒng)將用戶信息保存在用戶表。
2) 用戶登錄:用戶通過(guò)登錄頁(yè)面登錄進(jìn)入商城首頁(yè),可以瀏覽購(gòu)買商品。
3) 新品上架模塊:將最新添加的商品顯示在頁(yè)面的新品上架板塊,方便用戶了解商城的最新動(dòng)態(tài)。
4) 特別推薦模塊:將商城以為特別的值得推薦的商品顯示在首頁(yè)的特別推薦的板塊。
5) 熱門商品模塊:將最熱門的商品顯示在商城首頁(yè)的熱門商品顯示板塊,可以讓用戶了解大家的購(gòu)物趨向。
6) 商品分類展示:將商品的分類顯示在頁(yè)面上,方便用戶快速找到目標(biāo)商品。
7) 購(gòu)物車:用戶可以將想要購(gòu)買的商品添加進(jìn)購(gòu)物車方便購(gòu)物,也可以刪除不需要購(gòu)買的商品。
8) 我的訂單:用戶購(gòu)買商品的信息都保存在訂單表,可以根據(jù)我的訂單功能來(lái)查看未付款的訂單進(jìn)行付款,并查看歷史訂單。
后臺(tái)模塊:
1) 商品管理:管理員通過(guò)后臺(tái)管理系統(tǒng)可以實(shí)現(xiàn)查詢,增加,修改,刪除商品信息。
2) 分類管理:管理員通過(guò)后臺(tái)管理系統(tǒng)可以實(shí)現(xiàn)查詢,增加,修改,刪除商品分類的信息。
3) 訂單管理:管理員通過(guò)后臺(tái)管理系統(tǒng)可以查看用戶訂單,刪除用戶訂單,以及修改用戶訂單的狀態(tài)。
4) 用戶查看:管理員通過(guò)后臺(tái)管理系統(tǒng)可以查看注冊(cè)的用戶。
5) 管理員登錄:管理員登錄后臺(tái)管理系統(tǒng)進(jìn)入后臺(tái)管理系統(tǒng)。
2.3 業(yè)務(wù)流程分析
美妝商城用戶通過(guò)前臺(tái)頁(yè)面瀏覽商品,選購(gòu)商品添加進(jìn)購(gòu)物車,選擇付款或者選擇繼續(xù)購(gòu)物,點(diǎn)擊付款,判斷用戶是否登錄,若無(wú),則跳到登錄頁(yè)面登錄,否則便可填寫收貨信息提交訂單;后臺(tái)管理員通過(guò)后臺(tái)管理系統(tǒng)查詢訂單,審核訂單,訂單無(wú)誤之后確認(rèn)發(fā)貨,并將發(fā)貨狀態(tài)傳給用戶。
2.4 數(shù)據(jù)流程分析
首先管理員通過(guò)后臺(tái)管理功能添加商品信息和商品分類,并將商品信息保存在商品表和商品分類表,用戶可以注冊(cè)登錄,并將用戶信息保存在用戶表,然后通過(guò)查詢統(tǒng)計(jì)的方式將商品讀取出來(lái),并顯示在頁(yè)面上;其次用戶可以生成訂單并將訂單信息保存在訂單表;最后管理員通過(guò)后臺(tái)管理系統(tǒng)根據(jù)查詢方法查看訂單信息,修改用戶的訂單狀態(tài)并將修改信息返回給用戶。
3 系統(tǒng)設(shè)計(jì)
3.1 系統(tǒng)總體功能結(jié)構(gòu)
美妝商城網(wǎng)站的總體功能結(jié)構(gòu):前臺(tái)功能包括美妝商品信息瀏覽,購(gòu)物車和我的訂單三個(gè)模塊;后臺(tái)管理包括美妝商品管理,訂單管理,用戶管理,商品分類管理四個(gè)模塊。系統(tǒng)主要模塊及其功能如下:
1) 用戶信息管理:此模塊用于對(duì)賬戶信息的進(jìn)行管理,如用戶注冊(cè)、登錄。
2) 商品信息管理:主要包括美妝商品信息,分類列表、新品上架、推薦商品以及熱門商品的查看。
3) 購(gòu)物車模塊:將商品添加進(jìn)購(gòu)物車,商品的刪除,查看購(gòu)物車,清空購(gòu)物車。
4) 訂單管理:查詢訂單,生成新的訂單,查看訂單列表以及訂單的付款。
5) 后臺(tái)管理員模塊:查看用戶信息,添加、修改、刪除商品信息,修改訂單的狀態(tài)。
3.2 系統(tǒng)概念結(jié)構(gòu)設(shè)計(jì)(E-R圖)
E-R方法是“實(shí)體-聯(lián)系方法”的簡(jiǎn)稱,是一種用來(lái)描述現(xiàn)實(shí)世界概念結(jié)構(gòu)模型的方法。該方法有三個(gè)基本要素:實(shí)體、屬性和聯(lián)系,其中用矩形表示實(shí)體,用橢圓表示屬性,用菱形表示實(shí)體和實(shí)體之間的聯(lián)系,并用直線將有關(guān)實(shí)體型連接起來(lái)。E-R圖就是根據(jù)ER方法設(shè)計(jì)的一種圖形。根據(jù)前面的具體分析就可以得到系統(tǒng)的E-R圖如1所示。
3.3 基本表設(shè)計(jì)
數(shù)據(jù)庫(kù)是該系統(tǒng)中必不可少的后臺(tái)數(shù)據(jù)存儲(chǔ)支持。在設(shè)計(jì)該系統(tǒng)的表結(jié)構(gòu)之前,首先要?jiǎng)?chuàng)建一個(gè)數(shù)據(jù)庫(kù),在我的美妝商城系統(tǒng)中,我定義這個(gè)數(shù)據(jù)庫(kù)為hbbshop。該數(shù)據(jù)庫(kù)中包含了:商品表(shop)、用戶表(usertable)、管理員表(admin)、商品分類表(categorytable)、訂單表(ordertable)、訂單項(xiàng)表(orderitem)。
4 系統(tǒng)功能實(shí)現(xiàn)
4.1 前臺(tái)模塊的功能實(shí)現(xiàn)
4.1.1 注冊(cè)
用戶通過(guò)單擊注冊(cè)后輸入用戶名密碼、用戶真實(shí)姓名、地址、電話以及郵箱。通過(guò)web表單使用post方法提交。這里考慮到兩點(diǎn):第一,對(duì)用戶的用戶名使用了xmlHttpRequest()異步加載校驗(yàn)用戶名必須是唯一的;第二,對(duì)用戶的郵箱格式通過(guò)正則表達(dá)式進(jìn)行了校驗(yàn),只能輸入正確的郵箱格式。用戶輸入注冊(cè)信息并提交后,系統(tǒng)會(huì)檢查注冊(cè)頁(yè)面輸入的數(shù)據(jù),對(duì)于不符合系統(tǒng)要求的數(shù)據(jù)會(huì)給出必要的提示信息。對(duì)于符合要求的注冊(cè)信息,用戶提交的數(shù)據(jù)將被保存在數(shù)據(jù)庫(kù)中并跳轉(zhuǎn)到登錄頁(yè)面。
4.1.2 登錄
關(guān)于我們登錄模塊的實(shí)現(xiàn)通常就是為了用戶輸入數(shù)據(jù)安全,因此需要在用戶購(gòu)買商品時(shí)要求對(duì)客戶進(jìn)行身份驗(yàn)證。首先使用if判斷語(yǔ)句判斷用戶名是否為空,不為空的情況下判斷用戶名是否正確根據(jù)getHibernateTemplate().find()查詢用戶的用戶名和密碼,一致則登錄成功,否則重定向到當(dāng)前登錄頁(yè)面重新登錄。
4.1.3 購(gòu)物車
本系統(tǒng)通過(guò)使用session創(chuàng)建購(gòu)物車,用戶選購(gòu)商品填寫商品數(shù)量后添加進(jìn)購(gòu)物車,在catr-Action中通過(guò)addCart()方法封裝一個(gè)CartItem對(duì)象,根據(jù)商品的id查找商品并通過(guò)addCart()將想要購(gòu)買的商品添加到購(gòu)物車中。在購(gòu)物車中可以查看選擇了的商品,同時(shí)如果對(duì)某些商品不滿意,可以使用removeCart()方法進(jìn)行移除或者使用clearCart()方法清空購(gòu)物車。
4.1.4 提交訂單
用戶決定購(gòu)買商品后點(diǎn)擊提交訂單通過(guò)bootstrap框架model以彈框的方式檢查訂單并填寫收貨信息,生成訂單,并通過(guò)save()方法將訂單項(xiàng)存入訂單表,通過(guò)付款便可完成交易。
4.1.5 我的訂單
用戶點(diǎn)擊我的訂單,根據(jù)訂單id以及用戶id 查找訂單表中屬于該用戶的所有訂單并根據(jù)page-
Bean類分頁(yè)顯示,訂單項(xiàng)上有商品的交易狀態(tài),用戶可以對(duì)未付款的商品進(jìn)行付款操作,并通過(guò)up-dateState()方法修改訂單狀態(tài)并通過(guò)setState()設(shè)置當(dāng)前的訂單狀態(tài)。
4.2 后臺(tái)模塊的功能實(shí)現(xiàn)
4.2.1 管理員登錄
關(guān)于后臺(tái)登錄模塊的實(shí)現(xiàn)就是為了用戶輸入數(shù)據(jù)的安全,因此需要在進(jìn)入系統(tǒng)之前對(duì)管理員身份進(jìn)行驗(yàn)證。輸入用戶名以及密碼點(diǎn)擊登錄時(shí)在AdminDao中通過(guò)查詢語(yǔ)句查詢用戶名以及密碼是否存在,若存在則登錄成功,否則使用addActionError()添加用戶名或著密碼錯(cuò)誤的提示。
4.2.2 用戶管理
用戶管理主要是使用userDao中的findAll()方法根據(jù)getHibernateTemplate().find()來(lái)查詢所有用戶并將用戶信息顯示。
4.2.3 商品管理
商品管理模塊主要是管理商品的基本信息,為了讓顧客了解到商品的真實(shí)信息,在添加商品模塊中增加上傳商品圖片的功能,使顧客能夠?yàn)g覽到商品的真實(shí)外貌。
管理員在商品添加功能中輸入要添加的商品的基本信息,并設(shè)置為是否是熱門商品或推薦商品。然后選擇圖片上傳功能,在上傳文件位置上添加圖片后點(diǎn)擊提交,在ShopDao通過(guò)getHibernateTemplate().save(shop);將商品分類保存在shop表中,完成后通過(guò)findAll方法查找?guī)в蟹猪?yè)的商品集合并根據(jù)商品id查找商品,點(diǎn)擊編輯通過(guò)model將商品原數(shù)據(jù)從棧中取出并傳入編輯頁(yè)面,管理員可在此對(duì)商品重新定義或者更換圖片點(diǎn)擊提交通過(guò)update()方法修改商品信息。刪除商品信息時(shí),先通過(guò)findById()方法獲得指定的商品Id,然后再 使用sql語(yǔ)句進(jìn)行商品信息的刪除。
4.2.4 分類管理
該模塊是針對(duì)商品的類別進(jìn)行分類,可以查找添加刪除修改分類信息,添加商品分類商品時(shí)在CategoryAction類中定義save方法,在CategoryDao通過(guò)getHibernateTemplate().save(category);將商品分類保存在category表中;點(diǎn)擊刪除時(shí)通過(guò)findById()方法找到要?jiǎng)h除的訂單ID在CategoryDao中通過(guò)delete方法進(jìn)行刪除并通過(guò)struts.xml文件配置重定向路徑實(shí)現(xiàn)刪除操作。
4.2.5 訂單管理
該模塊是對(duì)顧客的訂單明細(xì)信息進(jìn)行管理,主要包括了對(duì)用戶訂單信息的查看、刪除和訂單受理的操作等功能。
訂單管理模塊使用了findAll和findOrderItem方法查詢訂單通過(guò)值棧的方式將訂單信息顯示在頁(yè)面上。點(diǎn)擊刪除時(shí)通過(guò)findByOrder方法找到要?jiǎng)h除的訂單ID在orderDao中通過(guò)delete方法進(jìn)行刪除。通過(guò)訂單的審核點(diǎn)擊發(fā)貨根據(jù)updateState方法修改訂單的狀態(tài)。
5 結(jié)論
本系統(tǒng)是一個(gè)基于SSH框架的美妝購(gòu)物商城,該網(wǎng)上商城購(gòu)物系統(tǒng)采用了當(dāng)前流行的B/S開發(fā)模式和SSH框架,數(shù)據(jù)存儲(chǔ)使用較高安全性與穩(wěn)定性的數(shù)據(jù)庫(kù)MySQL。實(shí)現(xiàn)了功能需求里面擬定的功能,各項(xiàng)功能都可以正常運(yùn)行。
參考文獻(xiàn):
[1] 夏金秀.網(wǎng)上購(gòu)物商城后臺(tái)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].山東大學(xué),2014.
[2] 田濤.基于SSH框架的網(wǎng)上書城系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[D].成都理工大學(xué),2014.
[3] 劉錢.基于SSH2的電子商城網(wǎng)站設(shè)計(jì)[D].電子技術(shù)與軟件工程,2016.
[4] 唐李昊,王明宇.基于SSH框架的網(wǎng)上銷售系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J]. 電子商務(wù),2014(7).
[5] 劉洲,陳勇. 基于SSH的網(wǎng)絡(luò)商城系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D]. 物聯(lián)網(wǎng)技術(shù),2015.
[6] 徐紅升,張瑞玲. 基于SSH整合MVC分層的網(wǎng)上商城的設(shè)計(jì)與實(shí)現(xiàn)[D]. 洛陽(yáng)師范學(xué)院學(xué)報(bào),2013.
[7] 謝宗懿. 基于SSH技術(shù)的網(wǎng)絡(luò)書城設(shè)計(jì)與實(shí)現(xiàn)[D].北京工業(yè)大學(xué),2015.
[8] 王昶太. 基于Spring與Hibernate的智能電子商城系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].北京郵電大學(xué),2015.