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