【《基于JSP的圖書銷售系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)》8800字】_第1頁
【《基于JSP的圖書銷售系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)》8800字】_第2頁
【《基于JSP的圖書銷售系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)》8800字】_第3頁
【《基于JSP的圖書銷售系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)》8800字】_第4頁
【《基于JSP的圖書銷售系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)》8800字】_第5頁
已閱讀5頁,還剩32頁未讀, 繼續(xù)免費(fèi)閱讀

付費(fèi)下載

下載本文檔

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

文檔簡介

第I頁1緒論1.1選題背景與意義互聯(lián)網(wǎng)具有很多特點(diǎn),例如其全球性、兼容性、擴(kuò)展性、高效性等很好的方便了當(dāng)今社會,但傳統(tǒng)實(shí)體書店反應(yīng)出的問題也越來越顯著,原有的傳統(tǒng)實(shí)體書店運(yùn)作方式在互聯(lián)網(wǎng)面前也顯得龐大臃腫,無法具備足夠的競爭力,客觀形勢下給傳統(tǒng)實(shí)體圖書銷售企業(yè)帶來了壓力的同時(shí)也帶來了動力、帶來了挑戰(zhàn)的同時(shí)也帶來了機(jī)遇,如何把握這個(gè)以互聯(lián)網(wǎng)為主題的商業(yè)模式成為傳統(tǒng)圖書銷售業(yè)是否把握住機(jī)會實(shí)現(xiàn)新的飛躍的良好時(shí)機(jī),所以在原先的經(jīng)營模式基礎(chǔ)上設(shè)計(jì)實(shí)現(xiàn)一個(gè)網(wǎng)上圖書銷售書店來契合互聯(lián)網(wǎng)的發(fā)展以取得最大的經(jīng)濟(jì)收益?!熬W(wǎng)上購書”這個(gè)于二十世紀(jì)興起的的購買圖書方式已經(jīng)得到愈來愈多的人的接受和認(rèn)可,并且逐漸吞噬著傳統(tǒng)實(shí)體書店購書的市場份額。大部分年輕人和公司職員、學(xué)生都有網(wǎng)上購物的習(xí)慣,其中絕大部分人已經(jīng)把網(wǎng)購當(dāng)成主要購書途徑。在互聯(lián)網(wǎng)飛速發(fā)展的同時(shí),網(wǎng)上購書也跟同樣以驚人的速度占據(jù)并吞噬著市場份額。傳統(tǒng)的實(shí)體書店企業(yè)如果不把握住這個(gè)機(jī)會,開發(fā)出結(jié)合自己企業(yè)實(shí)際的網(wǎng)上書店,那么將面對的是新一輪技術(shù)革命帶來的優(yōu)勝略汰。隨著社會的進(jìn)步,計(jì)算機(jī)與我們的生活密不可分,當(dāng)然也是因?yàn)槠浞奖愫唵蔚墓δ?,深得人民的支持和喜歡,計(jì)算機(jī)可以實(shí)現(xiàn)人們有可能不能實(shí)現(xiàn)的功能,另外就是傳統(tǒng)的實(shí)體書店的運(yùn)營效率已不能適應(yīng)新的發(fā)展需要,無法很好的實(shí)現(xiàn)盈利。本系統(tǒng)開發(fā)的主要目的是利用先進(jìn)的技術(shù)手段和網(wǎng)上平臺,實(shí)現(xiàn)在線銷售,建立更經(jīng)濟(jì)的網(wǎng)上書店。1.2主要研究過程本系統(tǒng)的開發(fā)過程主要分為以下幾個(gè)階段:(1)系統(tǒng)規(guī)劃階段:首先要確定系統(tǒng)的需要,然后確定下一階段的實(shí)施。(2)系統(tǒng)分析階段:分析高校就業(yè)指導(dǎo)管理系統(tǒng)的組織結(jié)構(gòu)和功能。(3)系統(tǒng)設(shè)計(jì)階段:首先要確定數(shù)據(jù)庫系統(tǒng)的有關(guān)設(shè)計(jì),各功能模塊之間的設(shè)計(jì),數(shù)據(jù)庫系統(tǒng)I/O接口的設(shè)計(jì)、編碼設(shè)計(jì)等。(4)系統(tǒng)實(shí)現(xiàn)步驟:確定圖紙,完成數(shù)據(jù)庫結(jié)構(gòu),編寫代碼。(5)系統(tǒng)測試和運(yùn)行階段:系統(tǒng)準(zhǔn)備運(yùn)行數(shù)據(jù)、調(diào)試系統(tǒng)中的模塊、測試系統(tǒng)中的問題進(jìn)行調(diào)整和修改。2系統(tǒng)開發(fā)工具和技術(shù)2.1系統(tǒng)開發(fā)工具本系統(tǒng)使用的是Tomcat8.5服務(wù)器,使用的開發(fā)工具是IDEA,接下來對IDEA和Tomcat進(jìn)行說明。(1)IDEA全稱IntelliJIDEA,是用于java語言開發(fā)的集成環(huán)境(也可用于其他語言),IntelliJ在業(yè)界被公認(rèn)為最好的java開發(fā)工具之一。(2)Tomcat服務(wù)器作為一個(gè)Web應(yīng)用服務(wù)器,它是開放源代碼的,屬于輕量級應(yīng)用服務(wù)器,是開發(fā)JSP程序的首選。2.2系統(tǒng)開發(fā)技術(shù)本節(jié)對本系統(tǒng)主要的系統(tǒng)開發(fā)技術(shù)JSP、MySQL進(jìn)行詳細(xì)的解釋說明。2.2.1JSPJSP是JavaServerPage的簡稱。JSP能夠讓管理員便捷地構(gòu)建信息化平臺,可以用來建立穩(wěn)定高效的Web應(yīng)用程序網(wǎng)站,并且JSP使用靈活,不用全部更改只要對指定部分修改就完全能夠完成對系統(tǒng)頁面的樣式設(shè)計(jì)。JSP有以下幾個(gè)明顯特點(diǎn):(1)一次編寫,隨處運(yùn)行。(2)具有統(tǒng)一的技術(shù)規(guī)范。(3)自由的擴(kuò)展JSP標(biāo)簽。(4)執(zhí)行性能高且穩(wěn)定。(5)開發(fā)工具多而強(qiáng)大。2.2.2MySQL數(shù)據(jù)庫(Database,DB)就是一個(gè)倉庫,只不過它是用來存儲數(shù)據(jù)的。為了促進(jìn)數(shù)據(jù)存儲和管理,數(shù)據(jù)庫根據(jù)某些特定規(guī)律將數(shù)據(jù)存儲在磁盤上。MySQL就是一個(gè)數(shù)據(jù)庫管理系統(tǒng),使用的語言(SQL)簡潔,易學(xué)易用。MySQL還有很多的優(yōu)點(diǎn):(1)MySQL支持多個(gè)處理器。(2)MySQL可以在不同的平臺上運(yùn)行。支持很多種計(jì)算機(jī)語言。(3)MySQL通過高度優(yōu)化的類庫來實(shí)現(xiàn)SQL函數(shù)庫,并且會盡可能的快速。(4)全面支持SQL的組和表的子句,支持聚合函數(shù)。(5)使用MySQL不僅對早期的數(shù)據(jù)處理有用,而且對后期的數(shù)據(jù)擴(kuò)展也有很大作用。3系統(tǒng)分析3.1可行性分析實(shí)際情況下,在給定的系統(tǒng)規(guī)?;驎r(shí)間范圍內(nèi)會有許多問題無法解決。如果不能解決問題,那將浪費(fèi)消耗在該項(xiàng)目上的所有資源。因此,在系統(tǒng)開發(fā)之前,需要對系統(tǒng)進(jìn)行全面的分析和評估,我們是從經(jīng)濟(jì)可行性、技術(shù)可行性、操作可行性這三個(gè)方面分析,用來確定本系統(tǒng)是否具有設(shè)計(jì)和開發(fā)的必要,是否能夠解決它所面臨的問題,以及是否能夠在既定的時(shí)間和資源下實(shí)現(xiàn)。關(guān)于本課題所研究系統(tǒng)的可行性分析過程如下所示:(1)經(jīng)濟(jì)可行性:是從經(jīng)濟(jì)學(xué)的角度判斷系統(tǒng)是否值得開發(fā)的一個(gè)指標(biāo),通過比對系統(tǒng)研發(fā)過程中投入的總成本和預(yù)計(jì)能夠得到的經(jīng)濟(jì)效益可以得出。系統(tǒng)開發(fā)需求比較低,開發(fā)所需的工具和技術(shù)也都開源免費(fèi),再加上現(xiàn)如今快速發(fā)展早已成熟的硬件環(huán)境,所以在軟硬件方面的支出是很有限的。而且,在進(jìn)行該網(wǎng)站的開發(fā)之前,已經(jīng)有了無數(shù)前人的經(jīng)驗(yàn)可以借鑒,再加上本系統(tǒng)并不是非常的復(fù)雜,所以開發(fā)的周期不會很長。因此從經(jīng)濟(jì)角度上來看是可行的。(2)技術(shù)可行性:從我們實(shí)現(xiàn)系統(tǒng)所采用的技術(shù)方面進(jìn)行分析,就可以得到關(guān)于本系統(tǒng)的技術(shù)可行性結(jié)論。Java誕生于上個(gè)世紀(jì)九十年代,具有悠久的發(fā)展歷程,而經(jīng)過這將近二十年的發(fā)展歷程,已經(jīng)具有一個(gè)安全、穩(wěn)定的開發(fā)平臺,并且關(guān)于使用Java語言和JSP技術(shù)開發(fā)Web應(yīng)用的經(jīng)驗(yàn)已經(jīng)足夠豐富,技術(shù)已較為成熟。高效迅速的數(shù)據(jù)存儲工具M(jìn)ySQL,性能穩(wěn)定的Web服務(wù)器Tomcat,再加上開發(fā)人員數(shù)量和質(zhì)量均符合要求,因此在技術(shù)方面是可行的,在規(guī)定的期限內(nèi)開發(fā)工作基本能夠完成。(3)操作可行性:通過進(jìn)行調(diào)查,研究人們的操作習(xí)慣,精心設(shè)計(jì)網(wǎng)站頁面和功能模塊,使系統(tǒng)易于操作,高效、快速的使用。操作人只需要一臺計(jì)算機(jī)即可通過輸入網(wǎng)址在瀏覽器上使用本網(wǎng)站對圖書進(jìn)行購買,用戶無需掌握計(jì)算機(jī)專業(yè)知識就能快速掌握系統(tǒng)的使用技巧。因此,在操作上是可行的。綜上所述,該系統(tǒng)在經(jīng)濟(jì)、技術(shù)、操作等方面是可行的。3.2界面需求分析軟件界面是人與計(jì)算機(jī)交換信息的一種媒介,它的質(zhì)量,是用戶能夠充分利用應(yīng)用系統(tǒng)功能的前提。就現(xiàn)在來說,評估軟件質(zhì)量的關(guān)鍵指標(biāo)之一就是界面設(shè)計(jì)。主要有四個(gè)因素在界面需求分析中需要考慮:(1)界面元素通常一個(gè)用戶界面會具有的元素有:整體布局、頁面框顏色、頁面字體及字體的顏色和大小等。(2)用戶角色不同的用戶角色對軟件界面會有著不同的要求。(3)需求變化系統(tǒng)設(shè)計(jì)出后,用戶使用之后才會反饋使用感受和系統(tǒng)界面是否滿足大眾的視覺美觀要求,進(jìn)一步提出更準(zhǔn)確有遠(yuǎn)見的要求,所以需求是會產(chǎn)生變化的。(4)界面原型想要最大程度地減少研究界面需求的周期,并確保設(shè)計(jì)出來的界面能夠盡可能滿足用戶的體驗(yàn)要求,就要利用好界面原型。使用界面原型來引領(lǐng)用戶對界面提出新的要求,以達(dá)到其最理想的界面效果。3.3系統(tǒng)功能需求分析本系統(tǒng)分為前臺用戶界面和后臺管理員系統(tǒng)。1.對應(yīng)用戶的前臺用戶界面主要有以下幾項(xiàng)功能:(1)注冊及登陸:游客首先可以通過填寫注冊信息成為用戶,本系統(tǒng)設(shè)置有權(quán)限,用戶登陸后才能進(jìn)行添加購物車和購買圖書,未登陸的用戶即游客只能瀏覽商品。瀏覽:游客和用戶均可以在線瀏覽圖書的詳細(xì)信息(如名稱、圖片、價(jià)格等)。查詢:游客和用戶均可以通過輸入圖書關(guān)鍵字到搜索框進(jìn)行圖書的查詢。購物車:用戶登錄后能夠添加圖書到購物車,也可以對購物車圖書進(jìn)行刪除。購買:用戶登錄后能夠直接下單購買圖書。2.對應(yīng)管理員的后臺管理員系統(tǒng)主要有以下幾項(xiàng)功能:(1)圖書管理:管理員登陸后可查看及管理圖書的分類和詳細(xì)信息。也可以對圖書進(jìn)行添加、刪除、修改類別等操作。(2)訂單管理:管理員可查看用戶下單的詳細(xì)信息。(3)用戶管理:管理員可在后臺查看用戶信息。還可刪除系統(tǒng)用戶。(4)分類管理:管理員可對圖書的分類進(jìn)行相應(yīng)的增刪改查。3.4系統(tǒng)非功能性需求分析系統(tǒng)非功能分析是對除了功能結(jié)構(gòu)以外的信息進(jìn)行分析,一個(gè)系統(tǒng)設(shè)計(jì)很多方面,邏輯、數(shù)據(jù)、頁面、框架結(jié)構(gòu)等,我們需要保證功能的情況下,保證所有信息都完善、確保穩(wěn)定,能夠正常運(yùn)行。1、數(shù)據(jù)完整。我們要保證數(shù)據(jù)的完整,保證數(shù)據(jù)沒有亂碼出現(xiàn),數(shù)據(jù)庫中所有信息都可以進(jìn)行前端展示。2、頁面美觀簡潔。對頁面的設(shè)計(jì)關(guān)系用戶的購買體驗(yàn),我們要保證頁面設(shè)計(jì)簡單易操作,用戶可以很快的熟悉系統(tǒng),進(jìn)行購買。3、邏輯性。系統(tǒng)邏輯不能出現(xiàn)錯(cuò)誤,第一步到第二部再到第三部,不能出現(xiàn)沒有下單就出現(xiàn)支付的錯(cuò)誤邏輯存在,必須符合正常邏輯思維。

