計算機科學與技術(shù)-基于JAVA的(京東)電商系統(tǒng)設(shè)計與實現(xiàn)_第1頁
計算機科學與技術(shù)-基于JAVA的(京東)電商系統(tǒng)設(shè)計與實現(xiàn)_第2頁
計算機科學與技術(shù)-基于JAVA的(京東)電商系統(tǒng)設(shè)計與實現(xiàn)_第3頁
計算機科學與技術(shù)-基于JAVA的(京東)電商系統(tǒng)設(shè)計與實現(xiàn)_第4頁
計算機科學與技術(shù)-基于JAVA的(京東)電商系統(tǒng)設(shè)計與實現(xiàn)_第5頁
已閱讀5頁,還剩29頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

基于Java的京東電商系統(tǒng)的設(shè)計與實現(xiàn)摘要:近十多年來,因為移動互聯(lián)網(wǎng)發(fā)展迅猛,除了通常的查閱網(wǎng)頁,搜索數(shù)據(jù)和發(fā)送電子郵件外,大多數(shù)國內(nèi)網(wǎng)民還將采用以下傳統(tǒng)功能,如購物,電信,旅游和娛樂我逐漸習慣了互聯(lián)網(wǎng)。包括使用在線購物在內(nèi)的新服務模式正在成為人們生活中一種重要的購物形式?;ヂ?lián)網(wǎng)的發(fā)展迅猛,是網(wǎng)上購物系統(tǒng)發(fā)展的基礎(chǔ)。除此之外,網(wǎng)絡購物營商環(huán)境也在逐漸的在改善。移動互聯(lián)網(wǎng)設(shè)備(手機,平板電腦)使互聯(lián)網(wǎng)用戶越來越多。付款和結(jié)算方式變得更加容易,快遞物流變得越來越順暢,相應的法規(guī)和政策也越來越完善。近10年來,網(wǎng)絡購物對人們越來越有吸引力。從一開始的,人們不理解人們對在線購物的看法,從問題到逐漸信任,從拒絕到逐漸接受和熟絡。關(guān)鍵詞:Java,網(wǎng)絡購物

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月止,電子商務直接雇員(包括電子商務平臺,初創(chuàng)公司,服務提供商,電子商務經(jīng)銷商等)人數(shù)已經(jīng)不止350萬,號碼(物流,市場營銷,培訓,直播等)已不止3000萬。因此世界各國政府也采取了積極促進電子商務產(chǎn)業(yè)發(fā)展的政策,從而提供了大量的就業(yè)機會和平臺。因為電子商務行業(yè)的發(fā)展,經(jīng)濟地位也在逐漸升高,在這種情況下,本文設(shè)計并開發(fā)了一個在線在線購物系統(tǒng)。系統(tǒng)特點基于Java流行開源技術(shù)構(gòu)建:使用業(yè)界流行的開源技術(shù)搭建,框架本身也完全開源,做到真正的技術(shù)開發(fā)?;赟OA架構(gòu)設(shè)計:以SOA架構(gòu)風格構(gòu)建,具有清晰的模塊界限、服務獨立部署和技術(shù)多樣性的能力特點。滿足Web和分布式應用開發(fā):框架以適應經(jīng)典的的MVC架構(gòu)和分布式大型應用開發(fā)為設(shè)計目標,兩種風格的開發(fā)和部署無縫切換。

