張慧敏 王颯 張騰達(dá)
摘 ?要: 線上線下專門針對(duì)研究男士皮膚以及銷售男士護(hù)膚產(chǎn)品的品牌的并不是很多,網(wǎng)上購(gòu)物商城旨在推動(dòng)互聯(lián)網(wǎng)上男士護(hù)膚產(chǎn)品的銷售,闊寬賣家與買家購(gòu)買產(chǎn)品的渠道,降低賣家的成本時(shí),買家也優(yōu)惠一定的價(jià)格。該購(gòu)物商城使用SSM框架以及J2EE實(shí)現(xiàn)網(wǎng)上購(gòu)物商城平臺(tái)的構(gòu)建。本文從網(wǎng)上購(gòu)物商城技術(shù)介紹,網(wǎng)上購(gòu)物商城設(shè)計(jì),網(wǎng)上購(gòu)物商城實(shí)現(xiàn)等方面具體論述網(wǎng)上購(gòu)物商城的設(shè)計(jì)與實(shí)現(xiàn)。
關(guān)鍵詞: SSM框架;JavaEE;網(wǎng)上購(gòu)物商城
中圖分類號(hào): TP311.52 ? ?文獻(xiàn)標(biāo)識(shí)碼: A ? ?DOI:10.3969/j.issn.1003-6970.2020.06.030
本文著錄格式:張慧敏,王颯,張騰達(dá). 基于SSM框架的網(wǎng)上購(gòu)物商城設(shè)計(jì)與實(shí)現(xiàn)[J]. 軟件,2020,41(06):143146
【Abstract】: There are not many online and offline brands dedicated to the research of mens skin and the sale of men's skin care products. Online shopping mall aims to promote the sale of men's skin care products on the Internet, broaden the channels for sellers and buyers to buy products, and reduce the cost of sellers, buyers also offer certain prices. The shopping mall uses SSM framework and Java EE to realize the construction of online shopping mall platform. This paper discusses the design and implementation of online shopping mall from the aspects of analysis, design and implementation of online shopping mall.
【Key words】: SSM framework; JavaEE; Online shopping mall
0 ?引言
近年來,我國(guó)互聯(lián)網(wǎng)迅速發(fā)展?;ヂ?lián)網(wǎng)的發(fā)展給人們生活帶來了極大的便利。人們利用互聯(lián)網(wǎng)在網(wǎng)上購(gòu)買很多東西,護(hù)膚品是一個(gè)基本上人人都在使用的產(chǎn)品,隨著人們經(jīng)濟(jì)的增長(zhǎng),越來越多的人注重護(hù)膚,男性人群尤為突出。根據(jù)《中國(guó)直銷》顯示男士護(hù)膚用品銷售增幅是整個(gè)護(hù)膚產(chǎn)品市場(chǎng)的2倍,業(yè)內(nèi)僅有10家企業(yè)銷售男性護(hù)膚品,這和幾乎家家都在銷售女性護(hù)膚品或化妝品的形勢(shì)差距甚大,專門做男士護(hù)膚的商城也寥寥無幾。該網(wǎng)上購(gòu)物商城旨在使男士擁有一個(gè)專門研究其膚質(zhì)以及銷售男士護(hù)膚產(chǎn)品的商城,方便男士人群針對(duì)自己的膚質(zhì)進(jìn)購(gòu)買產(chǎn)品。
1 ?網(wǎng)上購(gòu)物商城技術(shù)介紹
1.1 ?SSM框架介紹
SSM(Spring+SpringMVC+MyBatis)框架由Spring、MyBatis兩個(gè)開源框架整合而成(SpringMVC是Spring中的部分內(nèi)容)。將整個(gè)系統(tǒng)劃分為view層,controller層,service層,DAO層四層。
SSM中包括3部分:spring MVC,spring,mybatis。
(1)SpringMVC在項(xiàng)目中攔截用戶請(qǐng)求,它的核心DispatcherServlet將用戶請(qǐng)求通過HandlerMapping去匹配Controller,Controller就是具體對(duì)應(yīng)請(qǐng)求所執(zhí)行的操作。即使用spring MVC負(fù)責(zé)請(qǐng)求的轉(zhuǎn)發(fā)和視圖管理。
(2)spring在配置文件中可以指定使用特定的參數(shù)去調(diào)用實(shí)體類的構(gòu)造方法來實(shí)例化對(duì)象。即實(shí)現(xiàn)業(yè)務(wù)對(duì)象管理。
(3)mybatis是對(duì)jdbc的封裝。mybatis通過配置文件關(guān)聯(lián)到各實(shí)體類的Mapper文件,Mapper文件中配置了每個(gè)類對(duì)數(shù)據(jù)庫(kù)所需進(jìn)行的sql語句映射。在每次與數(shù)據(jù)庫(kù)交互時(shí),通過sqlSessionFactory拿到一個(gè)sqlSession,再執(zhí)行sql命令。即作為數(shù)據(jù)對(duì)象的持久化引擎。
1.2 ?J2EE介紹
J2EE是一套全然不同于傳統(tǒng)應(yīng)用開發(fā)的技術(shù)架構(gòu),包含許多組件,主要可簡(jiǎn)化且規(guī)范應(yīng)用系統(tǒng)的開發(fā)與部署,進(jìn)而提高可移植性、安全與再用價(jià)值。本網(wǎng)上購(gòu)物商城使用到的主要技術(shù):
(1)XML:XML(標(biāo)準(zhǔn)通用標(biāo)記語言的子集)是一種可以用來定其它標(biāo)記語言的語言。它被用來在不同的商務(wù)過程中共享數(shù)據(jù)。XML的發(fā)展和java是相互獨(dú)立的,但是,它和java具有的相同目標(biāo)是平臺(tái)獨(dú)立性。
(2)JSP:是一種動(dòng)態(tài)網(wǎng)頁(yè)技術(shù),根據(jù)用戶的交互展示不同的頁(yè)面,被廣泛應(yīng)用在Web應(yīng)用開發(fā)中。
(3)Servlet:Servlet被包含在Java的API中,所以Servlet也是一個(gè)Java類,通常用于邏輯設(shè)計(jì)。
2 ?網(wǎng)上購(gòu)物商城的設(shè)計(jì)
該商城采用B/S架構(gòu),主要有前端和后臺(tái)構(gòu)成,其中前端功能有用戶注冊(cè),用戶登錄,瀏覽商品,查看商品詳情,加入購(gòu)物車,立即購(gòu)買,查看各類訂單以及退出登錄。后臺(tái)功能有對(duì)商品類別的增刪改查操作,對(duì)商品的增刪改查操作,對(duì)訂單的改查操作以及登錄驗(yàn)證。
該商城設(shè)計(jì)中,使用view層處理用戶提交的各種數(shù)據(jù),controller層為控制器,在用戶出發(fā)事件后,獲取頁(yè)面請(qǐng)求的參數(shù),通過自動(dòng)裝配,映射不同的URL到相應(yīng)的處理函數(shù),并獲取參數(shù),對(duì)參數(shù)進(jìn)行處理,之后傳給服務(wù)層。service層為控制層提供服務(wù),接受控制層的參數(shù),完成相應(yīng)的功能,并返回給控制層。DAO層數(shù)據(jù)持久,負(fù)責(zé)與數(shù)據(jù)庫(kù)進(jìn)行聯(lián)系。JSP頁(yè)面請(qǐng)求參數(shù),獲取數(shù)據(jù)。
基于SSM框架的網(wǎng)上購(gòu)物商城整個(gè)流程如下:首先jsp發(fā)送請(qǐng)求,通過核心控制器(DispatcherServlet)調(diào)用請(qǐng)求解析器(HandlendMapping)對(duì)請(qǐng)求進(jìn)行解析,通過映射關(guān)系匹配到控制器層(Controller),在控制器層(Controller)調(diào)用業(yè)務(wù)邏輯層(service),數(shù)據(jù)持久層(DAO)返回控制層(Controller),請(qǐng)求完成獲取一個(gè)結(jié)果,設(shè)置要跳轉(zhuǎn)的頁(yè)面,核心控制器調(diào)用視圖解析器(ViewResolver)解析視圖,匹配相應(yīng)的頁(yè)面實(shí)現(xiàn)頁(yè)面跳轉(zhuǎn)。
3 ?網(wǎng)上購(gòu)物商城的實(shí)現(xiàn)
下面從技術(shù)實(shí)現(xiàn)的角度分析SSM框架網(wǎng)上購(gòu)物商城的實(shí)現(xiàn)。
首先大致了解系統(tǒng)的流程:用戶通過訪問商城首頁(yè)進(jìn)行瀏覽商品,在首頁(yè)可以進(jìn)入注冊(cè)頁(yè)面進(jìn)行注冊(cè)賬號(hào),擁有賬號(hào)進(jìn)入登錄頁(yè)面。若賬號(hào)和密碼正確進(jìn)入當(dāng)前用戶之前瀏覽的頁(yè)面或者首頁(yè),若賬號(hào)和密碼錯(cuò)誤返回登錄頁(yè)面進(jìn)行重新登錄或者找回密碼。在購(gòu)物商城首頁(yè)選擇購(gòu)買的商品點(diǎn)擊查看詳情,在產(chǎn)品的詳情頁(yè)可以加入購(gòu)物車或者立即購(gòu)買后進(jìn)入購(gòu)物車的頁(yè)面。用戶在購(gòu)物車界面可以根據(jù)需求,選擇增加或刪除商品數(shù)量,也可以返回購(gòu)物首頁(yè)繼續(xù)購(gòu)買,確定要購(gòu)買的商品后,用戶可以提交訂單,進(jìn)入訂單信息顯示頁(yè)面,進(jìn)行支付。購(gòu)買完畢,用戶可以選擇退出登錄,進(jìn)入商城的首頁(yè)。
具體分析各個(gè)功能的實(shí)現(xiàn):
(1)前端功能實(shí)現(xiàn):前端功能主要是用戶界面的設(shè)計(jì)。界面主要采用HTML+CSS+JavaScript+Jquery編寫。
首頁(yè):由index.jsp視圖負(fù)責(zé)商城首頁(yè)界面的實(shí)現(xiàn)。在首頁(yè)中進(jìn)行產(chǎn)品信息的展示,產(chǎn)品信息來自DAO。DAO(Data Access Object)是一個(gè)數(shù)據(jù)訪問接口。數(shù)據(jù)訪問,對(duì)數(shù)據(jù)庫(kù)進(jìn)行存取。夾在業(yè)務(wù)邏輯與數(shù)據(jù)庫(kù)資源中間。它將需要顯示的信息(如產(chǎn)品圖片、產(chǎn)品價(jià)格、產(chǎn)品銷量等)從數(shù)據(jù)庫(kù)中取出,進(jìn)行信息顯示,如圖1所示。在首頁(yè)的底部,針對(duì)不同的男士肌膚問題有相關(guān)的產(chǎn)品的推薦,方便其針對(duì)自己的膚質(zhì)進(jìn)行產(chǎn)品的購(gòu)買。用戶也可以聯(lián)系客服,進(jìn)行一對(duì)一的皮膚管理。
注冊(cè):由register.jsp視圖負(fù)責(zé)注冊(cè)界面的實(shí)現(xiàn),如圖2所示。注冊(cè)成功后跳轉(zhuǎn)到登錄頁(yè)面。
登錄:由login.jsp視圖負(fù)責(zé)登錄頁(yè)面的實(shí)現(xiàn)。如圖3所示。登錄成功后跳轉(zhuǎn)到用戶之前瀏覽的頁(yè)面。
商品詳情頁(yè):由product_item.jsp視圖負(fù)責(zé)商品詳情頁(yè)面的實(shí)現(xiàn)。該頁(yè)面中通過DAO中從數(shù)據(jù)庫(kù)中獲取數(shù)據(jù)進(jìn)行顯示產(chǎn)品的價(jià)格,描述,銷量以及通過+、–的按鈕進(jìn)行購(gòu)買數(shù)量的調(diào)整,也可以在文本框中輸入數(shù)量進(jìn)行購(gòu)買,供用戶與系統(tǒng)進(jìn)行交互。
圖4是某個(gè)產(chǎn)品的詳情頁(yè)面的展示。
購(gòu)物車:由my_cart.jsp視圖負(fù)責(zé)購(gòu)物車功能使得實(shí)現(xiàn)。如圖5所示。確認(rèn)信息無誤后提交訂單,供用戶進(jìn)行確定。
提交訂單:由buy_now.jsp視圖負(fù)責(zé)提交訂單功能的實(shí)現(xiàn)。如圖6所示。設(shè)置收獲的地址以及聯(lián)系電話提交訂單。
支付:由pay.jsp視圖負(fù)責(zé)支付功能的實(shí)現(xiàn)。如圖7所示。使用JavaScript中click事件進(jìn)行輸入的密碼與數(shù)據(jù)庫(kù)的密碼判斷,若相同時(shí)支付成功,若不同提示密碼錯(cuò)誤。
各種訂單查看:由myshopping.jsp頁(yè)面進(jìn)行顯示。如圖8所示。進(jìn)行查詢自己購(gòu)買產(chǎn)品的狀態(tài)。
退出登錄:由head.jsp頁(yè)面實(shí)現(xiàn),點(diǎn)擊退出登錄按鈕進(jìn)行登錄退出。
(2)后臺(tái)功能的實(shí)現(xiàn):
管理員登錄:login.jsp視圖進(jìn)行顯示。如圖9所示。
商品管理:在ProductService.java中是實(shí)現(xiàn)對(duì)商品增刪改查操作以及顯示所有的商品。
類別管理:在CategoryService.java實(shí)現(xiàn)對(duì)商品類別的增刪改查操作以及顯示所有的類別。
訂單管理:在OrderService.java實(shí)現(xiàn)對(duì)訂單的改查操作。由管理員對(duì)提交的訂單進(jìn)行處理。
4 ?結(jié)論
現(xiàn)如今互聯(lián)網(wǎng)發(fā)展迅速,網(wǎng)上購(gòu)物已經(jīng)成為人們生活的一部分。隨著男士護(hù)膚產(chǎn)品銷量的增加,本文基于SSM框架的網(wǎng)上購(gòu)物商城針對(duì)男士肌膚進(jìn)行研究,專門銷售男性肌膚護(hù)膚產(chǎn)品,有廣闊的應(yīng)用前景。該網(wǎng)上購(gòu)物功能完備、結(jié)構(gòu)清晰、易于使用,為銷售產(chǎn)品提供了便捷的平臺(tái)。
參考文獻(xiàn)
[1] 黃云霞, 王丹志. 基于J2EE的延伸護(hù)理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J]. 軟件, 2016, 37(01): 32-37.
[2] 張婉貞, 吳萃, 肖佳宇. 基于Java程序的現(xiàn)代城市地鐵查詢系統(tǒng)設(shè)計(jì)[J]. 軟件, 2016, 37(3): 47-50.
[3] 龐旭, 朱平, 李洋. 基于肯特的高原地區(qū)管道安全評(píng)價(jià)系統(tǒng)[J]. 軟件, 2018, 39(01): 50-53.
[4] 王強(qiáng), 王丹, 向逸塵. WMS倉(cāng)庫(kù)管理系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)[J]. 軟件, 2018, 39(1): 153-158.
[5] 李翔宇, 馬夕然, 葉奕風(fēng). 基于C52的藍(lán)牙距離預(yù)警功能的設(shè)計(jì)[J]. 軟件, 2018, 39(2)” 62-65.
[6] 康梅娟. 基于SSM的攝影愛好者論壇的設(shè)計(jì)[J]. 科技資訊, 2019.
[7] 王麗, 宗鎮(zhèn)欣. 基于SSM框架的學(xué)生信息管理系統(tǒng)[J]. 電腦知識(shí)與技術(shù), 2019.