4系統(tǒng)設(shè)計(jì)4.1系統(tǒng)架構(gòu)設(shè)計(jì)B/S模式也就是瀏覽器/服務(wù)器模式,工作流程是用戶從瀏覽器發(fā)送請求上傳給服務(wù)器進(jìn)行數(shù)據(jù)處理,然后服務(wù)器再將結(jié)果返回給瀏覽器,最終在瀏覽器界面展示給用戶。采用B/S模式可以大大降低本系統(tǒng)的局限性,使用起來更加便捷。4.2系統(tǒng)總體設(shè)計(jì)通過分析,按照系統(tǒng)開發(fā)理念對本網(wǎng)站進(jìn)行拆解,可分為前臺模塊和后臺模塊。游客只可以進(jìn)行圖書信息的查看權(quán)限,無法訪問購物車和購買圖書,游客注冊登錄后成為用戶可以擁有更多的權(quán)限,可以查看商品信息,實(shí)現(xiàn)在線購買。后臺包括圖書管理、訂單管理、分類管理、作者管理、用戶管理,管理員能夠?qū)ο到y(tǒng)進(jìn)行全方位管理與維護(hù)。系統(tǒng)總體功能結(jié)構(gòu)圖如圖4-1所示。圖4-1系統(tǒng)功能結(jié)構(gòu)圖4.3數(shù)據(jù)庫設(shè)計(jì)簡單的對數(shù)據(jù)庫設(shè)計(jì)進(jìn)行描述:數(shù)據(jù)庫設(shè)計(jì)其實(shí)就是根據(jù)本圖書銷售系統(tǒng)和數(shù)據(jù)庫管理系統(tǒng)的需求選擇設(shè)計(jì)出最佳的數(shù)據(jù)存儲模型。數(shù)據(jù)庫設(shè)計(jì)可以從需求分析、概念設(shè)計(jì)、邏輯設(shè)計(jì)、維護(hù)優(yōu)化四個(gè)方面來設(shè)計(jì)。4.3.1概念模型設(shè)計(jì)數(shù)據(jù)庫在程序的設(shè)計(jì)中扮演了重要的角色,它將系統(tǒng)涉及的數(shù)據(jù)全部容納其中,在數(shù)據(jù)庫設(shè)計(jì)時(shí),為了能夠明確思路,一般都是先構(gòu)建實(shí)體E-R圖,在構(gòu)建實(shí)體E-R圖時(shí)采取先確定好實(shí)體,再規(guī)劃實(shí)體屬性的方法。以下為本購物網(wǎng)站的相關(guān)實(shí)體介紹。(1)用戶實(shí)體E-R圖如圖4-2所示。圖4-2用戶實(shí)體圖(2)管理員實(shí)體E-R圖如圖4-3所示。圖4-3管理員實(shí)體圖(3)圖書分類實(shí)體E-R圖如圖4-4所示。圖4-4圖書分類實(shí)體實(shí)體圖(4)圖書實(shí)體E-R圖如圖4-5所示。圖4-5圖書實(shí)體圖(5)作者實(shí)體E-R圖如圖4-6所示。圖4-6作者實(shí)體圖(6)訂單實(shí)體E-R圖如圖4-7所示。圖4-7訂單實(shí)體圖4.3.2數(shù)據(jù)庫表設(shè)計(jì)數(shù)據(jù)庫表獨(dú)立于數(shù)據(jù)庫的邏輯結(jié)構(gòu),是一個(gè)獨(dú)立的DBMS,不需要依賴計(jì)算機(jī)系統(tǒng)。以下為系統(tǒng)中使用的數(shù)據(jù)庫表信息。(1)用戶數(shù)據(jù)庫表,用來描述系統(tǒng)中用戶的基本信息。用戶表如表4-1所示。表4-1用戶表序號列名數(shù)據(jù)類型長度備注1user_idint11編號(主鍵不允許為空)2user_namevarchar255用戶名3user_passwordvarchar255密碼4user_emailvarchar255郵箱5user_sexvarchar255性別6user_phonevarchar255電話7user_imagesvarchar255頭像8user_timedatetime0創(chuàng)建時(shí)間管理員數(shù)據(jù)庫表,作用是描述管理員的基本信息。管理員表如表4-2所示。表4-2管理員表序號列名數(shù)據(jù)類型長度備注1admin_idint11編號(主鍵不允許為空)2admin_namevarchar255管理員名3admin_passwordvarchar255密碼4admin_sexvarchar255性別5admin_phonevarchar255電話6admin_imagevarchar255頭像(3)圖書類別數(shù)據(jù)庫表,作用是描述圖書類別的基本信息。圖書類別表如表4-3所示。表4-3圖書類別表序號列名數(shù)據(jù)類型長度備注1bookType_idint11編號(主鍵不允許為空)2bookType_namevarchar255分類名3is_deleteint11狀態(tài)(4)圖書數(shù)據(jù)庫表,用來描述圖書的基本信息。圖書表如表4-4所示。表4-4圖書表序號列名數(shù)據(jù)類型長度備注1book_idint11編號(主鍵不允許為空)2book_namevarchar255圖書名3bookType_idint11圖書分類ID4author_namevarchar255作者名5book_imagevarchar255圖書圖片6book_pricevarchar255價(jià)格7book_numberint10圖書數(shù)量8book_contentlongtext255圖書內(nèi)容9book_is_deleteint11狀態(tài)10book_release_timedatetime0上架時(shí)間(5)作者數(shù)據(jù)庫表,用來描述圖書作者的基本信息。作者表如表4-5所示。表4-5作者表序號列名數(shù)據(jù)類型長度備注1author_idint11編號(主鍵不允許為空)2author_namevarchar255作者名3author_imagevarchar255頭像4author_ageint11年紀(jì)5author_sexvarchar255性別6author_intovarchar255簡介7is_deleteint11狀態(tài)8create_timedatetime0創(chuàng)建時(shí)間(6)訂單數(shù)據(jù)庫表,用來描述訂單的基本信息。訂單表如表4-6所示。表4-6訂單表序號列名數(shù)據(jù)類型長度備注1order_idint11編號(主鍵不允許為空)2user_idint11用戶ID3book_idint11圖書ID4numbersvarchar255數(shù)量5sum_pricevarchar255總價(jià)6order_timedatetime0訂單時(shí)間7is_deleteint11狀態(tài)