項目開發(fā)相關(guān)技術(shù)基礎(chǔ)Java語言Java是由Sun公司推出的一種高級的面向?qū)ο蟮某绦蛟O(shè)計語言,也是一種跨平臺的程序設(shè)計語言[1]。因為Java跨平臺的特性,所以可以兼容企業(yè)和Internet,Java是目前Internet中最受歡迎、最有影響力的編程語言之一[2]。利用Java語言編寫的程序代碼在經(jīng)過編譯之后會轉(zhuǎn)換成Java字節(jié)碼,Java虛擬機(JVM)將會對這些字節(jié)碼進行解釋和運行[3]。編譯過后的字節(jié)碼將以機器碼的形式來保存,虛擬機可以把字節(jié)碼解釋成機器碼,最后在計算機上運行。如圖2.1所示。圖2.1JAVA運行過程MVC模式MVC是一種先進的軟件開發(fā)的設(shè)計模式,它把應用程序分成三個核心模塊,模型層(Model)、視圖層(View)、控制器(Controller),它們各自處理自己的任務,相互協(xié)作,實現(xiàn)Web系統(tǒng)的職能分工[4]。另外,MVC模式通過簡化復雜性使程序的結(jié)構(gòu)更直觀,如圖2.2所示。圖2.2Java代碼的編譯以及運行的過程SOA架構(gòu)設(shè)計SOA的服務的理念思想,本質(zhì)是一種業(yè)務和技術(shù)的完全分離,業(yè)務又能和技術(shù)自由的組合的思想。它達到了目前軟件設(shè)計思想的最高境界[6]。SOA架構(gòu)系統(tǒng)根據(jù)模塊分為幾個子系統(tǒng)。Spring概述Spring一個輕量級的Java開發(fā)開源框架。它的設(shè)計考慮到了開發(fā)業(yè)務應用程序的復雜性,簡單來說,Spring是一個具有多個JavaSE/EE級別的多層開源框架。Mybatis概述MyBatis是持久性級別的絕佳框架。封裝了JDBC數(shù)據(jù)庫的工作流,因此開發(fā)人員僅需專注于SQL本身,而不必花費精力進行諸如注冊驅(qū)動程序,創(chuàng)建連接,創(chuàng)建語句和設(shè)置參數(shù)指南,JDBC復雜過程代碼作為結(jié)果集檢索的處理。SpringMvc概述SpringMVC是功能強大且靈活的SpringWeb框架。借助注釋,SpringMVC提供了幾乎是POJO的開發(fā)模型,并促進了控制器的開發(fā)和測試。JavaWeb開發(fā)技術(shù)JavaWeb技術(shù)的廣泛使用,使得各種信息化系統(tǒng)越來越功能強大又便于用戶使用[9]。JavaWeb技術(shù)主要是指JSP/Servlet。本系統(tǒng)中使用Tomcat用作該系統(tǒng)上的Web服務器,本節(jié)介紹用于Web開發(fā)的客戶端技術(shù)。JSP技術(shù)JSP技術(shù)使用Java作為腳本語言來為用戶HTTP請求提供服務,并且可以與服務器上的其他Java程序一起處理復雜的業(yè)務請求,另外JSP可以方便存取可重用組件JavaBean,避免了重復的勞動,提高了效率[12]。Servlet技術(shù)JavaServlet技術(shù)為WEB開發(fā)者提供了一種簡便、可靠的機制來擴展web服務器的功能和訪問現(xiàn)有的事務系統(tǒng)[10]。Javascript技術(shù)盡管JavaScript被稱為網(wǎng)站開發(fā)的腳本語言,但是它在沒有瀏覽器的許多環(huán)境中也被使用。它的目的是與HTML、Javaapplet一起實現(xiàn)在一個WEB頁面中鏈接多個對象并能與客戶端動態(tài)交互。[5]CSS技術(shù)CSS可以精確地在像素級別上控制網(wǎng)頁上元素的布局,支持幾乎所有字體大小樣式,并可以編輯對象和Web模板的樣式。當樣式需要應用于很多頁面時,外部樣式表將是理想的選擇。[7]AJAX技術(shù)Ajax可以創(chuàng)建交互式,快速和動態(tài)的Web應用程序。通過與后臺服務器交換數(shù)據(jù),Ajax可以異步更新網(wǎng)站。在使用AJAX引擎后,用戶從感覺上幾乎所有的操作都會很快的響應[11]。數(shù)據(jù)庫(Mysql)MySQL是數(shù)據(jù)庫的一種,MySQL是開源的,因此任何人都可以根據(jù)通用公共許可證下載并根據(jù)需要進行修改以進行自定義。許多人認為MySQL是無需事務處理即可管理內(nèi)容的最佳選擇。由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,一般中小型網(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ù)被用來為項目的開發(fā)奠定基礎(chǔ)。

