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

下載本文檔

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

文檔簡(jiǎn)介

II基于JSP的圖書(shū)銷售系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)目錄TOC\o"1-3"\h\u108961緒論 1165422系統(tǒng)開(kāi)發(fā)工具和技術(shù) 134122.1系統(tǒng)開(kāi)發(fā)工具 1247052.2系統(tǒng)開(kāi)發(fā)技術(shù) 2187522.2.1JSP 2321602.2.2B/S架構(gòu) 252112.2.3MySQL 3300863系統(tǒng)分析 4243503.1可行性分析 4172793.2界面需求分析 565443.3系統(tǒng)功能需求分析 565814系統(tǒng)設(shè)計(jì) 6118814.1系統(tǒng)架構(gòu)設(shè)計(jì) 672494.2系統(tǒng)總體設(shè)計(jì) 6195195系統(tǒng)實(shí)現(xiàn) 757515.1系統(tǒng)前臺(tái)功能模塊的實(shí)現(xiàn) 753715.1.1用戶注冊(cè) 7885.1.2用戶登錄 9200195.1.3圖書(shū)搜索 1099115.1.4圖書(shū)篩選 11166705.2系統(tǒng)后臺(tái)功能模塊的實(shí)現(xiàn) 1219255.2.1圖書(shū)管理 12120765.2.2訂單管理 15216445.2.3作者管理 16104005.2.4用戶管理 17215646系統(tǒng)測(cè)試 18155026.1系統(tǒng)測(cè)試的環(huán)境 18230646.2測(cè)試用例 19302506.2.1前臺(tái)服務(wù)測(cè)試 1969996.2.2后臺(tái)功能測(cè)試 19310636.2.3壓力測(cè)試 202480總結(jié) 2224781參考文獻(xiàn) 231緒論面對(duì)互聯(lián)網(wǎng)本身所具有的全球性、兼容性、擴(kuò)展性、高效性等特點(diǎn),傳統(tǒng)商業(yè)格局反應(yīng)出的問(wèn)題也越來(lái)越顯著,原有的商業(yè)格局和商務(wù)運(yùn)作模式在互聯(lián)網(wǎng)面前也顯得龐大臃腫,沒(méi)有競(jìng)爭(zhēng)力,客觀形勢(shì)給傳統(tǒng)圖書(shū)零售企業(yè)帶來(lái)了壓力和動(dòng)力、機(jī)遇和挑戰(zhàn)、如何把握這個(gè)以互聯(lián)網(wǎng)為主題的商業(yè)模式成為傳統(tǒng)書(shū)業(yè)是否把握住機(jī)會(huì)實(shí)現(xiàn)新的飛躍的契機(jī),所以重組原有的經(jīng)營(yíng)模式來(lái)契合互聯(lián)網(wǎng)的發(fā)展以取得最大的效益。據(jù)調(diào)查目前在我國(guó),大約兩萬(wàn)家國(guó)有大中型企業(yè)中的一半左右使用了互聯(lián)網(wǎng)營(yíng)銷,其中一些企業(yè)擁有了自己的企業(yè)官方網(wǎng)站和web服務(wù)器[1]?!熬W(wǎng)上購(gòu)物”這個(gè)于二十世紀(jì)新興的購(gòu)物方式已經(jīng)為被越來(lái)越多的人所接受和認(rèn)可,并且逐漸吞噬著傳統(tǒng)購(gòu)物的市場(chǎng)份額。大部分年輕人和公司職員、學(xué)生都有網(wǎng)上購(gòu)物的經(jīng)歷,其中大部分人有已經(jīng)養(yǎng)成了網(wǎng)上購(gòu)物的習(xí)慣[2]。在互聯(lián)網(wǎng)飛速發(fā)展的同時(shí),網(wǎng)上購(gòu)物也跟同樣以驚人的速度占據(jù)著市場(chǎng)份額。傳統(tǒng)的零售企業(yè)如果不把握這個(gè)機(jī)會(huì),將面對(duì)的是新一輪技術(shù)革命帶來(lái)的洗牌。近年來(lái),隨者計(jì)算機(jī)技術(shù)和互聯(lián)網(wǎng)的飛速發(fā)展網(wǎng)上書(shū)店在技術(shù)手段、成本控制和價(jià)格策略上有很大的優(yōu)勢(shì)。傳統(tǒng)的實(shí)體書(shū)店的運(yùn)營(yíng)效率已不能適應(yīng)新的發(fā)展需要,無(wú)法很好的實(shí)現(xiàn)盈利,提高經(jīng)濟(jì)效益。本系統(tǒng)開(kāi)發(fā)的主要目的是通過(guò)先進(jìn)的技術(shù)手段將傳統(tǒng)書(shū)店更好的展現(xiàn)在互聯(lián)網(wǎng)平臺(tái)上,實(shí)現(xiàn)在線銷售,為傳統(tǒng)書(shū)店創(chuàng)造更大的經(jīng)濟(jì)效益。2系統(tǒng)開(kāi)發(fā)工具和技術(shù)2.1系統(tǒng)開(kāi)發(fā)工具本系統(tǒng)使用的是Tomcat8.5服務(wù)器,使用的開(kāi)發(fā)工具是IDEA,接下來(lái)對(duì)IDEA和Tomcat進(jìn)行解釋說(shuō)明。(1)IDEA全稱IntelliJIDEA,是用于java語(yǔ)言開(kāi)發(fā)的集成環(huán)境(也可用于其他語(yǔ)言),IntelliJ在業(yè)界被公認(rèn)為最好的java開(kāi)發(fā)工具之一,尤其在智能代碼助手、代碼自動(dòng)提示、重構(gòu)、J2EE支持、Ant、JUnit、CVS整合、代碼審查、創(chuàng)新的GUI設(shè)計(jì)等方面的功能可以說(shuō)是超常的。IDEA是JetBrains公司的產(chǎn)品,這家公司總部位于捷克共和國(guó)的首都布拉格,開(kāi)發(fā)人員以嚴(yán)謹(jǐn)著稱的東歐程序員為主。(2)Tomcat服務(wù)器作為一個(gè)Web應(yīng)用服務(wù)器,它不僅是免費(fèi)的,而且還是開(kāi)放源代碼的。它比較廣泛的應(yīng)用在用戶不是特別多的情況下,屬于輕量級(jí)應(yīng)用服務(wù)器。是開(kāi)發(fā)JSP程序的首選,同時(shí)也是調(diào)試JSP程序的首選。Tomcat服務(wù)器實(shí)際上是Apache服務(wù)器的擴(kuò)展,但它在運(yùn)行時(shí)獨(dú)立運(yùn)行。2.2系統(tǒng)開(kāi)發(fā)技術(shù)本節(jié)對(duì)本系統(tǒng)主要的系統(tǒng)開(kāi)發(fā)技術(shù)JSP、B/S架構(gòu)、MySQL、SSM框架進(jìn)行詳細(xì)的解釋說(shuō)明。2.2.1JSPJSP是JavaServerPage的簡(jiǎn)稱。它是由Sun公司提出,多家公司合伙建立、制定的網(wǎng)頁(yè)標(biāo)準(zhǔn)。主要目的是開(kāi)發(fā)設(shè)計(jì)動(dòng)態(tài)類型的網(wǎng)頁(yè)。JSP有面向?qū)ο驤ava語(yǔ)言的特點(diǎn),允許Web程序人員設(shè)計(jì)和開(kāi)發(fā)信息量豐富、與運(yùn)行平臺(tái)無(wú)關(guān)、動(dòng)態(tài)性很強(qiáng)的Web頁(yè)面,使Web管理人員簡(jiǎn)單容易地構(gòu)建信息化平臺(tái),建立起可靠高效的Web用用程序網(wǎng)站[6]。JSP能夠讓用戶UI界面從內(nèi)容方面中剝離出來(lái),使Web設(shè)計(jì)者在這些情況下不用修改其有關(guān)動(dòng)態(tài)頁(yè)面,就完全能夠完成對(duì)系統(tǒng)頁(yè)面的樣式設(shè)計(jì)。JSP有以下幾個(gè)明顯特點(diǎn):(1)一次編寫(xiě),隨處運(yùn)行。依據(jù)JAVA語(yǔ)言編寫(xiě)JSP代碼,可以在任何含有JVM的操作系統(tǒng)上運(yùn)行。(2)具有統(tǒng)一的技術(shù)規(guī)范。在Sun公司提議下,市面上很多公司一起制定了一系列的規(guī)范,獲得廣泛的應(yīng)用。(3)自由的擴(kuò)展JSP標(biāo)簽。JSP可以將標(biāo)簽以及標(biāo)簽庫(kù)進(jìn)行擴(kuò)展,并使用Taglib所帶來(lái)的功能去實(shí)現(xiàn)需求。(4)執(zhí)行性能高。JSP一旦編譯成為.class文件,代碼沒(méi)有改變時(shí),只需要編譯一次就能多次使用。(5)開(kāi)發(fā)工具多而強(qiáng)大。當(dāng)前有很多免費(fèi)的Java開(kāi)發(fā)軟件,如JBuilder、MyEclipse等,設(shè)計(jì)JSP頁(yè)面可憑借于上述工具,去編寫(xiě)高效地JSP頁(yè)面。在Servlet和Jstl的支持下,JSP可以設(shè)計(jì)更多功能的小程序。2.2.2B/S架構(gòu)B/S(Brower/Server,瀏覽器/服務(wù)器)模式,也可以稱之為B/S構(gòu)架。它是一種網(wǎng)絡(luò)結(jié)構(gòu)模式,在Web興起之后出現(xiàn),使得系統(tǒng)開(kāi)發(fā),系統(tǒng)維護(hù)和系統(tǒng)使用變的相對(duì)簡(jiǎn)單了些。因?yàn)樗鼘⑾到y(tǒng)功能實(shí)現(xiàn)的核心部分都放在了服務(wù)器上。只需要將瀏覽器安裝在客戶端上,然后在服務(wù)器上安裝SQLServer,Oracle或MySQL等數(shù)據(jù)庫(kù),瀏覽器即可通過(guò)Web服務(wù)器與數(shù)據(jù)庫(kù)實(shí)現(xiàn)數(shù)據(jù)交互。B/S架構(gòu)具有以下優(yōu)點(diǎn):(1)無(wú)需安裝專門(mén)的軟件,就可以實(shí)現(xiàn)在任意地點(diǎn)進(jìn)行操作。只要有一臺(tái)可以訪問(wèn)Internet的計(jì)算機(jī),就可以使用,實(shí)現(xiàn)了在客戶端上的零安裝和零維護(hù)。(2)Ajax技術(shù)由需求推動(dòng)進(jìn)行了進(jìn)一步的發(fā)展,使得程序的一部分可以在客戶端計(jì)算機(jī)上被處理,這樣服務(wù)器上的負(fù)荷顯然減少了,并且局部可以進(jìn)行實(shí)時(shí)更新[7]。(3)B/S構(gòu)架結(jié)合多個(gè)瀏覽器腳本語(yǔ)言和ActiveX技術(shù),使用通用瀏覽器,對(duì)那些必須使用復(fù)雜特殊軟件才能實(shí)現(xiàn)的功能進(jìn)行實(shí)現(xiàn),大大縮減了開(kāi)發(fā)成本。Web應(yīng)用程序是基于B/S(瀏覽器/服務(wù)器)體系結(jié)構(gòu)的開(kāi)發(fā)模型,B/S系統(tǒng)架構(gòu)如圖2-1所示。應(yīng)答應(yīng)答SQL請(qǐng)求應(yīng)答請(qǐng)求應(yīng)答請(qǐng)求Web瀏覽器1Web瀏覽器2部署項(xiàng)目的Web服務(wù)器(本系統(tǒng)為T(mén)omcat)部署項(xiàng)目的Web服務(wù)器(本系統(tǒng)為MySQL)表示層應(yīng)用層數(shù)據(jù)層圖2-1B/S系統(tǒng)架構(gòu)圖2.2.3MySQL數(shù)據(jù)庫(kù)(Database,DB)就是一個(gè)倉(cāng)庫(kù),只不過(guò)它是用來(lái)存儲(chǔ)數(shù)據(jù)的。為了促進(jìn)數(shù)據(jù)存儲(chǔ)和管理,數(shù)據(jù)庫(kù)根據(jù)某些特定規(guī)律將數(shù)據(jù)存儲(chǔ)在磁盤(pán)上。數(shù)據(jù)庫(kù)管理系統(tǒng)(DatabaseManagementSystem,DBMS)是建立在操作系統(tǒng)之上的數(shù)據(jù)管理軟件,當(dāng)對(duì)軟件項(xiàng)目進(jìn)行開(kāi)發(fā)時(shí),可以使用數(shù)據(jù)庫(kù)管理系統(tǒng),對(duì)各種數(shù)據(jù)進(jìn)行管理,操縱數(shù)據(jù)實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的基本操作,進(jìn)而確保數(shù)據(jù)庫(kù)的完整性和安全性。數(shù)據(jù)庫(kù)管理系統(tǒng)的使用,可以高效地管理數(shù)據(jù)庫(kù)中存儲(chǔ)的數(shù)據(jù),同時(shí)還提高了程序員對(duì)應(yīng)用程序進(jìn)行開(kāi)發(fā)的效率。MySQL就是一種數(shù)據(jù)庫(kù)管理系統(tǒng),按照數(shù)據(jù)模型進(jìn)行分類,它屬于關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)(RDBMS)。MySQL開(kāi)放源代碼,使用的語(yǔ)言(SQL)簡(jiǎn)潔,易學(xué)易用。MySQL還有很多的優(yōu)點(diǎn):(1)MySQL支持多個(gè)處理器。(2)MySQL可以在不同的平臺(tái)上運(yùn)行。支持C,C++,Java,Perl,PHP,Python和TCLAPI[9]。(3)MySQL通過(guò)高度優(yōu)化的類庫(kù)來(lái)實(shí)現(xiàn)SQL函數(shù)庫(kù),并且會(huì)盡可能的快速。(4)全面支持SQL的GROUPBY和ORDERBY子句,支持聚合函數(shù)COUNT()、COUNT(DISTINCT)、AVG()、STD()、SUM()、MAX()和MIN()。(5)使用MySQL構(gòu)建系統(tǒng)數(shù)據(jù)庫(kù)不僅對(duì)集成早期的數(shù)據(jù)處理操作有用,而且對(duì)于后期的二次開(kāi)發(fā)中的數(shù)據(jù)擴(kuò)展操作也很有用。(6)MySQL非常擅長(zhǎng)有限的數(shù)據(jù)處理。3系統(tǒng)分析3.1可行性分析實(shí)際情況下,在給定的系統(tǒng)規(guī)?;驎r(shí)間范圍內(nèi)會(huì)有許多問(wèn)題無(wú)法解決。如果不能解決問(wèn)題,那將浪費(fèi)消耗在該項(xiàng)目上的所有資源。進(jìn)行可行性分析,就是為了確保在付出最小代價(jià)的情況下,使用盡可能短的時(shí)間,來(lái)確定是否能夠解決問(wèn)題。因此,在系統(tǒng)開(kāi)發(fā)之前,需要對(duì)系統(tǒng)進(jìn)行全面的分析和評(píng)估,主要是從經(jīng)濟(jì)、技術(shù)、操作等方面分析,以確定系統(tǒng)是否具有開(kāi)發(fā)的必要,是否能夠解決它所面臨的問(wèn)題,以及是否能夠在既定的時(shí)間和資源下實(shí)現(xiàn)。關(guān)于本課題所研究系統(tǒng)的可行性分析過(guò)程如下所示:(1)經(jīng)濟(jì)可行性:是從經(jīng)濟(jì)學(xué)的角度判斷系統(tǒng)是否值得開(kāi)發(fā)的一個(gè)指標(biāo),通過(guò)比對(duì)系統(tǒng)研發(fā)過(guò)程中投入的總成本和預(yù)計(jì)能夠得到的經(jīng)濟(jì)效益可以得出。系統(tǒng)開(kāi)發(fā)需求比較低,開(kāi)發(fā)所需的工具和技術(shù)也都開(kāi)源免費(fèi),再加上現(xiàn)如今快速發(fā)展早已成熟的硬件環(huán)境,所以在軟硬件方面的支出是很有限的。而且,在進(jìn)行該網(wǎng)站的開(kāi)發(fā)之前,已經(jīng)有了無(wú)數(shù)前人的經(jīng)驗(yàn)可以借鑒,再加上本系統(tǒng)并不是非常的復(fù)雜,所以開(kāi)發(fā)的周期不會(huì)很長(zhǎng)。因此從經(jīng)濟(jì)角度上來(lái)看是可行的。(2)技術(shù)可行性:從我們實(shí)現(xiàn)系統(tǒng)所采用的技術(shù)方面進(jìn)行分析,就可以得到關(guān)于本系統(tǒng)的技術(shù)可行性結(jié)論。Java誕生于上個(gè)世紀(jì)九十年代,具有悠久的發(fā)展歷程,而經(jīng)過(guò)這將近二十年的發(fā)展歷程,已經(jīng)具有一個(gè)安全、穩(wěn)定的開(kāi)發(fā)平臺(tái),并且關(guān)于使用Java語(yǔ)言和JSP技術(shù)開(kāi)發(fā)Web應(yīng)用的經(jīng)驗(yàn)已經(jīng)足夠豐富,技術(shù)已較為成熟。高效迅速的數(shù)據(jù)存儲(chǔ)工具M(jìn)ySQL,性能穩(wěn)定的Web服務(wù)器Tomcat,再加上開(kāi)發(fā)人員數(shù)量和質(zhì)量均符合要求,因此在技術(shù)方面是可行的,在規(guī)定的期限內(nèi)開(kāi)發(fā)工作基本能夠完成。(3)操作可行性:通過(guò)進(jìn)行調(diào)查,研究人們的操作習(xí)慣,精心設(shè)計(jì)網(wǎng)站頁(yè)面和功能模塊,使系統(tǒng)易于操作,高效、快速的使用。操作人只需要一臺(tái)計(jì)算機(jī)即可通過(guò)輸入網(wǎng)址在瀏覽器上使用本網(wǎng)站對(duì)圖書(shū)進(jìn)行購(gòu)買,用戶無(wú)需掌握計(jì)算機(jī)專業(yè)知識(shí)就能快速掌握系統(tǒng)的使用技巧。因此,在操作上是可行的。綜上所述,該系統(tǒng)在經(jīng)濟(jì)、技術(shù)、操作等方面是可行的。3.2界面需求分析軟件界面是人與計(jì)算機(jī)交換信息的一種媒介,它的質(zhì)量,是用戶能夠充分利用應(yīng)用系統(tǒng)功能的前提。就現(xiàn)在來(lái)說(shuō),評(píng)估軟件質(zhì)量的關(guān)鍵指標(biāo)之一就是界面設(shè)計(jì)。主要有四個(gè)因素在界面需求分析中需要考慮:(1)界面元素通常一個(gè)用戶界面會(huì)具有的元素有:顏色、字體及其顏色和大小、布局、交互方式、功能布局、輸入輸出模式等。(2)用戶角色不同的用戶角色對(duì)軟件界面會(huì)有著不同的要求。(3)需求變化用戶在使用過(guò)后才能知道設(shè)計(jì)是否符合自己的操作習(xí)慣,界面元素是否滿足自己的審美要求,從而提出進(jìn)一步更明確的要求,所以需求是會(huì)發(fā)生變化的。(4)界面原型想要最大程度地減少研究界面需求的周期,并確保設(shè)計(jì)出來(lái)的界面能夠盡可能滿足用戶的體驗(yàn)要求,就要利用好界面原型。使用界面原型來(lái)引領(lǐng)用戶對(duì)界面提出新的要求,以達(dá)到其最理想的界面效果。3.3系統(tǒng)功能需求分析本系統(tǒng)分為前臺(tái)用戶系統(tǒng)和后臺(tái)管理員系統(tǒng)。1.對(duì)應(yīng)用戶的前臺(tái)用戶系統(tǒng)主要有以下幾項(xiàng)功能:(1)注冊(cè)登陸:顧客可以通過(guò)填寫(xiě)注冊(cè)信息成為用戶,登陸后才能進(jìn)行購(gòu)物車的管理和購(gòu)買圖書(shū),未登陸的用戶即游客只能瀏覽商品。(2)瀏覽模塊:顧客可以瀏覽圖書(shū)的詳細(xì)信息(如名稱、圖片、價(jià)格等)。(3)查詢模塊:顧客可以通過(guò)輸入關(guān)鍵字進(jìn)行圖書(shū)的查詢。(4)購(gòu)物車模塊:會(huì)員登錄后可以管理購(gòu)物車。將圖書(shū)放入購(gòu)物車,對(duì)購(gòu)物車中的圖書(shū)進(jìn)行數(shù)量修改和刪除,下訂單和查看訂單。2.對(duì)應(yīng)管理員的后臺(tái)管理員系統(tǒng)主要有以下幾項(xiàng)功能:(1)圖書(shū)管理模塊:管理員登陸后可以查看商品的種類和信息。也可以對(duì)商品進(jìn)行增刪改查操作。(2)訂單管理模塊:管理員可以查看訂單的詳情。(3)用戶管理模塊:管理員可以通過(guò)后臺(tái)查看用戶信息包括用戶名、密碼等。還可以對(duì)系統(tǒng)用戶信息進(jìn)行修改和刪除。(4)分類管理:管理員可以對(duì)圖書(shū)的分類進(jìn)行相應(yīng)的管理操作。4系統(tǒng)設(shè)計(jì)4.1系統(tǒng)架構(gòu)設(shè)計(jì)B/S模式也就是瀏覽器/服務(wù)器模式,它的界面部分是在瀏覽器端展示,而主要工作是由服務(wù)器端進(jìn)行實(shí)現(xiàn)的,用戶的請(qǐng)求由瀏覽器端提交給服務(wù)器端進(jìn)行處理,而服務(wù)器將處理結(jié)果反饋給瀏覽器端,在瀏覽器端界面描畫(huà)給用戶查看。采用B/S模式不僅可以避免用戶必須安裝專業(yè)軟件才能開(kāi)發(fā)系統(tǒng)或者訪問(wèn)系統(tǒng)的局限性,而且更加便利。4.2系統(tǒng)總體設(shè)計(jì)根據(jù)前面的各項(xiàng)設(shè)計(jì)分析,按照系統(tǒng)開(kāi)發(fā)的基本理念對(duì)網(wǎng)站進(jìn)行分解,從模塊上主要可分為前臺(tái)模塊和后臺(tái)模塊。游客只可以進(jìn)行部分信息的查看,注冊(cè)登錄后可以擁有所有權(quán)限,進(jìn)行查看商品信息,實(shí)現(xiàn)在線下單,后臺(tái)包括用戶管理、圖書(shū)管理、訂單管理(訂單信息錄入、刪除、修改)、作者管理、分類管理,管理員對(duì)系統(tǒng)進(jìn)行全面管理,進(jìn)行系統(tǒng)維護(hù)。系統(tǒng)總體功能結(jié)構(gòu)圖如圖4-1所示。圖4-1系統(tǒng)功能結(jié)構(gòu)圖5系統(tǒng)實(shí)現(xiàn)5.1系統(tǒng)前臺(tái)功能模塊的實(shí)現(xiàn)5.1.1用戶注冊(cè)沒(méi)有賬號(hào)的游客只能在系統(tǒng)中瀏覽系統(tǒng)中的相關(guān)信息,不能進(jìn)行購(gòu)買等操作,如果用戶想要在本系統(tǒng)中購(gòu)買圖書(shū),需要注冊(cè)一個(gè)賬號(hào),用戶注冊(cè)頁(yè)面如圖5-1所示。圖5-1注冊(cè)界面用戶注冊(cè)關(guān)鍵代碼:@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("訪問(wèn)圖片的路徑"+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="注冊(cè)失敗,用戶已經(jīng)存在";

map.put("no",registerYes);

}

