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

下載本文檔

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

文檔簡介

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

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用戶登錄注冊成功或擁有賬號的用戶,可以點擊登錄按鈕進行登錄操作。在登錄頁面用戶需要輸入用戶名和對應(yīng)的密碼,后臺會對用戶名和密碼的正確性進行校驗,校驗通過則登錄成功,否則失敗進行模糊提示,登錄頁面如圖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圖書搜索圖書搜索關(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圖書篩選用戶可以登錄系統(tǒng),查看商品信息,在系統(tǒng)輪播圖下方有一個按照圖書評分和圖書價格進行篩選的選擇框,用戶可以根據(jù)自己需求從圖書價格和圖書評分兩個方面對圖書信息進行篩選,其界面圖如圖5-4所示。圖5-4圖書篩選圖書篩選關(guān)鍵代碼:@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.2系統(tǒng)后臺功能模塊的實現(xiàn)5.2.1圖書管理管理員進入到系統(tǒng)的后臺管理中,可以看到系統(tǒng)中所有的圖書信息列表,同時還可以對圖書進行增加、刪除、修等操作,其界面展示如圖5-5所示。圖5-5圖書管理界面圖書管理關(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("訪問圖片的路徑"+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訂單管理在這個頁面上,我們可以實現(xiàn)以下功能:查看用戶訂單,包括了營業(yè)總額、訂單編號、用戶的收貨信息和商品信息;可以對訂單執(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作者管理管理員用戶進入作者管理頁面,可以看到系統(tǒng)中所有圖書對應(yīng)的圖書作者的相關(guā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用戶管理管理者可以通過用戶管理界面進行查看所有的用戶信息,并且可以根據(jù)提示對用戶進行刪除等操作,用戶管理展示如圖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)測試6.1系統(tǒng)測試的環(huán)境本系統(tǒng)的測試運行環(huán)境包含軟件環(huán)境(如:操作系統(tǒng)、Web服務(wù)器、數(shù)據(jù)庫),如表6-1所示;以及硬件環(huán)境(如:CPU、內(nèi)存、硬盤、顯示器),如表6-2所示。表6-1系統(tǒng)運行環(huán)境軟件環(huán)境值操作系統(tǒng)Windows1064位Web服務(wù)器Tomcat8.5數(shù)據(jù)庫MySQL5.5表6-2硬件運行環(huán)境硬件環(huán)境值CPU2.9GHz或以上內(nèi)存4GB或以上硬盤128GB或以上顯示器1920*1080或以上6.2測試用例6.2.1前臺服務(wù)測試前臺服務(wù)測試,如:注冊、登錄、搜索、加入購物車、刪除圖書、購買圖書、填寫地址等情況下測試結(jié)果與預(yù)期結(jié)果是否一致,如表6-3所示。表6-3前臺服務(wù)測試表測試名稱測試步驟輸出結(jié)果測試結(jié)果與預(yù)期結(jié)果注冊點擊“注冊賬號”彈出注冊信息與預(yù)期結(jié)果一致登錄點擊“登錄”彈出登錄頁面與預(yù)期結(jié)果一致搜索輸入關(guān)鍵字點擊搜索查詢出包含關(guān)鍵字的圖書與預(yù)期結(jié)果一致加入購物車點擊“添加購物車”彈出添加成功提示,并在購物車中有記錄與預(yù)期結(jié)果一致刪除圖書在購物車點擊“刪除”彈出刪除成功與預(yù)期結(jié)果一致購買圖書在圖書詳情界面點擊“立即購買”彈出購買頁面與預(yù)期結(jié)果一致填寫地址在購買頁面可輸入地址后點擊“購買”彈出購買成功與預(yù)期結(jié)果一致6.2.2后臺功能測試后臺功能測試,如:用戶賬號不存在、賬號密碼錯誤、輸入驗證碼錯誤、選擇賬號類型錯誤、輸入全部正確的情況下和對應(yīng)的預(yù)期結(jié)果對比是否正常,如表6-4所示。圖6-4后臺功能測試表測試名稱測試步驟輸出結(jié)果測試結(jié)果與預(yù)期結(jié)果登錄管理員輸入賬號密碼跳轉(zhuǎn)至后臺主頁面與預(yù)期結(jié)果一致圖書添加管理員可在圖書管理中點擊“添加”彈出添加圖書信息頁面與預(yù)期結(jié)果一致圖書刪除管理員可在圖書管理中選擇要刪除圖書并點擊“批量刪除”彈出要刪除的圖書編號需確認刪除后方可刪除與預(yù)期結(jié)果一致訂單管理點擊訂單管理下已購訂單列表頁面跳轉(zhuǎn)至已購訂單列表與預(yù)期結(jié)果一致分類管理點擊分類管理下分類列表頁面跳轉(zhuǎn)至分類列表與預(yù)期結(jié)果一致作者管理點擊作者管理下作者列表頁面跳轉(zhuǎn)至作者信息列表與預(yù)期結(jié)果一致查看用戶列表點擊用戶列表頁面跳轉(zhuǎn)至用戶信息列表與預(yù)期結(jié)果一致6.2.3壓力測試壓力測試是在高負荷情況下進行的測試,例如在大量數(shù)據(jù)操作、大

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論