系統(tǒng)整體設(shè)計系統(tǒng)功能需求及設(shè)計本設(shè)計的系統(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ù)。商品查詢添加商品后,是可以在商品查詢界面中進行查詢已添加的商品。網(wǎng)站內(nèi)容管理模塊可以在后臺商城系統(tǒng)中,對前臺商城系統(tǒng)首頁中的類目信息、輪播內(nèi)容進行管理,做增加、查詢信息操作。用戶模塊用戶注冊游客(未進行登錄或注冊的買家用戶)可以瀏覽商品、搜索商品,商品購買的操作是不被允許的。買家用戶需先確認注冊的信息,確認用戶姓名和電子郵件格式是否有效后,再由系統(tǒng)確認用戶的用戶名是否已存在,步驟都完成后即可注冊成功。用戶登錄注冊完成后,接下來的操作是輸入注冊成功的用戶信息來登錄商城系統(tǒng),系統(tǒng)根據(jù)輸入的登錄信息驗證通過后,即登錄成功,買家用戶可以使用商品購買、添加購物車等功能操作。商品模塊商品搜索在前臺商城系統(tǒng)的首頁里的商品搜索的輸入框中,用戶在輸入框內(nèi)輸入與所要搜索的商品信息相關(guān)的關(guān)鍵字,系統(tǒng)通過集成的Solr搜索引擎,查詢搜索到買家用戶搜索的商品且展示。商品瀏覽在前臺商城系統(tǒng)首頁向登錄商城系統(tǒng)的用戶顯示了商品各式各樣信息,買家用戶進入系統(tǒng)首頁后,點擊某一個商品分類,就可以瀏覽到點擊的分類下的全部商品信息。買家用戶還可以通過搜索來瀏覽所搜索的商品信息。商品信息展示查看商品信息時,買家用戶是可以在點擊中意的商品,此時,系統(tǒng)會根據(jù)買家用戶點擊的連接,跳轉(zhuǎn)到具體的商品信息的WEB頁面。在具體的商品信息WEB頁面中,商品的具體信息是可以被查看的,比如商品外觀的介紹,商品具體的參數(shù),商品數(shù)量,買家用戶通過查看商品相信信息了解商品,決定是否購買該商品。商品購買在商品信息詳情頁面,買家用戶可以通過點擊“加入購物車”,加入到購物車后,在購物車頁面進行購買該商品。購物車模塊加入購物車商品詳情頁中,加入購物車的功能是包含在其中的,點擊加入購物車功能按鈕,被用戶點擊的商品將加入到購物車中。在購物車的商品信息都會被存入數(shù)據(jù)庫中,買家用戶可以通過點擊“購物車”小圖標,查看購物車中的所有商品的信息。我的購物車購物車的意思是買家用戶的商品添加到購物車清單的列表,點擊“購物車”小圖標,在“購物車”WEB頁面中,買家用戶可做CRUD的操作。結(jié)算結(jié)算操作的對象是成功添加到購物車的商品。提交訂單點擊訂單按鈕后,即可講選中的商品信息提交到后臺處理返回訂單信息。數(shù)據(jù)庫設(shè)計數(shù)據(jù)庫概念模型設(shè)計概念數(shù)據(jù)庫的設(shè)計,實際上是為了面向?qū)ο蠛蛿?shù)據(jù)庫相結(jié)合,更容易分析數(shù)據(jù)庫系統(tǒng),促進數(shù)據(jù)庫設(shè)計者和用戶之間的通信。概念包括實體并聯(lián)系。在該購買系統(tǒng)中,商品例如是其屬性包括商品ID的實體。商品的標題,內(nèi)容描述和其他屬性。實體之間有一對一,一對多兩種種類型的關(guān)聯(lián)。以下的實體E-R圖是該系統(tǒng)主要的實體。(1)商城購物系統(tǒng)的“買家”實體的屬性有“買家”ID,“買家”名,“買家”密碼,“買家”手機,“買家”郵箱,“買家”類型,“買家”創(chuàng)建時間,“買家”更新時間。如下圖3-3所示。圖3-3用戶實體的E-R圖(2)商城系統(tǒng)前臺網(wǎng)站內(nèi)容實體的屬性有內(nèi)容ID,前臺網(wǎng)站內(nèi)容目錄ID,標題,小標題,標題描述,存儲路徑,圖片1地址,圖片2地址,內(nèi)容,前臺網(wǎng)站內(nèi)容創(chuàng)建時間,前臺網(wǎng)站內(nèi)容更新時間。前臺網(wǎng)站內(nèi)容實體的E-R圖如下圖3-4所示圖3-4前臺網(wǎng)站內(nèi)容實體的E-R圖(3)商城系統(tǒng)前臺網(wǎng)站內(nèi)容目錄實體的屬性有前臺網(wǎng)站內(nèi)容目錄ID,父目錄ID,前臺網(wǎng)站內(nèi)容目錄名稱,狀態(tài),排序方式,是否是父級目錄,前臺網(wǎng)站內(nèi)容目錄創(chuàng)建時間,前臺網(wǎng)站內(nèi)容目錄更新時間。如下圖3-5所示圖3-5前臺網(wǎng)站內(nèi)容目錄實體的E-R圖數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計在網(wǎng)站購物系統(tǒng)中,實體的關(guān)系模式主要有以下內(nèi)容:前臺網(wǎng)站內(nèi)容:內(nèi)容ID,前臺網(wǎng)站內(nèi)容目錄ID,標題,小標題,標題描述,存儲路徑,圖片1地址,圖片2地址,內(nèi)容,前臺網(wǎng)站內(nèi)容創(chuàng)建時間,前臺網(wǎng)站內(nèi)容更新時間。前臺網(wǎng)站內(nèi)容目錄:前臺網(wǎng)站內(nèi)容目錄ID,父目錄ID,前臺網(wǎng)站內(nèi)容目錄名稱,狀態(tài),排序方式,是否是父級目錄,前臺網(wǎng)站內(nèi)容目錄創(chuàng)建時間,前臺網(wǎng)站內(nèi)容目錄更新時間。商品信息:ID,標題,賣點,價格,數(shù)量,條形碼,圖片地址,所屬目錄,狀態(tài),創(chuàng)建時間,更新時間。商品目錄:商品目錄ID,父目錄ID,目錄名稱,狀態(tài),排序方式,是否是父級目錄,商品目錄創(chuàng)建時間,商品目錄更新時間。商品詳情:商品主鍵ID,商品詳情,商品詳情創(chuàng)建時間,商品詳情更新時間。商品參數(shù):商品參數(shù)ID,商品ID,商品參數(shù)數(shù)據(jù),商品參數(shù)創(chuàng)建時間,商品參數(shù)更新時間。訂單:ID,昵稱,買家用戶ID,訂單總費用,訂單創(chuàng)建時間,訂單關(guān)閉時間。訂單詳情:ID,商品主鍵,數(shù)量,標題,單價,總費用,圖片路徑?!百I家”表:“買家”ID,“買家”名,“買家”密碼,“買家”手機,“買家”郵箱,“買家”創(chuàng)建時間,“買家”更新時間。數(shù)據(jù)庫物理設(shè)計在數(shù)據(jù)庫當中,系統(tǒng)的設(shè)計與實現(xiàn)的一個重要部分是數(shù)據(jù)表。如下是該網(wǎng)站商城系統(tǒng)中數(shù)據(jù)庫中幾個重要的數(shù)據(jù)表設(shè)計的結(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)容表字段名稱字段類型字段長度是否可為空默認值字段描述idbigint(20)20NO空主鍵IDcat_idbigint(20)20NO空目錄IDbiaotivarchar(200)200YES空標題sub_biaotivarchar(100)100YES空副標題biaoti_descvarchar(500)500YES空標題描述urlvarchar(500)500YES空地址tu_pianvarchar(300)300YES空圖1tu_pian2varchar(300)300YES空圖2nei_rongtext一YES空內(nèi)容crt_datedatetime一YES空創(chuàng)建時間upd_datedatetime一YES空更新時間商品信息表為系統(tǒng)網(wǎng)站商品信息的數(shù)據(jù)庫表,用于存儲商品信息。如下表3-2所示。表3-2商品信息表字段名稱字段類型字段長度是否可為空默認值字段描述idbigint(20)20NO空主鍵IDbiaotivarchar(100)100NO空商品標題sell_pointvarchar(500)500YES空商品賣點jia_gebigint(20)20NO空商品價格numint(10)10NO空商品數(shù)量tiao_mavarchar(30)30YES空商品條形碼tu_pianvarchar(500)500YES空商品圖片cidbigint(10)10NO空商品目錄IDzhuang_taitinyint(4)4NO1商品是否在銷售crt_datedatetime一NO空商品創(chuàng)建時間upd_datedatetime一NO空商品更新時間訂單表為系統(tǒng)網(wǎng)站用戶下的訂單信息數(shù)據(jù)庫表,用于存儲系統(tǒng)訂單的信息。如下表3-3所示。表3-3訂單表字段名稱字段類型字段長度是否可為空默認值字段描述idbigint(20)20NO空訂單主鍵IDbuyer_nickvarchar(50)50NO空昵稱buyer_idbigint(20)20NO空買家用戶IDtotal_feebigint(50)50NO空訂單總費用crt_date_timedatetime一NO空訂單創(chuàng)建時間closed_timedatetime一YES空訂單關(guān)閉時間系統(tǒng)界面設(shè)計系統(tǒng)頁面使用JSP提供的標簽庫以及JavaScript,jQuery和CSS技術(shù)設(shè)計。JSP頁面包含主要用于轉(zhuǎn)換階段的說明元素和腳本元素提供有關(guān)JSP頁面和腳本元素的信息,這些頁面和腳本元素允許JSP分離靜態(tài)和動態(tài)內(nèi)容分離出來。使用JSP標簽庫和CSS技術(shù)來設(shè)計頁面,JavaScript和jQuery技術(shù)提供的Web樣式為網(wǎng)站添加動態(tài)功能,使設(shè)計的網(wǎng)站不僅具有出色的樣式,而且還適合于后臺系統(tǒng)數(shù)據(jù)交互。本章小結(jié)本章主要介紹該商城系統(tǒng)的系統(tǒng)功能需求、系統(tǒng)功能設(shè)計、數(shù)據(jù)庫設(shè)計、系統(tǒng)界面設(shè)計,通過文字、表格、圖片詳細描述了各部分的設(shè)計內(nèi)容。

