版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
基于Java的京東電商系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)摘要:近十多年來,因?yàn)橐苿踊ヂ?lián)網(wǎng)發(fā)展迅猛,除了通常的查閱網(wǎng)頁,搜索數(shù)據(jù)和發(fā)送電子郵件外,大多數(shù)國內(nèi)網(wǎng)民還將采用以下傳統(tǒng)功能,如購物,電信,旅游和娛樂我逐漸習(xí)慣了互聯(lián)網(wǎng)。包括使用在線購物在內(nèi)的新服務(wù)模式正在成為人們生活中一種重要的購物形式?;ヂ?lián)網(wǎng)的發(fā)展迅猛,是網(wǎng)上購物系統(tǒng)發(fā)展的基礎(chǔ)。除此之外,網(wǎng)絡(luò)購物營商環(huán)境也在逐漸的在改善。移動互聯(lián)網(wǎng)設(shè)備(手機(jī),平板電腦)使互聯(lián)網(wǎng)用戶越來越多。付款和結(jié)算方式變得更加容易,快遞物流變得越來越順暢,相應(yīng)的法規(guī)和政策也越來越完善。近10年來,網(wǎng)絡(luò)購物對人們越來越有吸引力。從一開始的,人們不理解人們對在線購物的看法,從問題到逐漸信任,從拒絕到逐漸接受和熟絡(luò)。關(guān)鍵詞:Java,網(wǎng)絡(luò)購物
DesignandimplementationofJDe-commercesystembasedonJavaAbstract:Inthepasttenyears,becauseoftherapiddevelopmentofmobileInternet,inadditiontotheusualaccesstowebpages,searchdataandsende-mail,mostdomesticInternetuserswillalsousethefollowingtraditionalfunctions,suchasshopping,telecommunications,tourismandentertainment.IamgraduallyusedtotheInternet.Thenewservicemodeincludingonlineshoppingisbecominganimportantformofshoppinginpeople'slife.TherapiddevelopmentofInternetisthebasisofthedevelopmentofonlineshoppingsystem.Inaddition,onlineshoppingbusinessenvironmentisalsograduallyimproving.MobileInternetdevices(mobilephones,tabletcomputers)makemoreandmoreInternetusers.Paymentandsettlementmethodsbecomeeasier,expresslogisticsbecomemoreandmoresmooth,andthecorrespondinglawsandpoliciesbecomemoreandmoreperfect.Inthepast10years,onlineshoppinghasbecomemoreandmoreattractivetopeople.Fromthebeginning,peopledidn'tunderstandpeople'sviewsononlineshopping,fromproblemstotrust,fromrejectiontoacceptanceandfamiliarity.Keywords:Java,Onlineshopping目錄第1章系統(tǒng)概述 系統(tǒng)概述系統(tǒng)開發(fā)背景2018年12月止,電子商務(wù)直接雇員(包括電子商務(wù)平臺,初創(chuàng)公司,服務(wù)提供商,電子商務(wù)經(jīng)銷商等)人數(shù)已經(jīng)不止350萬,號碼(物流,市場營銷,培訓(xùn),直播等)已不止3000萬。因此世界各國政府也采取了積極促進(jìn)電子商務(wù)產(chǎn)業(yè)發(fā)展的政策,從而提供了大量的就業(yè)機(jī)會和平臺。因?yàn)殡娮由虅?wù)行業(yè)的發(fā)展,經(jīng)濟(jì)地位也在逐漸升高,在這種情況下,本文設(shè)計(jì)并開發(fā)了一個(gè)在線在線購物系統(tǒng)。系統(tǒng)特點(diǎn)基于Java流行開源技術(shù)構(gòu)建:使用業(yè)界流行的開源技術(shù)搭建,框架本身也完全開源,做到真正的技術(shù)開發(fā)?;赟OA架構(gòu)設(shè)計(jì):以SOA架構(gòu)風(fēng)格構(gòu)建,具有清晰的模塊界限、服務(wù)獨(dú)立部署和技術(shù)多樣性的能力特點(diǎn)。滿足Web和分布式應(yīng)用開發(fā):框架以適應(yīng)經(jīng)典的的MVC架構(gòu)和分布式大型應(yīng)用開發(fā)為設(shè)計(jì)目標(biāo),兩種風(fēng)格的開發(fā)和部署無縫切換。
項(xiàng)目開發(fā)相關(guān)技術(shù)基礎(chǔ)Java語言Java是由Sun公司推出的一種高級的面向?qū)ο蟮某绦蛟O(shè)計(jì)語言,也是一種跨平臺的程序設(shè)計(jì)語言[1]。因?yàn)镴ava跨平臺的特性,所以可以兼容企業(yè)和Internet,Java是目前Internet中最受歡迎、最有影響力的編程語言之一[2]。利用Java語言編寫的程序代碼在經(jīng)過編譯之后會轉(zhuǎn)換成Java字節(jié)碼,Java虛擬機(jī)(JVM)將會對這些字節(jié)碼進(jìn)行解釋和運(yùn)行[3]。編譯過后的字節(jié)碼將以機(jī)器碼的形式來保存,虛擬機(jī)可以把字節(jié)碼解釋成機(jī)器碼,最后在計(jì)算機(jī)上運(yùn)行。如圖2.1所示。圖2.1JAVA運(yùn)行過程MVC模式MVC是一種先進(jìn)的軟件開發(fā)的設(shè)計(jì)模式,它把應(yīng)用程序分成三個(gè)核心模塊,模型層(Model)、視圖層(View)、控制器(Controller),它們各自處理自己的任務(wù),相互協(xié)作,實(shí)現(xiàn)Web系統(tǒng)的職能分工[4]。另外,MVC模式通過簡化復(fù)雜性使程序的結(jié)構(gòu)更直觀,如圖2.2所示。圖2.2Java代碼的編譯以及運(yùn)行的過程SOA架構(gòu)設(shè)計(jì)SOA的服務(wù)的理念思想,本質(zhì)是一種業(yè)務(wù)和技術(shù)的完全分離,業(yè)務(wù)又能和技術(shù)自由的組合的思想。它達(dá)到了目前軟件設(shè)計(jì)思想的最高境界[6]。SOA架構(gòu)系統(tǒng)根據(jù)模塊分為幾個(gè)子系統(tǒng)。Spring概述Spring一個(gè)輕量級的Java開發(fā)開源框架。它的設(shè)計(jì)考慮到了開發(fā)業(yè)務(wù)應(yīng)用程序的復(fù)雜性,簡單來說,Spring是一個(gè)具有多個(gè)JavaSE/EE級別的多層開源框架。Mybatis概述MyBatis是持久性級別的絕佳框架。封裝了JDBC數(shù)據(jù)庫的工作流,因此開發(fā)人員僅需專注于SQL本身,而不必花費(fèi)精力進(jìn)行諸如注冊驅(qū)動程序,創(chuàng)建連接,創(chuàng)建語句和設(shè)置參數(shù)指南,JDBC復(fù)雜過程代碼作為結(jié)果集檢索的處理。SpringMvc概述SpringMVC是功能強(qiáng)大且靈活的SpringWeb框架。借助注釋,SpringMVC提供了幾乎是POJO的開發(fā)模型,并促進(jìn)了控制器的開發(fā)和測試。JavaWeb開發(fā)技術(shù)JavaWeb技術(shù)的廣泛使用,使得各種信息化系統(tǒng)越來越功能強(qiáng)大又便于用戶使用[9]。JavaWeb技術(shù)主要是指JSP/Servlet。本系統(tǒng)中使用Tomcat用作該系統(tǒng)上的Web服務(wù)器,本節(jié)介紹用于Web開發(fā)的客戶端技術(shù)。JSP技術(shù)JSP技術(shù)使用Java作為腳本語言來為用戶HTTP請求提供服務(wù),并且可以與服務(wù)器上的其他Java程序一起處理復(fù)雜的業(yè)務(wù)請求,另外JSP可以方便存取可重用組件JavaBean,避免了重復(fù)的勞動,提高了效率[12]。Servlet技術(shù)JavaServlet技術(shù)為WEB開發(fā)者提供了一種簡便、可靠的機(jī)制來擴(kuò)展web服務(wù)器的功能和訪問現(xiàn)有的事務(wù)系統(tǒng)[10]。Javascript技術(shù)盡管JavaScript被稱為網(wǎng)站開發(fā)的腳本語言,但是它在沒有瀏覽器的許多環(huán)境中也被使用。它的目的是與HTML、Javaapplet一起實(shí)現(xiàn)在一個(gè)WEB頁面中鏈接多個(gè)對象并能與客戶端動態(tài)交互。[5]CSS技術(shù)CSS可以精確地在像素級別上控制網(wǎng)頁上元素的布局,支持幾乎所有字體大小樣式,并可以編輯對象和Web模板的樣式。當(dāng)樣式需要應(yīng)用于很多頁面時(shí),外部樣式表將是理想的選擇。[7]AJAX技術(shù)Ajax可以創(chuàng)建交互式,快速和動態(tài)的Web應(yīng)用程序。通過與后臺服務(wù)器交換數(shù)據(jù),Ajax可以異步更新網(wǎng)站。在使用AJAX引擎后,用戶從感覺上幾乎所有的操作都會很快的響應(yīng)[11]。數(shù)據(jù)庫(Mysql)MySQL是數(shù)據(jù)庫的一種,MySQL是開源的,因此任何人都可以根據(jù)通用公共許可證下載并根據(jù)需要進(jìn)行修改以進(jìn)行自定義。許多人認(rèn)為MySQL是無需事務(wù)處理即可管理內(nèi)容的最佳選擇。由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點(diǎn),一般中小型網(wǎng)站的開發(fā)都選擇MySQL作為網(wǎng)站數(shù)據(jù)庫[8]。本章小結(jié)本章主要介紹了商城系統(tǒng)開發(fā)過程中使用的一些相關(guān)技術(shù)堆棧,包括Java相關(guān)技術(shù),后臺開發(fā)框架技術(shù)和模式,JavaWeb開發(fā)技術(shù)以及MySQL數(shù)據(jù)庫。背景技術(shù)和開發(fā)模型包括Spring技術(shù),Mybatis技術(shù),SpringMvc技術(shù),MVC模式和SOA體系結(jié)構(gòu)。JavaWeb使用JSP技術(shù),servlet技術(shù),CSS技術(shù),JavaScript技術(shù)和AJAX技術(shù)。這些技術(shù)被用來為項(xiàng)目的開發(fā)奠定基礎(chǔ)。
系統(tǒng)整體設(shè)計(jì)系統(tǒng)功能需求及設(shè)計(jì)本設(shè)計(jì)的系統(tǒng)架構(gòu)為后臺系統(tǒng)和前臺系統(tǒng)共同組成,前臺系統(tǒng)展示的內(nèi)容通過后臺系統(tǒng)添加,后臺的系統(tǒng)功能由管理員使用,前臺的系統(tǒng)功能給網(wǎng)站用戶使用。如下圖3-1、圖3-2所示。圖3-1后臺系統(tǒng)架構(gòu)圖3-2前臺系統(tǒng)架構(gòu)商品管理模塊商品添加在此商品添加功能下,前臺商城系統(tǒng)中商品詳情頁信息的規(guī)格參數(shù)模板都能夠被管理,做增加、查詢、修改、刪除規(guī)格參數(shù)模板操作,便于商品詳情頁信息的規(guī)格參數(shù)管理,都設(shè)置完成后可以在添加商品中選擇需要的參數(shù)。商品查詢添加商品后,是可以在商品查詢界面中進(jìn)行查詢已添加的商品。網(wǎng)站內(nèi)容管理模塊可以在后臺商城系統(tǒng)中,對前臺商城系統(tǒng)首頁中的類目信息、輪播內(nèi)容進(jìn)行管理,做增加、查詢信息操作。用戶模塊用戶注冊游客(未進(jìn)行登錄或注冊的買家用戶)可以瀏覽商品、搜索商品,商品購買的操作是不被允許的。買家用戶需先確認(rèn)注冊的信息,確認(rèn)用戶姓名和電子郵件格式是否有效后,再由系統(tǒng)確認(rèn)用戶的用戶名是否已存在,步驟都完成后即可注冊成功。用戶登錄注冊完成后,接下來的操作是輸入注冊成功的用戶信息來登錄商城系統(tǒng),系統(tǒng)根據(jù)輸入的登錄信息驗(yàn)證通過后,即登錄成功,買家用戶可以使用商品購買、添加購物車等功能操作。商品模塊商品搜索在前臺商城系統(tǒng)的首頁里的商品搜索的輸入框中,用戶在輸入框內(nèi)輸入與所要搜索的商品信息相關(guān)的關(guān)鍵字,系統(tǒng)通過集成的Solr搜索引擎,查詢搜索到買家用戶搜索的商品且展示。商品瀏覽在前臺商城系統(tǒng)首頁向登錄商城系統(tǒng)的用戶顯示了商品各式各樣信息,買家用戶進(jìn)入系統(tǒng)首頁后,點(diǎn)擊某一個(gè)商品分類,就可以瀏覽到點(diǎn)擊的分類下的全部商品信息。買家用戶還可以通過搜索來瀏覽所搜索的商品信息。商品信息展示查看商品信息時(shí),買家用戶是可以在點(diǎn)擊中意的商品,此時(shí),系統(tǒng)會根據(jù)買家用戶點(diǎn)擊的連接,跳轉(zhuǎn)到具體的商品信息的WEB頁面。在具體的商品信息WEB頁面中,商品的具體信息是可以被查看的,比如商品外觀的介紹,商品具體的參數(shù),商品數(shù)量,買家用戶通過查看商品相信信息了解商品,決定是否購買該商品。商品購買在商品信息詳情頁面,買家用戶可以通過點(diǎn)擊“加入購物車”,加入到購物車后,在購物車頁面進(jìn)行購買該商品。購物車模塊加入購物車商品詳情頁中,加入購物車的功能是包含在其中的,點(diǎn)擊加入購物車功能按鈕,被用戶點(diǎn)擊的商品將加入到購物車中。在購物車的商品信息都會被存入數(shù)據(jù)庫中,買家用戶可以通過點(diǎn)擊“購物車”小圖標(biāo),查看購物車中的所有商品的信息。我的購物車購物車的意思是買家用戶的商品添加到購物車清單的列表,點(diǎn)擊“購物車”小圖標(biāo),在“購物車”WEB頁面中,買家用戶可做CRUD的操作。結(jié)算結(jié)算操作的對象是成功添加到購物車的商品。提交訂單點(diǎn)擊訂單按鈕后,即可講選中的商品信息提交到后臺處理返回訂單信息。數(shù)據(jù)庫設(shè)計(jì)數(shù)據(jù)庫概念模型設(shè)計(jì)概念數(shù)據(jù)庫的設(shè)計(jì),實(shí)際上是為了面向?qū)ο蠛蛿?shù)據(jù)庫相結(jié)合,更容易分析數(shù)據(jù)庫系統(tǒng),促進(jìn)數(shù)據(jù)庫設(shè)計(jì)者和用戶之間的通信。概念包括實(shí)體并聯(lián)系。在該購買系統(tǒng)中,商品例如是其屬性包括商品ID的實(shí)體。商品的標(biāo)題,內(nèi)容描述和其他屬性。實(shí)體之間有一對一,一對多兩種種類型的關(guān)聯(lián)。以下的實(shí)體E-R圖是該系統(tǒng)主要的實(shí)體。(1)商城購物系統(tǒng)的“買家”實(shí)體的屬性有“買家”ID,“買家”名,“買家”密碼,“買家”手機(jī),“買家”郵箱,“買家”類型,“買家”創(chuàng)建時(shí)間,“買家”更新時(shí)間。如下圖3-3所示。圖3-3用戶實(shí)體的E-R圖(2)商城系統(tǒng)前臺網(wǎng)站內(nèi)容實(shí)體的屬性有內(nèi)容ID,前臺網(wǎng)站內(nèi)容目錄ID,標(biāo)題,小標(biāo)題,標(biāo)題描述,存儲路徑,圖片1地址,圖片2地址,內(nèi)容,前臺網(wǎng)站內(nèi)容創(chuàng)建時(shí)間,前臺網(wǎng)站內(nèi)容更新時(shí)間。前臺網(wǎng)站內(nèi)容實(shí)體的E-R圖如下圖3-4所示圖3-4前臺網(wǎng)站內(nèi)容實(shí)體的E-R圖(3)商城系統(tǒng)前臺網(wǎng)站內(nèi)容目錄實(shí)體的屬性有前臺網(wǎng)站內(nèi)容目錄ID,父目錄ID,前臺網(wǎng)站內(nèi)容目錄名稱,狀態(tài),排序方式,是否是父級目錄,前臺網(wǎng)站內(nèi)容目錄創(chuàng)建時(shí)間,前臺網(wǎng)站內(nèi)容目錄更新時(shí)間。如下圖3-5所示圖3-5前臺網(wǎng)站內(nèi)容目錄實(shí)體的E-R圖數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計(jì)在網(wǎng)站購物系統(tǒng)中,實(shí)體的關(guān)系模式主要有以下內(nèi)容:前臺網(wǎng)站內(nèi)容:內(nèi)容ID,前臺網(wǎng)站內(nèi)容目錄ID,標(biāo)題,小標(biāo)題,標(biāo)題描述,存儲路徑,圖片1地址,圖片2地址,內(nèi)容,前臺網(wǎng)站內(nèi)容創(chuàng)建時(shí)間,前臺網(wǎng)站內(nèi)容更新時(shí)間。前臺網(wǎng)站內(nèi)容目錄:前臺網(wǎng)站內(nèi)容目錄ID,父目錄ID,前臺網(wǎng)站內(nèi)容目錄名稱,狀態(tài),排序方式,是否是父級目錄,前臺網(wǎng)站內(nèi)容目錄創(chuàng)建時(shí)間,前臺網(wǎng)站內(nèi)容目錄更新時(shí)間。商品信息:ID,標(biāo)題,賣點(diǎn),價(jià)格,數(shù)量,條形碼,圖片地址,所屬目錄,狀態(tài),創(chuàng)建時(shí)間,更新時(shí)間。商品目錄:商品目錄ID,父目錄ID,目錄名稱,狀態(tài),排序方式,是否是父級目錄,商品目錄創(chuàng)建時(shí)間,商品目錄更新時(shí)間。商品詳情:商品主鍵ID,商品詳情,商品詳情創(chuàng)建時(shí)間,商品詳情更新時(shí)間。商品參數(shù):商品參數(shù)ID,商品ID,商品參數(shù)數(shù)據(jù),商品參數(shù)創(chuàng)建時(shí)間,商品參數(shù)更新時(shí)間。訂單:ID,昵稱,買家用戶ID,訂單總費(fèi)用,訂單創(chuàng)建時(shí)間,訂單關(guān)閉時(shí)間。訂單詳情:ID,商品主鍵,數(shù)量,標(biāo)題,單價(jià),總費(fèi)用,圖片路徑?!百I家”表:“買家”ID,“買家”名,“買家”密碼,“買家”手機(jī),“買家”郵箱,“買家”創(chuàng)建時(shí)間,“買家”更新時(shí)間。數(shù)據(jù)庫物理設(shè)計(jì)在數(shù)據(jù)庫當(dāng)中,系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)的一個(gè)重要部分是數(shù)據(jù)表。如下是該網(wǎng)站商城系統(tǒng)中數(shù)據(jù)庫中幾個(gè)重要的數(shù)據(jù)表設(shè)計(jì)的結(jié)構(gòu)。前臺網(wǎng)站內(nèi)容表為系統(tǒng)網(wǎng)站內(nèi)容動態(tài)信息的數(shù)據(jù)庫表,用于存儲系統(tǒng)前臺網(wǎng)站頁面信息。如下表3-1所示。表3-1前臺網(wǎng)站內(nèi)容表字段名稱字段類型字段長度是否可為空默認(rèn)值字段描述idbigint(20)20NO空主鍵IDcat_idbigint(20)20NO空目錄IDbiaotivarchar(200)200YES空標(biāo)題sub_biaotivarchar(100)100YES空副標(biāo)題biaoti_descvarchar(500)500YES空標(biāo)題描述urlvarchar(500)500YES空地址tu_pianvarchar(300)300YES空圖1tu_pian2varchar(300)300YES空圖2nei_rongtext一YES空內(nèi)容crt_datedatetime一YES空創(chuàng)建時(shí)間upd_datedatetime一YES空更新時(shí)間商品信息表為系統(tǒng)網(wǎng)站商品信息的數(shù)據(jù)庫表,用于存儲商品信息。如下表3-2所示。表3-2商品信息表字段名稱字段類型字段長度是否可為空默認(rèn)值字段描述idbigint(20)20NO空主鍵IDbiaotivarchar(100)100NO空商品標(biāo)題sell_pointvarchar(500)500YES空商品賣點(diǎn)jia_gebigint(20)20NO空商品價(jià)格numint(10)10NO空商品數(shù)量tiao_mavarchar(30)30YES空商品條形碼tu_pianvarchar(500)500YES空商品圖片cidbigint(10)10NO空商品目錄IDzhuang_taitinyint(4)4NO1商品是否在銷售crt_datedatetime一NO空商品創(chuàng)建時(shí)間upd_datedatetime一NO空商品更新時(shí)間訂單表為系統(tǒng)網(wǎng)站用戶下的訂單信息數(shù)據(jù)庫表,用于存儲系統(tǒng)訂單的信息。如下表3-3所示。表3-3訂單表字段名稱字段類型字段長度是否可為空默認(rèn)值字段描述idbigint(20)20NO空訂單主鍵IDbuyer_nickvarchar(50)50NO空昵稱buyer_idbigint(20)20NO空買家用戶IDtotal_feebigint(50)50NO空訂單總費(fèi)用crt_date_timedatetime一NO空訂單創(chuàng)建時(shí)間closed_timedatetime一YES空訂單關(guān)閉時(shí)間系統(tǒng)界面設(shè)計(jì)系統(tǒng)頁面使用JSP提供的標(biāo)簽庫以及JavaScript,jQuery和CSS技術(shù)設(shè)計(jì)。JSP頁面包含主要用于轉(zhuǎn)換階段的說明元素和腳本元素提供有關(guān)JSP頁面和腳本元素的信息,這些頁面和腳本元素允許JSP分離靜態(tài)和動態(tài)內(nèi)容分離出來。使用JSP標(biāo)簽庫和CSS技術(shù)來設(shè)計(jì)頁面,JavaScript和jQuery技術(shù)提供的Web樣式為網(wǎng)站添加動態(tài)功能,使設(shè)計(jì)的網(wǎng)站不僅具有出色的樣式,而且還適合于后臺系統(tǒng)數(shù)據(jù)交互。本章小結(jié)本章主要介紹該商城系統(tǒng)的系統(tǒng)功能需求、系統(tǒng)功能設(shè)計(jì)、數(shù)據(jù)庫設(shè)計(jì)、系統(tǒng)界面設(shè)計(jì),通過文字、表格、圖片詳細(xì)描述了各部分的設(shè)計(jì)內(nèi)容。
系統(tǒng)實(shí)現(xiàn)系統(tǒng)框架實(shí)現(xiàn)該系統(tǒng)集成了Mybatis框架來對JDBC操作進(jìn)行了封裝,方便了對數(shù)據(jù)庫進(jìn)行操作。在perties中配置了數(shù)據(jù)庫連接信息,如圖4-1所示。在applicationContext-dao.xml中配置了Spring框架整合Mybatis配置信息,如圖4-2所示。圖4-1數(shù)據(jù)庫連接信息圖4-2Mybatis配置信息該系統(tǒng)集成了springmvc框架來對視圖層進(jìn)行了渲染。在springmvc.xml配置了視圖層配置相關(guān)信息,如下圖4-3所示。圖4-3springmvc配置信息網(wǎng)站商品管理模塊實(shí)現(xiàn)網(wǎng)站商品管理模塊主要有新增商品、查詢商品功能。用戶在模塊中新增所需要的商品。新增后可在商品列表中,查詢商品的信息。商品添加在界面上填寫完表單后,通過AJAX的POST請求,把前臺界面的商品內(nèi)容信息提交到后臺,在后臺中實(shí)現(xiàn)邏輯保存邏輯,并把提交的信息保存在數(shù)據(jù)庫中。如下圖4-4所示。圖4-4新增商品內(nèi)容填寫界面邏輯代碼如下:spMapper.insert(tbSp);spDescMapper.insert(tbSpDesc);spParamSpMapper.insert(tbSpParamSp);商品查詢添加商品成功后,可在列表中查詢到商品的相關(guān)信息,列表中使用了mybatis的分頁插件,用戶可根據(jù)自己的需要選擇每頁顯示多少條信息。如圖4-5所示。圖4-5商品查詢界面后臺邏輯代碼如下:PgHelper.startPg(pg,rows);TbSpExampleexample=newTbSpExample();List<TbSp>ls=spMapper.selectByExample(example);PgInfo<TbSp>pgInfo=newPgInfo<>(ls);網(wǎng)站內(nèi)容管理模塊實(shí)現(xiàn)可在網(wǎng)站內(nèi)容管理界面,對商城首頁的模塊內(nèi)容進(jìn)行新增、查詢。在模塊中添加相應(yīng)的內(nèi)容,添加成功后,即可在商城系統(tǒng)的前臺首頁中展示添加的內(nèi)容。首頁內(nèi)容新增在首頁內(nèi)容管理界面中,可通過選擇內(nèi)容管理的模塊,后點(diǎn)擊新增按鈕新增內(nèi)容。如圖4-6所示。圖4-6首頁內(nèi)容新增界面后臺代碼如下所示:nr.setUpdated(newDate());nr.setCreated(newDate());nrMapper.insert(nr);首頁內(nèi)容查詢成功添加首頁內(nèi)容后,可在分類列表的查詢界面中,查看添加的首頁內(nèi)容信息。如圖4-7所示。圖4-7首頁內(nèi)容查詢界面后臺代碼如下所示:if(ls!=null&&ls.size()>0){ EasyUiDataGridRsrs=newEasyUiDataGridRs(); rs.setRows(ls); rs.setTotal(pgInfo.getTotal()); returnrs; }用戶模塊實(shí)現(xiàn)用戶進(jìn)入商場系統(tǒng)前臺首頁后,可通過點(diǎn)擊按鈕進(jìn)行登錄或注冊操作。用戶注冊成功后,可在登錄頁面填寫用戶信息,即可成功登錄到網(wǎng)站的前臺首頁中。用戶注冊用戶點(diǎn)擊注冊功能按鈕時(shí),跳轉(zhuǎn)到注冊界面,填寫完注冊的信息后,通過ajax請求,將用戶填寫的注冊信息提交到后臺,保存到數(shù)據(jù)庫中。如圖4-8所示。圖4-8用戶注冊界面后端代碼如下:YHyh=newYH(Json.format(json));yhMapper.insert(yh);用戶登錄用戶注冊完成后,可通過注冊成功后的頁面跳轉(zhuǎn)或者在系統(tǒng)前臺點(diǎn)擊登錄按鈕,進(jìn)入用戶登錄界面進(jìn)行登錄。如圖4-9用戶登錄界面所示。圖4-9用戶登錄界面前端代碼如下:$.post("/user/login",$("#formlogin").serialize(),function(res){if(res.status==200){alert("登錄成功!");if(rrUrl==""){location.href="http://localhost:8082/";}else{location.href=redirectUrl;}}else{alert("登錄失敗,原因是:"+res.msg);$("#logn").select();}});商品模塊實(shí)現(xiàn)商品模塊,可在商城前臺界面中通過商品的信息進(jìn)行搜索、瀏覽、展示。網(wǎng)站用戶可在前臺界面通過以上三種方式,查看商品的相關(guān)信息。商品搜索在商城前臺界面中,輸入商品的信息,后臺系統(tǒng)會根據(jù)輸入的信息,根據(jù)關(guān)鍵字的權(quán)重進(jìn)行搜索。如圖4-10所示。圖4-10商品搜索界面后臺代碼如下: SolrQryqry=newSolrQry(); qry.setQry(qryString); qry.setStart((pg-1)*rows); qry.setRows(rows); qry.set("df","sp_title"); qry.setHighlight(true); qry.addHighlightField("sp_title"); qry.setHighlightSimplePre("<fontclass=\"skcolor_1jg\">"); qry.setHighlightSimplePost("</font>"); SearchRssearchRs=searchDao.search(qry);商品瀏覽用戶搜索點(diǎn)擊搜索按鈕后,系統(tǒng)根據(jù)用戶提交的信息找出相關(guān)的商品信息,用戶可瀏覽。如圖4-11所示。圖4-11商品瀏覽界面后臺邏輯代碼如下: Map<String,String>pm=newHashMap<>(); pm.put("keyword",keyword); pm.put("pg",pg+""); pm.put("rows",rows+""); Stringjson=HCUtil.doGet(SEARCH_BASE_URL,pm); RepRsrepRs=RepRs.formatToPojo(json,SearchRs.class);商品信息展示用戶在瀏覽商品的過程中,可點(diǎn)擊某一商品,進(jìn)入到商品詳情界面,查看該商品的詳細(xì)信息。如圖4-12所示。圖4-12商品信息展示界面后臺邏輯代碼如下: Stringjson=HCUtil.doGet(REST_BASE_URL+REST_SP_BASE_URL+spId); RepRsrepRs=RepRs.formatToPojo(json,PortalSp.class); TbSpsp=(TbSp)repRs.getData(); returnsp;購物車模塊實(shí)現(xiàn)用戶在查看選中的商品詳細(xì)信息時(shí),可在頁面中通過加入購物車按鈕,把該商品添加到購物車中,用戶還可以在我的購物車中查看已添加到購物車的商品列表,并可點(diǎn)擊去結(jié)算、提交訂單按鈕,對購物車的商品進(jìn)行支付結(jié)算。加入購物車在商品詳情頁面,點(diǎn)擊加入購物車按鈕,即可把商品添加到購物車中。后臺邏輯代碼如下: TbSptbSp=spService.getSpById(spId); GwcDatagwcData=newGwcData(); gwcData.setId(spId); gwcData.setNum(num); gwcData.setPrice(tbSp.getPrice()); gwcData.setTitle(tbSp.getTitle()); if(StringUtils.isNotBlank(tbSp.getImage())){ Stringimage=tbSp.getImage(); String[]strings=image.split(","); gwcData.setImage(strings[0]); } spLs.add(gwcData);我的購物車在我的購物車中,用戶可查看添加到購物車的商品。如下圖4-13所示。圖4-13我的購物車界面后臺代碼邏輯如下: Stringjson=CookieUtils.getCookieValue(request,"TT_CART",true); List<GwcData>ls=JsonUtils.jsonToLs(json,GwcData.class); returnls==null?newArrayLs<GwcData>():ls;購物車結(jié)算對購物車中選中的商品,點(diǎn)擊去結(jié)算按鈕,頁面跳轉(zhuǎn)到結(jié)算界面。如圖4-14所示。圖4-14購物車結(jié)算界面提交訂單用戶確認(rèn)購物車訂單無誤后,可點(diǎn)擊提交訂單,即可下單成功。如圖4-15所示。圖4-15提交訂單成功界面后臺代碼邏輯如下: Stringjson=JsonUtils.objectToJson(orderInfo); StringjsonRs=HCUtil.doPostJson(ORDER_BASE_URL+ORDER_CREATE_URL,json); RepRsrepRs=RepRs.format(jsonRs); StringorderId=repRs.getData().toString(); returnorderId;本章小結(jié)本章對網(wǎng)上商城購物系統(tǒng)的網(wǎng)站商品管理模塊、網(wǎng)站內(nèi)容管理模塊、用戶模塊、商品模塊、購物車模塊中幾個(gè)主要的功能,做了詳細(xì)的描述,通過系統(tǒng)實(shí)現(xiàn)代碼和系統(tǒng)效果圖,展示了網(wǎng)上商城購物系統(tǒng)的實(shí)現(xiàn)流程。
系統(tǒng)測試對系統(tǒng)進(jìn)行編程后,需要完成系統(tǒng)軟件測試環(huán)節(jié)。系統(tǒng)軟件測試不僅是測試功能,程序本身,還有頁面等方面。測試和開發(fā)是非常技術(shù)性的工作。使用的測試方法類型,用于測試的案例數(shù)等,都會影響軟件質(zhì)量。界面測試界面測試(簡稱UI測試),測試用戶界面的功能模塊的布局是否合理、整體風(fēng)格是否一致、各個(gè)控件的放置位置是否符合客戶使用習(xí)慣,此外還要測試界面操作便捷性、導(dǎo)航簡單易懂性,頁面元素的可用性,界面中文字是否正確,命名是否統(tǒng)一,頁面是否美觀,文字、圖片組合是否完美等。功能測試功能測試,是對系統(tǒng)實(shí)現(xiàn)的功能進(jìn)行測試用例測試。以注冊功能為例子,如表5-1所示,系統(tǒng)彈窗提示如圖5-1所示。表5-1測試用例用例編號用例名稱測試背景前置條件測試環(huán)境測試類型測試階段測試步驟預(yù)期結(jié)果實(shí)際結(jié)果1正常注冊測試注冊功能已完善,滿足客戶要求輸入的用戶名未注冊Chrome瀏覽器手工測試系統(tǒng)測試1、進(jìn)入系統(tǒng)注冊頁面
2、輸入未注冊的用戶名
3、輸入的兩次密碼一致
4、輸入手機(jī)號
5、點(diǎn)擊立即注冊按鈕系統(tǒng)跳轉(zhuǎn)到登錄界面系統(tǒng)跳轉(zhuǎn)到登錄界面2輸入不規(guī)范的用戶名測試注冊功能已完善,滿足客戶要求輸入的用戶名已注冊Chrome瀏覽器手工測試系統(tǒng)測試1、進(jìn)入系統(tǒng)注冊頁面
2、點(diǎn)擊立即注冊按鈕系統(tǒng)彈出提示框,“用戶名已存在”系統(tǒng)彈出提示框,“用戶名已存在”3輸入不規(guī)范的用戶名測試注冊功能已完善,滿足客戶要求Chrome瀏覽器手工測試系統(tǒng)測試1、進(jìn)入系統(tǒng)注冊頁面
2、點(diǎn)擊立即注冊按鈕系統(tǒng)彈出提示框,“用戶名不能為空”系統(tǒng)彈出提示框,“用戶名不能為空”4輸入不規(guī)范的密碼測試注冊功能已完善,滿足客戶要求輸入的用戶名未注冊Chrome瀏覽器手工測試系統(tǒng)測試1、進(jìn)入系統(tǒng)注冊頁面
2、輸入用戶名
2、點(diǎn)擊立即注冊按鈕系統(tǒng)彈出提示框,“密碼不能為空”系統(tǒng)彈出提示框,“密碼不能為空”5輸入兩次不同的密碼測試注冊功能已完善,滿足客戶要求輸入的用戶名未注冊Chrome瀏覽器手工測試系統(tǒng)測試1、進(jìn)入系統(tǒng)注冊頁面
2、輸入用戶名
3、輸入密碼
4、再次輸入與第一次輸入的不同密碼
5、點(diǎn)擊立即注冊按鈕系統(tǒng)彈出提示框,“確認(rèn)密碼和密碼不一致,請重新輸入!”系統(tǒng)彈出提示框,“確認(rèn)密碼和密碼不一致,請重新輸入!”6輸入不規(guī)范的手機(jī)號測試注冊功能已完善,滿足客戶要求輸入的用戶名未注冊Chrome瀏覽器手工測試系統(tǒng)測試1、進(jìn)入系統(tǒng)注冊頁面
2、輸入用戶名
3、輸入密碼
4、再次輸入與第一次輸入的相同密碼
5、點(diǎn)擊立即注冊按鈕系統(tǒng)彈出提示框,“手機(jī)號不能為空”系統(tǒng)彈出提示框,“手機(jī)號不能為空”圖5-1測試用例系統(tǒng)彈窗效果本章小結(jié)本章通過系統(tǒng)的測試方法、測試用例,來說明網(wǎng)上商城系統(tǒng)的測試。
總結(jié)與展望網(wǎng)絡(luò)購物成為人們生活中不可或缺的一部分,電子商務(wù)的地位也愈發(fā)重要。本文針對網(wǎng)上商城購物系統(tǒng)的技術(shù)特點(diǎn)及系統(tǒng)用戶的功能需求,基于微服務(wù)SOA架構(gòu)、MVC項(xiàng)目思想、JAVA語言、前端頁面技術(shù)、及相關(guān)技術(shù)框架,最終實(shí)現(xiàn)了網(wǎng)上購物商城購物系統(tǒng)。網(wǎng)上商城系統(tǒng)后臺利用了Mybatis和springmvc框架,使用了Mysql數(shù)據(jù)庫,對系統(tǒng)后臺的搭建,前
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 并購重組的思路與策略分析報(bào)告
- 中國石油天然氣有限公司介紹
- 中國航空集團(tuán)有限公司介紹
- 一年級期末家長會
- 人教版七年級歷史與社會下冊5.3.2-東部和西部差異顯著說課稿
- 家具鋼材知識培訓(xùn)課件
- 城鄉(xiāng)醫(yī)療保障的統(tǒng)籌發(fā)展研究-理論、實(shí)證與對策
- 2025年高中禁毒教育第三課 禁毒法律 課件 (共46張)
- 第十七章 勾股定理 評估測試卷(含答案)2024-2025學(xué)年數(shù)學(xué)人教版八年級下冊
- 毒品基礎(chǔ)知識培訓(xùn)課件
- 2024年WPS計(jì)算機(jī)二級考試題庫350題(含答案)
- 2024年5G網(wǎng)絡(luò)覆蓋工程分包合同
- 2025屆北京市海淀區(qū)交大附中高一物理第一學(xué)期期末復(fù)習(xí)檢測試題含解析
- 護(hù)理員技能培訓(xùn)課件
- 煤礦防治水細(xì)則解讀
- 四川新農(nóng)村建設(shè)農(nóng)房設(shè)計(jì)方案圖集川東北部分
- 2023智能座艙白皮書-聚焦電動化下半場-畢馬威
- 福建省福州市九師教學(xué)聯(lián)盟2023-2024學(xué)年高一上學(xué)期期末學(xué)業(yè)聯(lián)考化學(xué)試題(解析版)
- 植物病蟲害防治技能大賽理論題及答案
- 2024-2025學(xué)年六年級科學(xué)上冊第二單元《地球的運(yùn)動》測試卷(教科版)
- 福建省廈門市2023-2024學(xué)年高二上學(xué)期期末考試語文試題(原卷版)
評論
0/150
提交評論