5系統(tǒng)實(shí)現(xiàn)5.1系統(tǒng)前臺功能模塊的實(shí)現(xiàn)5.1.1用戶注冊沒有賬號的游客只能在系統(tǒng)中瀏覽圖書相關(guān)信息,不能進(jìn)行添加購物車、購買等操作,如果游客想要在本系統(tǒng)中購買圖書,需要先注冊一個(gè)賬號成為用戶,用戶注冊頁面如圖5-1所示。圖5-1注冊界面用戶注冊部分代碼:@RequestMapping("/register")

@ResponseBody()

privateMapregister(Useruser,HttpSessionsession,HttpServletRequestrequest){

Map<String,Object>map=newHashMap<String,Object>();

Stringcode=(String)session.getAttribute("verifyCodeValue");

if(!user.getCode().equals(code)){

StringcodeNo="驗(yàn)證碼錯(cuò)誤";

map.put("codeErro",codeNo);

returnmap;

}else{

Stringrealpath=request.getServletContext().getRealPath("/fileUpload");

StringfileName=user.getImage().getOriginalFilename();

FiletargetFile=newFile(realpath,fileName);

if(!targetFile.exists()){

targetFile.mkdirs();

System.out.println(targetFile+"創(chuàng)建成功");

}

StringpicUrl="http://localhost:8080/fileUpload/"+fileName;

System.out.println("訪問圖片的路徑"+picUrl);

System.out.println(targetFile);

try{

user.getImage().transferTo(targetFile);

}catch(Exceptione){

e.printStackTrace();

}

user.setUserImage(fileName);

intresult=userService.addUser(user);

if(result==0){

StringregisterYes="注冊失敗,用戶已經(jīng)存在";

map.put("no",registerYes);

}

StringregisterYes="注冊成功";

map.put("yes",registerYes);

returnmap;

}

}5.1.2用戶登錄注冊成功或擁有賬號的用戶,可以點(diǎn)擊登錄按鈕進(jìn)行登錄操作。在登錄頁面用戶需要輸入賬號及注冊時(shí)的手機(jī)號、密碼、驗(yàn)證碼,后臺會對輸入的正確性進(jìn)行校驗(yàn),校驗(yàn)通過則登錄成功,否則失敗,登錄頁面如圖5-2所示。圖5-2登錄界面用戶登錄部分代碼://登錄@RequestMapping("/login")@ResponseBody()publicintlogin(UserAssistuserAssist,HttpSessionsession)throwsUnsupportedEncodingException{Map<String,Object>map=newHashMap<String,Object>();Stringcode=(String)session.getAttribute("verifyCodeValue");Stringstr=userAssist.getUserPassword();Stringmd5=DigestUtils.md5Hex(str.getBytes("UTF-8"));userAssist.setUserPassword(md5);userAssist.setUserTime(newSimpleDateFormat("yyyy-MM-ddhh:mm:ss").format(newDate()));Useruser=userService.userLogin(userAssist);userService.updateLoginTime(userAssist);if(userService.userLogin(userAssist)!=null&&userAssist.getCode().equals(code)){session.setAttribute("user",user);return1;}elseif(!userAssist.getCode().equals(code)){return2;}else{return3;}}5.1.3圖書搜索用戶可以登錄系統(tǒng)后可查看商品列表,可以在系統(tǒng)上方搜索框內(nèi)輸入搜索關(guān)鍵信息搜索圖書,圖書搜索如圖5-3所示。圖5-3圖書搜索圖書搜索部分代碼:@RequestMapping("/selectByBookName")@ResponseBodypublicMap<String,Object>selectByBookName(ScreenBookscreenBook){System.out.println("32:"+screenBook.getPageSize());System.out.println("ds:"+screenBook.getPageNum());System.out.println("規(guī)劃股:"+screenBook.getKeyword());Map<String,Object>map=newHashMap<String,Object>();PageInfopageList=bookService.selectKeyword(screenBook);System.out.println("遍歷:"+pageList.getList().get(0));map.put("pageList",pageList);map.put("sum",pageList.getTotal());map.put("sumPage",pageList.getPages());map.put("number",pageList.getPageNum());returnmap;}5.1.4圖書篩選用戶可以登錄系統(tǒng),查看商品信息,在系統(tǒng)輪播圖下方有一個(gè)按照圖書評分和圖書價(jià)格進(jìn)行篩選的選擇框,用戶可以根據(jù)自己需求從圖書價(jià)格和圖書評分兩個(gè)方面對圖書信息進(jìn)行篩選,其界面圖如圖5-4所示。圖5-4圖書篩選圖書篩選部分代碼:@RequestMapping("/selectScreenBookDesc2")@ResponseBodypublicMap<String,Object>selectScreenBookDesc2(ScreenBookscreenBook,HttpServletResponseresponse){System.out.println("頁面數(shù):"+screenBook.getPageNum());System.out.println("條數(shù):"+screenBook.getPageSize());Map<String,Object>map=newHashMap<String,Object>();PageInfopageList=bookService.selectScreenBook(screenBook);//圖書信息記錄總條數(shù)intsum=(int)pageList.getTotal();//圖書頁面總數(shù)量intpageSum=pageList.getPages();//當(dāng)前頁數(shù)intnumber=pageList.getPageNum();//把所有的值都封裝到map里面map.put("pageList",pageList);map.put("sum",sum);map.put("pageSum",pageSum);map.put("numbers",number);returnmap;}5.1.5圖書分類在系統(tǒng)的首頁的左邊,可以看到圖書的分類列表,用戶可以選擇符合自己要求的類別,點(diǎn)擊進(jìn)去查找自己想要的圖書,其界面圖如圖5-5所示。圖5-5圖書分類圖書分類部分代碼:privateBookTypeServicebookTypeService;@RequestMapping("/selectAllBookType")@ResponseBodypublicMap<String,Object>selectAllBookType(IntegerpageNum,IntegerpageSize){PageInfopageList=bookTypeService.selectAllBookType(pageNum,pageSize);Map<String,Object>map=newHashMap<String,Object>();map.put("pageList",pageList);map.put("sum",pageList.getTotal());map.put("sumPage",pageList.getPages());map.put("number",pageList.getPageNum());returnmap;}@RequestMapping("/addType")@ResponseBodypublicintaddType(BookTypebookType){System.out.println("前端數(shù)據(jù):"+bookType.getBookTypeName());bookType.setIsDelete(1);intresult=bookTypeService.addType(bookType);returnresult;}5.1.6查看圖書詳細(xì)信息用戶可以點(diǎn)擊圖書從而進(jìn)入到圖書詳情頁面,可以看到圖書的詳細(xì)信息(介紹、作者、庫存、價(jià)格等),其界面圖如圖5-6所示。圖5-6圖書詳細(xì)信息查看圖書詳細(xì)信息部分代碼:@RequestMapping("/selectByBookId")publicStringselectByBookId(IntegerbookId,HttpServletResponseresponse,HttpServletRequestrequest,Modelmodel){response.addHeader("Access-Control-Allow-Origin","*");response.setContentType("text/html;charset=utf-8");System.out.println("圖書ID:"+bookId);BookAssistbookAssist=bookService.selectBookById(bookId);model.addAttribute("bookAssist",bookAssist);return"book/book-BookById";}5.1.7加入購物車用戶可以將圖書添加到購物車中,方便購買,其界面圖如圖5-7所示。圖5-7添加購物車添加購物車部分代碼:@RequestMapping("/addOreder")