系統(tǒng)實現(xiàn)系統(tǒng)框架實現(xiàn)該系統(tǒng)集成了Mybatis框架來對JDBC操作進行了封裝,方便了對數(shù)據(jù)庫進行操作。在perties中配置了數(shù)據(jù)庫連接信息,如圖4-1所示。在applicationContext-dao.xml中配置了Spring框架整合Mybatis配置信息,如圖4-2所示。圖4-1數(shù)據(jù)庫連接信息圖4-2Mybatis配置信息該系統(tǒng)集成了springmvc框架來對視圖層進行了渲染。在springmvc.xml配置了視圖層配置相關(guān)信息,如下圖4-3所示。圖4-3springmvc配置信息網(wǎng)站商品管理模塊實現(xiàn)網(wǎng)站商品管理模塊主要有新增商品、查詢商品功能。用戶在模塊中新增所需要的商品。新增后可在商品列表中,查詢商品的信息。商品添加在界面上填寫完表單后,通過AJAX的POST請求,把前臺界面的商品內(nèi)容信息提交到后臺,在后臺中實現(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)容管理模塊實現(xiàn)可在網(wǎng)站內(nèi)容管理界面,對商城首頁的模塊內(nèi)容進行新增、查詢。在模塊中添加相應的內(nèi)容,添加成功后,即可在商城系統(tǒng)的前臺首頁中展示添加的內(nèi)容。首頁內(nèi)容新增在首頁內(nèi)容管理界面中,可通過選擇內(nèi)容管理的模塊,后點擊新增按鈕新增內(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; }用戶模塊實現(xiàn)用戶進入商場系統(tǒng)前臺首頁后,可通過點擊按鈕進行登錄或注冊操作。用戶注冊成功后,可在登錄頁面填寫用戶信息,即可成功登錄到網(wǎng)站的前臺首頁中。用戶注冊用戶點擊注冊功能按鈕時,跳轉(zhuǎn)到注冊界面,填寫完注冊的信息后,通過ajax請求,將用戶填寫的注冊信息提交到后臺,保存到數(shù)據(jù)庫中。如圖4-8所示。圖4-8用戶注冊界面后端代碼如下:YHyh=newYH(Json.format(json));yhMapper.insert(yh);用戶登錄用戶注冊完成后,可通過注冊成功后的頁面跳轉(zhuǎn)或者在系統(tǒng)前臺點擊登錄按鈕,進入用戶登錄界面進行登錄。如圖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();}});商品模塊實現(xiàn)商品模塊,可在商城前臺界面中通過商品的信息進行搜索、瀏覽、展示。網(wǎng)站用戶可在前臺界面通過以上三種方式,查看商品的相關(guān)信息。商品搜索在商城前臺界面中,輸入商品的信息,后臺系統(tǒng)會根據(jù)輸入的信息,根據(jù)關(guān)鍵字的權(quá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);商品瀏覽用戶搜索點擊搜索按鈕后,系統(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);商品信息展示用戶在瀏覽商品的過程中,可點擊某一商品,進入到商品詳情界面,查看該商品的詳細信息。如圖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;購物車模塊實現(xiàn)用戶在查看選中的商品詳細信息時,可在頁面中通過加入購物車按鈕,把該商品添加到購物車中,用戶還可以在我的購物車中查看已添加到購物車的商品列表,并可點擊去結(jié)算、提交訂單按鈕,對購物車的商品進行支付結(jié)算。加入購物車在商品詳情頁面,點擊加入購物車按鈕,即可把商品添加到購物車中。后臺邏輯代碼如下: 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é)算對購物車中選中的商品,點擊去結(jié)算按鈕,頁面跳轉(zhuǎn)到結(jié)算界面。如圖4-14所示。圖4-14購物車結(jié)算界面提交訂單用戶確認購物車訂單無誤后,可點擊提交訂單,即可下單成功。如圖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)容管理模塊、用戶模塊、商品模塊、購物車模塊中幾個主要的功能,做了詳細的描述,通過系統(tǒng)實現(xiàn)代碼和系統(tǒng)效果圖,展示了網(wǎng)上商城購物系統(tǒng)的實現(xiàn)流程。