StringregisterYes="注冊(cè)成功";

map.put("yes",registerYes);

returnmap;

}

}5.1.2用戶登錄注冊(cè)成功或擁有賬號(hào)的用戶,可以點(diǎn)擊登錄按鈕進(jìn)行登錄操作。在登錄頁(yè)面用戶需要輸入用戶名和對(duì)應(yīng)的密碼,后臺(tái)會(huì)對(duì)用戶名和密碼的正確性進(jìn)行校驗(yàn),校驗(yàn)通過(guò)則登錄成功,否則失敗進(jìn)行模糊提示,登錄頁(yè)面如圖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圖書(shū)搜索用戶可以登錄系統(tǒng)后可查看商品列表,可以在系統(tǒng)上方搜索框內(nèi)輸入搜索關(guān)鍵信息搜索圖書(shū),圖書(shū)搜索如圖5-3所示。圖5-3圖書(shū)搜索圖書(shū)搜索關(guān)鍵代碼:@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圖書(shū)篩選用戶可以登錄系統(tǒng),查看商品信息,在系統(tǒng)輪播圖下方有一個(gè)按照?qǐng)D書(shū)評(píng)分和圖書(shū)價(jià)格進(jìn)行篩選的選擇框,用戶可以根據(jù)自己需求從圖書(shū)價(jià)格和圖書(shū)評(píng)分兩個(gè)方面對(duì)圖書(shū)信息進(jìn)行篩選,其界面圖如圖5-4所示。圖5-4圖書(shū)篩選圖書(shū)篩選關(guān)鍵代碼:@RequestMapping("/selectScreenBookDesc2")@ResponseBodypublicMap<String,Object>selectScreenBookDesc2(ScreenBookscreenBook,HttpServletResponseresponse){System.out.println("頁(yè)面數(shù):"+screenBook.getPageNum());System.out.println("條數(shù):"+screenBook.getPageSize());Map<String,Object>map=newHashMap<String,Object>();PageInfopageList=bookService.selectScreenBook(screenBook);//圖書(shū)信息記錄總條數(shù)intsum=(int)pageList.getTotal();//圖書(shū)頁(yè)面總數(shù)量intpageSum=pageList.getPages();//當(dāng)前頁(yè)數(shù)intnumber=pageList.getPageNum();//把所有的值都封裝到map里面map.put("pageList",pageList);map.put("sum",sum);map.put("pageSum",pageSum);map.put("numbers",number);returnmap;}5.2系統(tǒng)后臺(tái)功能模塊的實(shí)現(xiàn)5.2.1圖書(shū)管理管理員進(jìn)入到系統(tǒng)的后臺(tái)管理中,可以看到系統(tǒng)中所有的圖書(shū)信息列表,同時(shí)還可以對(duì)圖書(shū)進(jìn)行增加、刪除、修等操作,其界面展示如圖5-5所示。圖5-5圖書(shū)管理界面圖書(shū)管理關(guān)鍵代碼:@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("訪問(wèn)圖片的路徑"+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("我來(lái)也!");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對(duì)象)FiletargetFile=newFile(realpath,fileName);if(!targetFile.exists()){targetFile.mkdirs();System.out.println(targetFile+"創(chuàng)建成功");}StringpicUrl="http://localhost:8080/img/"+fileName;System.out.println("訪問(wèn)圖片的路徑"+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訂單管理在這個(gè)頁(yè)面上,我們可以實(shí)現(xiàn)以下功能:查看用戶訂單,包括了營(yíng)業(yè)總額、訂單編號(hào)、用戶的收貨信息和商品信息;可以對(duì)訂單執(zhí)行刪除操作。如圖5-6所示。圖5-6訂單管理界面訂單管理關(guān)鍵代碼:@RequestMapping("/addBought")@ResponseBodypublicintaddBought(OrderFromAssistorderFromAssist){orderFromAssist.setIsDelete(1);System.out.println(orderFromAssist);intresult=orderFromService.addBought(orderFromAssist);returnresult;}5.2.3作者管理管理員用戶進(jìn)入作者管理頁(yè)面,可以看到系統(tǒng)中所有圖書(shū)對(duì)應(yīng)的圖書(shū)作者的相關(guān)信息,并且可以進(jìn)行相應(yīng)的搜索、刪除等操作,如下圖5-7所示。圖5-7作者管理界面作者管理關(guān)鍵代碼:@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用戶管理管理者可以通過(guò)用戶管理界面進(jìn)行查看所有的用戶信息,并且可以根據(jù)提示對(duì)用戶進(jìn)行刪除等操作,用戶管理展示如圖5-8所示。圖5-8用戶管理界面用戶管理關(guān)鍵代碼:@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;}6系統(tǒng)測(cè)試6.1系統(tǒng)測(cè)試的環(huán)境本系統(tǒng)的測(cè)試運(yùn)行環(huán)境包含軟件環(huán)境(如:操作系統(tǒng)、Web服務(wù)器、數(shù)據(jù)庫(kù)),如表6-1所示;以及硬件環(huán)境(如:CPU、內(nèi)存、硬盤(pán)、顯示器),如表6-2所示。表6-1系統(tǒng)運(yùn)行環(huán)境軟件環(huán)境值操作系統(tǒng)Windows1064位Web服務(wù)器Tomcat8.5數(shù)據(jù)庫(kù)MySQL5.5表6-2硬件運(yùn)行環(huán)境硬件環(huán)境值CPU2.9GHz或以上內(nèi)存4GB或以上硬盤(pán)128GB或以上顯示器1920*1080或以上6.2測(cè)試用例6.2.1前臺(tái)服務(wù)測(cè)試前臺(tái)服務(wù)測(cè)試,如:注冊(cè)、登錄、搜索、加入購(gòu)物車、刪除圖書(shū)、購(gòu)買圖書(shū)、填寫(xiě)地址等情況下測(cè)試結(jié)果與預(yù)期結(jié)果是否一致,如表6-3所示。表6-3前臺(tái)服務(wù)測(cè)試表測(cè)試名稱測(cè)試步驟輸出結(jié)果測(cè)試結(jié)果與預(yù)期結(jié)果注冊(cè)點(diǎn)擊“注冊(cè)賬號(hào)”彈出注冊(cè)信息與預(yù)期結(jié)果一致登錄點(diǎn)擊“登錄”彈出登錄頁(yè)面與預(yù)期結(jié)果一致搜索輸入關(guān)鍵字點(diǎn)擊搜索查詢出包含關(guān)鍵字的圖書(shū)與預(yù)期結(jié)果一致加入購(gòu)物車點(diǎn)擊“添加購(gòu)物車”彈出添加成功提示,并在購(gòu)物車中有記錄與預(yù)期結(jié)果一致刪除圖書(shū)在購(gòu)物車點(diǎn)擊“刪除”彈出刪除成功與預(yù)期結(jié)果一致購(gòu)買圖書(shū)在圖書(shū)詳情界面點(diǎn)擊“立即購(gòu)買”彈出購(gòu)買頁(yè)面與預(yù)期結(jié)果一致填寫(xiě)地址在購(gòu)買頁(yè)面可輸入地址后點(diǎn)擊“購(gòu)買”彈出購(gòu)買成功與預(yù)期結(jié)果一致6.2.2后臺(tái)功能測(cè)試后臺(tái)功能測(cè)試,如:用戶賬號(hào)不存在、賬號(hào)密碼錯(cuò)誤、輸入驗(yàn)證碼錯(cuò)誤、選擇賬號(hào)類型錯(cuò)誤、輸入全部正確的情況下和對(duì)應(yīng)的預(yù)期結(jié)果對(duì)比是否正常,如表6-4所示。圖6-4后臺(tái)功能測(cè)試表測(cè)試名稱測(cè)試步驟輸出結(jié)果測(cè)試結(jié)果與預(yù)期結(jié)果登錄管理員輸入賬號(hào)密碼跳轉(zhuǎn)至后臺(tái)主頁(yè)面與預(yù)期結(jié)果一致圖書(shū)添加管理員可在圖書(shū)管理中點(diǎn)擊“添加”彈出添加圖書(shū)信息頁(yè)面與預(yù)期結(jié)果一致圖書(shū)刪除管理員可在圖書(shū)管理中選擇要?jiǎng)h除圖書(shū)并點(diǎn)擊“批量刪除”彈出要?jiǎng)h除的圖書(shū)編號(hào)需確認(rèn)刪除后方可刪除與預(yù)期結(jié)果一致訂單管理點(diǎn)擊訂單管理下已購(gòu)訂單列表頁(yè)面跳轉(zhuǎn)至已購(gòu)訂單列表與預(yù)期結(jié)果一致分類管理點(diǎn)擊分類管理下分類列表頁(yè)面跳轉(zhuǎn)至分類列表與預(yù)期結(jié)果一致作者管理點(diǎn)擊作者管理下作者列表頁(yè)面跳轉(zhuǎn)至作者信息列表與預(yù)期結(jié)果一致查看用戶列表點(diǎn)擊用戶列表頁(yè)面跳轉(zhuǎn)至用戶信息列表與預(yù)期結(jié)果一致6.2.3壓力測(cè)試壓力測(cè)試是在高負(fù)荷情況下進(jìn)行的測(cè)試,例如在大量數(shù)據(jù)操作、大

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論