@ResponseBody

publicintaddOrder(OrderFromAssistorderFromAssist){;

orderFromAssist.setIsDelete(1);

System.out.println("e:"+orderFromAssist.getIsDelete());

intresult=orderFromService.addOrder(orderFromAssist);

returnresult;

}5.1.8圖書購買當(dāng)用戶選擇購買某本圖書的時(shí)候,可以直接選擇購買,只需要填寫收貨地址、選擇購買數(shù)量后進(jìn)行支付即可購買成功,其界面圖如圖5-8所示。圖5-8圖書購買圖書購買部分代碼:@ResponseBodypublicintaddBought(OrderFromAssistorderFromAssist){orderFromAssist.setIsDelete(1);System.out.println(orderFromAssist);intresult=orderFromService.addBought(orderFromAssist);returnresult;}5.2系統(tǒng)后臺功能模塊的實(shí)現(xiàn)5.2.1圖書管理管理員通過管理員登錄到后臺管理后,可以對圖書進(jìn)行增加、刪除、修改等操作,其界面展示如圖5-9所示。圖5-9圖書管理界面圖書管理部分代碼:@RequestMapping("/updateBook")@ResponseBodypublicintupadteBook(Bookbook,HttpServletRequestrequest,HttpServletResponseresponse){response.addHeader("Access-Control-Allow-Origin","*");response.setContentType("text/html;charset=utf-8");System.out.println("這里是修改控制器。");Stringrealpath=request.getServletContext().getRealPath("/img");StringfileName=book.getMyfile().getOriginalFilename();System.out.println(fileName);FiletargetFile=newFile(realpath,fileName);if(!targetFile.exists()){targetFile.mkdirs();System.out.println(targetFile+"創(chuàng)建成功");}StringpicUrl="http://localhost:8080/img/"+fileName;System.out.println("訪問圖片的路徑"+picUrl);try{book.getMyfile().transferTo(targetFile);}catch(Exceptione){e.printStackTrace();}book.setBookImage(fileName);System.out.println("這是圖片上傳:"+book.getBookImage());book.setBookReleaseTime(newSimpleDateFormat("yyyy-MM-ddhh:mm:ss").format(newDate()));intresult=bookService.updateBook(book);returnresult;}@RequestMapping("/addBook")@ResponseBodypublicintaddBook(Bookbook,HttpServletRequestrequest,HttpServletResponseresponse){System.out.println("我來也!");response.addHeader("Access-Control-Allow-Origin","*");response.setContentType("text/html;charset=utf-8");System.out.println("這里是修改控制器。");Stringrealpath=request.getServletContext().getRealPath("/img");//獲取上傳文件名字StringfileName=book.getMyfile().getOriginalFilename();System.out.println(fileName);//圖片的全路徑名(File對象)FiletargetFile=newFile(realpath,fileName);if(!targetFile.exists()){targetFile.mkdirs();System.out.println(targetFile+"創(chuàng)建成功");}StringpicUrl="http://localhost:8080/img/"+fileName;System.out.println("訪問圖片的路徑"+picUrl);try{book.getMyfile().transferTo(targetFile);}catch(Exceptione){e.printStackTrace();}book.setBookImage(fileName);book.setBookIsDelete(1);System.out.println("這是圖片上傳:"+book.getBookImage());book.setBookReleaseTime(newSimpleDateFormat("yyyy-MM-ddhh:mm:ss").format(newDate()));intresult=bookService.addBook(book);returnresult;}5.2.2訂單管理管理員可以在訂單管理這查看用戶訂單,包括了營業(yè)總額、訂單編號、用戶的收貨信息;可以對訂單執(zhí)行刪除操作。如圖5-10所示。圖5-10訂單管理界面訂單管理部分代碼:@RequestMapping("/addBought")@ResponseBodypublicintaddBought(OrderFromAssistorderFromAssist){orderFromAssist.setIsDelete(1);System.out.println(orderFromAssist);intresult=orderFromService.addBought(orderFromAssist);returnresult;}5.2.3作者管理管理員用戶進(jìn)入作者管理可以看到系統(tǒng)中圖書對應(yīng)的圖書作者的相關(guān)信息,如下圖5-11所示。圖5-11作者管理界面作者管理部分代碼:@RequestMapping("/selectAllAuthor")@ResponseBodypublicMap<String,Object>selectAllAuthor(IntegerpageNum,IntegerpageSize){System.out.println("前端數(shù)據(jù)4546:"+pageNum);Map<String,Object>map=newHashMap<String,Object>();PageInfopageList=authorService.selectAllAuthor(pageNum,pageSize);System.out.println("數(shù)據(jù):"+pageSize);map.put("pageList",pageList);map.put("sum",pageList.getTotal());map.put("sumPage",pageList.getPages());map.put("number",pageList.getPageNum());returnmap;}@RequestMapping("/delAuthor")@ResponseBodypublicintdelAuthor(IntegerauthorId){System.out.println("刪除數(shù)據(jù):"+authorId);intresult=authorService.delAuthor(authorId);returnresult;}@RequestMapping("/selectKeywordName")@ResponseBodypublicMap<String,Object>selectKeywordName(AuthorAssistauthorAssist){System.out.println("你好世界:"+authorAssist.getKeyword());Map<String,Object>map=newHashMap<String,Object>();PageInfopageList=authorService.selectByNameAuthor(authorAssist);map.put("pageList",pageList);map.put("sum",pageList.getTotal());map.put("sumPage",pageList.getPages());map.put("number",pageList.getPageNum());returnmap;}5.2.4用戶管理管理員通過用戶管理界面查看所有的用戶信息,還可以對用戶進(jìn)行刪除,用戶管理展示如圖5-12所示。圖5-12用戶管理界面用戶管理部分代碼:@RequestMapping("/selectMyShoppingCarts")@ResponseBodypublicList<OrderFromAssist>selectMyShoppingCarts(IntegeruserId){List<OrderFromAssist>list=orderFromService.selectOrderByUser(userId);returnlist;}@RequestMapping("/delMyShoppingCarts")@ResponseBodypublicintdelMyShoppingCarts(IntegerorderId){System.out.println(orderId);intresult=orderFromService.delOrder(orderId);returnresult;}5.2.5分類管理管理員通過分類管理界面查看圖書的分類信息,也可以對圖書分類進(jìn)行增加、修改、刪除等操作,分類管理展示如圖5-13所示。圖5-13分類管理界面分類管理部分代碼:@RequestMapping("/selectByUserName")@ResponseBodypublicMap<String,Object>selectByUserName(ScreenBookscreenBook){Map<String,Object>map=newHashMap<String,Object>();PageInfopageList=orderFromService.selectBoughtByUser(screenBook);map.put("pageList",pageList);map.put("sum",pageList.getTotal());map.put("sumPage",pageList.getPages());map.put("number",pageList.getPageNum());returnmap;}@RequestMapping("/delBought")@ResponseBodypublicintdelBought(OrderFromAssistorderFromAssist){System.out.println("前臺數(shù)據(jù):"+orderFromAssist.getBookId());intresult=orderFromService.delBought(orderFromAssist);returnresult;}6系統(tǒng)測試6.1系統(tǒng)測試的環(huán)境本系統(tǒng)的測試運(yùn)行環(huán)境包含軟件環(huán)境(如:操作系統(tǒng)、Web服務(wù)器、數(shù)據(jù)庫),如表6-1所示;以及硬件環(huán)境(如:CPU、內(nèi)存、硬盤、顯示器),如表6-2所示。 表6-1系統(tǒng)運(yùn)行環(huán)境軟件環(huán)境值操作系統(tǒng)Windows1064位Web服務(wù)器Tomcat8.5數(shù)據(jù)庫MySQL5.5表6-2硬件運(yùn)行環(huán)境硬件環(huán)境值CPU2.9GHz或以上內(nèi)存4GB或以上硬盤128GB或以上顯示器1920*1080或以上6.2測試用例6.2.1前臺服務(wù)測試前臺服務(wù)測試,如:注冊、登錄、搜索、加入購物車、刪除圖書、購買圖書、填寫地址等情況下測試結(jié)果與預(yù)期結(jié)果是否一致,如表6-2-1所示。表6-2-1前臺界面測試表測試名稱測試步驟輸出結(jié)果測試結(jié)果與預(yù)期結(jié)果注冊點(diǎn)擊“注冊賬號”彈出注冊信息與預(yù)期結(jié)果一致登錄點(diǎn)擊“登錄”彈出登錄頁面與預(yù)期結(jié)果一致搜索輸入關(guān)鍵字點(diǎn)擊搜索查詢出包含關(guān)鍵字的圖書與預(yù)期結(jié)果一致加入購物車點(diǎn)擊“添加購物車”彈出添加成功提示,并在購物車中有記錄與預(yù)期結(jié)果一致刪除圖書在購物車點(diǎn)擊“刪除”彈出刪除成功與預(yù)期結(jié)果一致購買圖書

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論