系統(tǒng)測試對系統(tǒng)進行編程后,需要完成系統(tǒng)軟件測試環(huán)節(jié)。系統(tǒng)軟件測試不僅是測試功能,程序本身,還有頁面等方面。測試和開發(fā)是非常技術(shù)性的工作。使用的測試方法類型,用于測試的案例數(shù)等,都會影響軟件質(zhì)量。界面測試界面測試(簡稱UI測試),測試用戶界面的功能模塊的布局是否合理、整體風格是否一致、各個控件的放置位置是否符合客戶使用習慣,此外還要測試界面操作便捷性、導航簡單易懂性,頁面元素的可用性,界面中文字是否正確,命名是否統(tǒng)一,頁面是否美觀,文字、圖片組合是否完美等。功能測試功能測試,是對系統(tǒng)實現(xiàn)的功能進行測試用例測試。以注冊功能為例子,如表5-1所示,系統(tǒng)彈窗提示如圖5-1所示。表5-1測試用例用例編號用例名稱測試背景前置條件測試環(huán)境測試類型測試階段測試步驟預期結(jié)果實際結(jié)果1正常注冊測試注冊功能已完善,滿足客戶要求輸入的用戶名未注冊Chrome瀏覽器手工測試系統(tǒng)測試1、進入系統(tǒng)注冊頁面

2、輸入未注冊的用戶名

3、輸入的兩次密碼一致

4、輸入手機號

5、點擊立即注冊按鈕系統(tǒng)跳轉(zhuǎn)到登錄界面系統(tǒng)跳轉(zhuǎn)到登錄界面2輸入不規(guī)范的用戶名測試注冊功能已完善,滿足客戶要求輸入的用戶名已注冊Chrome瀏覽器手工測試系統(tǒng)測試1、進入系統(tǒng)注冊頁面

2、點擊立即注冊按鈕系統(tǒng)彈出提示框,“用戶名已存在”系統(tǒng)彈出提示框,“用戶名已存在”3輸入不規(guī)范的用戶名測試注冊功能已完善,滿足客戶要求Chrome瀏覽器手工測試系統(tǒng)測試1、進入系統(tǒng)注冊頁面

2、點擊立即注冊按鈕系統(tǒng)彈出提示框,“用戶名不能為空”系統(tǒng)彈出提示框,“用戶名不能為空”4輸入不規(guī)范的密碼測試注冊功能已完善,滿足客戶要求輸入的用戶名未注冊Chrome瀏覽器手工測試系統(tǒng)測試1、進入系統(tǒng)注冊頁面

2、輸入用戶名

2、點擊立即注冊按鈕系統(tǒng)彈出提示框,“密碼不能為空”系統(tǒng)彈出提示框,“密碼不能為空”5輸入兩次不同的密碼測試注冊功能已完善,滿足客戶要求輸入的用戶名未注冊Chrome瀏覽器手工測試系統(tǒng)測試1、進入系統(tǒng)注冊頁面

2、輸入用戶名

3、輸入密碼

4、再次輸入與第一次輸入的不同密碼

5、點擊立即注冊按鈕系統(tǒng)彈出提示框,“確認密碼和密碼不一致,請重新輸入!”系統(tǒng)彈出提示框,“確認密碼和密碼不一致,請重新輸入!”6輸入不規(guī)范的手機號測試注冊功能已完善,滿足客戶要求輸入的用戶名未注冊Chrome瀏覽器手工測試系統(tǒng)測試1、進入系統(tǒng)注冊頁面

2、輸入用戶名

3、輸入密碼

4、再次輸入與第一次輸入的相同密碼

5、點擊立即注冊按鈕系統(tǒng)彈出提示框,“手機號不能為空”系統(tǒng)彈出提示框,“手機號不能為空”圖5-1測試用例系統(tǒng)彈窗效果本章小結(jié)本章通過系統(tǒng)的測試方法、測試用例,來說明網(wǎng)上商城系統(tǒng)的測試。

總結(jié)與展望網(wǎng)絡購物成為人們生活中不可或缺的一部分,電子商務的地位也愈發(fā)重要。本文針對網(wǎng)上商城購物系統(tǒng)的技術(shù)特點及系統(tǒng)用戶的功能需求,基于微服務SOA架構(gòu)、MVC項目思想、JAVA語言、前端頁面技術(shù)、及相關(guān)技術(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)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論