版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
網(wǎng)上圖書銷售系統(tǒng)的設(shè)計與開發(fā)摘要在當(dāng)今信息化發(fā)展迅速的今天,傳統(tǒng)的線下購物模式由于支付方式的更新,產(chǎn)生了巨大的變革。本文的主旨即中心內(nèi)容所表達的則是介紹圖書網(wǎng)上銷售系統(tǒng)的開發(fā)過程,它使用的是Java語言中使用度最廣泛的eclipse開發(fā)軟件編寫,使用Navicatpremium數(shù)據(jù)庫管理數(shù)據(jù)庫和html語言在tomcat輕量級web服務(wù)器進行前端的制作,并完成這個“五臟俱全”的項目設(shè)計。該系統(tǒng)主要由兩大模塊組成,首先用戶可通過登錄自己的賬號進行圖書的購買,地址的修改,以及模糊查詢的搜索,沒有賬號的用戶可在主頁注冊即可,管理員可對整體系統(tǒng)進行圖書的上架更改查詢進行操作,以及對新“賣家”設(shè)置管理員操作。本系統(tǒng)本著安全,便捷,負責(zé)的原則為圖書愛好者設(shè)立一個便捷的平臺,讓更多線下無法購買到圖書的偏遠地區(qū),感受到網(wǎng)上圖書購物的便捷。關(guān)鍵詞:網(wǎng)上圖書銷售模糊查詢Java開發(fā)第一章緒論1.1課題背景從第一塊比特幣在區(qū)塊鏈中的挖掘,到如今信息化發(fā)展迅速的今天,傳統(tǒng)的線下購物模式由于支付方式的更新,產(chǎn)生了巨大的變革,從阿里巴巴的創(chuàng)立到如今如此發(fā)達的線上交易體系蓬勃發(fā)展,中國整體線上購物環(huán)境的改善是有目共睹的,然而線上的購物模式之所以有如此大的上漲趨勢,通過大數(shù)據(jù)的研究表明網(wǎng)上書店已經(jīng)占據(jù)了中國電子商務(wù)的半壁江山,它為圖書的采購開辟了一條新的途徑。據(jù)有關(guān)資料顯示,打開我國電子商務(wù)快速發(fā)展的局面的是一家網(wǎng)絡(luò)上經(jīng)營的書店——“杭州新華書店”。隨著網(wǎng)上購物已不是電視撥打電話購物的時代,越來越多的元素逐步加入到互聯(lián)網(wǎng)的大潮流中,“書”更不例外,從亞馬遜的建立到中國自己的B2C,我們可以看到在內(nèi)部流水中書籍的流水占比是最大的。這是人們對于知識的渴望,人們從古至今對知識的需求。所以足以見得,如果網(wǎng)上圖書銷售逐步成熟,那么將會對人類對未來的研究邁出關(guān)鍵性的一步。1.2研究意義隨著互聯(lián)網(wǎng)的蓬勃發(fā)展,計算機革命的不斷突破,圖書在網(wǎng)上大力銷售已然成為圖書發(fā)展的必然結(jié)果,這種新時代的銷售模式在互聯(lián)網(wǎng)如此迅速的今天已經(jīng)逐步的代替?zhèn)鹘y(tǒng)的銷售模式,它方便節(jié)省了消費者和銷售者的時間,為消費者在交易方面節(jié)省了不必要支出的“第三方費用”,網(wǎng)上圖書銷售雖然方便但是到目前為止,圖書銷售的平臺越來越多,人們的選擇性也多,因此圖書的銷售管理也應(yīng)當(dāng)格外有特點,從用戶的角度出發(fā)設(shè)計圖書銷售,在功能上應(yīng)當(dāng)具有簡潔快速性,使得普通用戶都可以操作,而不是制作出復(fù)雜的圖書銷售讓普通的用戶無法享受快捷的購物模式,因此本次圖書銷售系統(tǒng)在很多方面都具有一定的研究作用,好的圖書銷售正在脫穎而出,實現(xiàn)獨特的購物流程。另外網(wǎng)上圖書銷售也可使那些偏遠地段的學(xué)生也能通過網(wǎng)絡(luò)買到自己想要的書籍,讓更多的書籍可以為那些偏遠地區(qū)的孩子所讀。所以,網(wǎng)上圖書的銷售在物流行業(yè)的加持下,不僅僅方便書籍的出版,更方便的是渴望讀書的讀者,為知識的傳播,起到了中流砥柱的作用。11.3國內(nèi)外現(xiàn)狀1.3.1國外發(fā)展現(xiàn)狀由于互聯(lián)網(wǎng)在國外起源較快,早在1985年華盛頓服裝商會就興致勃勃的帶全體員工上網(wǎng)行銷,但是由于賠錢不到一年就退出了,這應(yīng)該是國外最早的網(wǎng)上銷售模式了,而后1995年計算機發(fā)展在國外已然成熟后,便成立了我們耳熟能詳?shù)膩嗰R遜網(wǎng),也是隨著各大網(wǎng)絡(luò)平臺的異軍突起,更多的年輕人逐漸喜歡上了網(wǎng)上圖書購物的模式。因而在西方國家,網(wǎng)上圖書銷售已經(jīng)迅速發(fā)展成為了潮流,就像平時的外賣服務(wù)和網(wǎng)購一樣相當(dāng)普及,亞馬遜海外購也是成功的將圖書的銷售帶到了各個國家,來自各個國家的網(wǎng)民都可以在亞馬遜上購買圖書。海外購書不僅受到了讀者的追捧,同時賣家也節(jié)約了收購進書和賣出書籍中間的差價,取代了不少成本。與此同時,由于這種新興行業(yè)的興起,更多的人也有了選擇,可以加入進網(wǎng)上圖書銷售的圈子,讓很多人有了第二份工作。1.3.2國內(nèi)發(fā)展現(xiàn)狀在目前國內(nèi)的網(wǎng)上圖書銷售的領(lǐng)域中,我國有相當(dāng)一部分B2C巨頭營銷書籍,時下較為流行的就是當(dāng)當(dāng)網(wǎng)。如今那么多的圖書銷售網(wǎng)站每天進行交易,只有針對用戶的B2C,是當(dāng)前比較流行的一種方式不僅公開透明,而且品種也比較多,而且在書籍銷售完畢后,用戶還可以看到用戶的評價情況,用戶可以根據(jù)這些評價進行書籍的購買,而且售后服務(wù)比較好,客戶隨時都可以選擇退貨,但是網(wǎng)上書籍銷售系統(tǒng)仍然存許多弊端,因為網(wǎng)上圖書的質(zhì)量目前是無法保證的,因此會買到盜版的圖書,這種情況在國內(nèi)屢見不鮮。1.4本文內(nèi)容介紹本文內(nèi)容主要是以在研究整個網(wǎng)上圖書銷售系統(tǒng)時的思路和框架,將本文分為以下的章節(jié):緒論部分,簡要闡述本課題的背景、研究意義。第二章,關(guān)鍵技術(shù)部分,包括了在系統(tǒng)設(shè)計時使用的語言、開發(fā)工具、平臺等相關(guān)的技術(shù),以及在搭建開發(fā)環(huán)境和程序操作時的步驟流程。2第三章,系統(tǒng)設(shè)計部分,主要是對圖書銷售整個技術(shù)的流程進行介紹,同時著重描述了數(shù)據(jù)庫的功能,制作圖書銷售時的數(shù)據(jù)庫的整體框架和數(shù)據(jù)庫的主要功能。第四章,詳細功能設(shè)計和功能的實現(xiàn)部分,對系統(tǒng)中各主要的技術(shù)通過文字闡述和圖片的方式進行逐一講解和說明。第五章,系統(tǒng)測試部分,主要采用黑盒檢驗,檢驗各個模塊功能是否逐一實現(xiàn),數(shù)據(jù)庫是否具有整一性、安全性,對出現(xiàn)的問題進行解決。第六章,總結(jié)概述部分,總結(jié)在本次系統(tǒng)開發(fā)中的問題、不足,以及心得體會。參考文獻部分,本系統(tǒng)用到的參考文獻將全部放在參考文獻部分。附錄部分,程序中一些重要的代碼放到附錄部分致謝部分,感謝我的老師,以及同學(xué)對我在制作系統(tǒng)和論文期間的幫助。3第二章關(guān)鍵技術(shù)工具2.1java語言Java語言簡單易用、安全可靠,主要是面向?qū)ο缶幊?,自問世以來,與之相關(guān)的技術(shù)和應(yīng)用發(fā)展得非???。在計算機、移動電話、家用電器等領(lǐng)域中,Java技術(shù)無處不在。為了使軟件開發(fā)人員、服務(wù)提供商和設(shè)備生產(chǎn)商可以針對特定的市場進行開發(fā),Java在各個平臺的延伸都非常廣泛。本系統(tǒng)也將使用Java語言貫穿前端后端,為使用人員以后的更新操作奠定堅實的基礎(chǔ)。2.2開發(fā)軟件工具介紹2.2.1eclipse開發(fā)工具介紹eclipse是集成開發(fā)環(huán)境,它是面向所有用戶使用的、使用語言為基礎(chǔ)的可擴充平臺,適用于大多數(shù)語言的開發(fā)、編輯、查錯、幫助等 ,對于編程新手比較容易動手操作的,插件功能方面也比較強大,而且插件都是免費開源的版本,比較方便使用。但是對于較大的項目比較消耗 CPU,有些插件安裝過于復(fù)雜。2.2.2tomcat開發(fā)工具介紹Tomcat是一個輕量級的應(yīng)用型服務(wù)器,在中小型系統(tǒng)和同時訪問用戶數(shù)量不是很多的環(huán)境基礎(chǔ)下被普遍使用,是裝載前端程序的首選。簡單來講就是裝載javaweb程序是web的容器,JSP程序需要在此容器上運行。2.2.3Navicatpremium數(shù)據(jù)庫管理介紹Navicatpremium是成套的數(shù)據(jù)庫管理工具,它是所有其他Navicat成員的結(jié)合版本,支持程序能夠但一連接各種數(shù)據(jù)庫,功能強大。Navicatpremium可適用于開發(fā)數(shù)據(jù)操作系統(tǒng)的大部分技術(shù)功能,它的功能不僅僅對在職場的老手友好,對開發(fā)新手學(xué)習(xí)起來也是相當(dāng)友好的。2.3環(huán)境的配置與搭建2.3.1安裝eclipse以及配置Java所需JDK對于普通的計算機用戶來講,我們的計算機上是不會有JAVA的JDK(軟件開發(fā)工具包)的,因此首先我們需要在JAVAJDK官網(wǎng)上下載一個適用于你的JDK,我下載的是1.8.0版本,然后將JDK放入我的電腦中并配置路徑path。配置好Java環(huán)境的同時我們下載eclipse,下載完成后我們便可以打開我們下載的eclipse,并新建一個工程,開始編寫系統(tǒng)。2.3.2安裝tomcat如果我們需要啟動我們所編寫好的程序,使其能在瀏覽器中輸入域名打開,那么我們需要下載并安裝tomcat(版本8.5),版本需要記住,因為在Javasever中需要啟動你對應(yīng)版本的tomacat服務(wù)器進行程序的運行。但是在運行之前進行一個Tomcat的配置,配置如下2.3.4。2.3.3配置eclipse中maven環(huán)境搭建Maven是一種構(gòu)建工具。Maven在電腦中同樣需要將路徑、home等信息配置到電腦中,使用maven可大大加快數(shù)據(jù)的打包,原理是使用阿里云服務(wù)器,國內(nèi)路徑將會比國外路徑傳輸速度快的多。本系統(tǒng)在測試前配置maven,大大節(jié)省了傳輸時間。2.3.4配置tomcat服務(wù)器承接上文2.3.2,我們已經(jīng)安裝好了tomcat插件。這時我們就需要將我們的程序配置tomcatsever中,點擊打開sever,當(dāng)我們沒有配置服務(wù)器時,上面會顯示nosever,這是我們點擊那段鏈接即可配置tomcat,其中需要我們記住自己的Javajdk以及你的tomcat版本、存儲位置。點擊即配置成功,再將我們的程序全部加入到你的服務(wù)器即可。2.3.5安裝Navicat數(shù)據(jù)庫Navicat數(shù)據(jù)庫的安裝相對來講比較方便,沒有很復(fù)雜的配置環(huán)境,只需在官網(wǎng)搜索到此軟件,現(xiàn)在到對應(yīng)路徑即可。對比起Mysql,我認為Navicat更強大一些,所以此次我選擇了Navicat來管理我的數(shù)據(jù)庫。第三章系統(tǒng)設(shè)計3.1需求分析3.1.1業(yè)務(wù)需求隨著時間的推移,智能產(chǎn)品的誕生將人們將紙質(zhì)書拋于腦后,人們更愿意的是用零散碎片化的時間去讀一些快餐化的書籍,快節(jié)奏的生活更是讓人們不愿意坐下靜下心去翻閱紙質(zhì)的書籍,在科技沒那么發(fā)達的昨日,我曾記得去一些名勝古跡去玩,路邊擺的都是翻閱的書籍以及當(dāng)?shù)乇容^有名的圖書,買回去翻閱作紀念,當(dāng)你再次讀起這本書時,仿佛故地重游一般,但現(xiàn)在大部分沒有了紙質(zhì)書,取而代之的是錄音的聲帶,用完就需要放回去,對于你看過的風(fēng)景,爬過的塔樓也只是過目耳聞,根本不會有什么太多的印象,因此如果當(dāng)你從網(wǎng)上圖書銷售書店買一本書,當(dāng)我再次翻閱這本書的時候,我會又重溫一遍那片故土,我會重溫起在那里的那段時光。那么對于這樣的一個網(wǎng)上圖書銷售系統(tǒng)我覺得是很有意義的,它必將成為新時代的常務(wù)。3.1.2用戶需求網(wǎng)上圖書銷售的宗旨就是方便用戶的需求,如何達到用戶的購書需求,我想這應(yīng)該是首當(dāng)其沖需要考慮的問題。首先,我們的系統(tǒng)應(yīng)擺脫線下購書用戶所產(chǎn)生的困擾以及要克服網(wǎng)上銷售系統(tǒng)自身的缺點,將其優(yōu)點無限放大。首先圖書的封面是最吸引人的地方,有些書籍的封面可以適當(dāng)?shù)男揎椀遣荒芘c實物不符的調(diào)節(jié),給用戶錯誤的感官體驗。其次,用戶應(yīng)該有屬于自己的專屬ID,修改的只有收貨人、地址和密碼。這樣可以使用戶的體驗更加的便捷,購物車,訂單分開結(jié)算功能,這樣可以使用戶在下單的期間更改自己的意愿,讓自己有更多的時間考慮和選擇。3.1.3最低性能需求硬件需求:CPU:Pentium以上計算機內(nèi)存:4G以上軟件需求:操作系統(tǒng)版本:Windows10開發(fā)工具:Eclipse6.0.1后臺服務(wù)器:Tomcat8.5開發(fā)語言:Java瀏覽器:GoogleChrome3.2可行性分析3.2.1技術(shù)可行性分析本系統(tǒng)的開發(fā)工具是eclipse和navicatpremium數(shù)據(jù)庫管理,開發(fā)語言是Java。在大三期間,我們專業(yè)也是專門開設(shè)了選修Java的課程,很有幸我也選修并學(xué)習(xí)了這門課程,在之前的學(xué)習(xí)中也大致了解了數(shù)據(jù)庫設(shè)計的課程,對于前端設(shè)計和后端的設(shè)計都有一定的了解,設(shè)計出該系統(tǒng)的難點就在于部分技術(shù)的操作較難,需要自行在一些平臺學(xué)習(xí)參考。因此,完成系統(tǒng)實現(xiàn)在技術(shù)上完全具有可行性。3.2.2經(jīng)濟可行性分析從開發(fā)角度來看,對于目前所用到的開發(fā)工具都是開源工具,本系統(tǒng)的效益是非常大的,技術(shù)更新上也相對來講較為節(jié)省資源的。從銷售的角度,我們的系統(tǒng)可直接添加管理員,中間將不會有任何的“差價”,因此在經(jīng)濟節(jié)省方面,本系統(tǒng)是很可行的。3.2.3操作可行性分析本系統(tǒng)的操作相對來講比較簡單,管理員管理圖書的界面也都是通過固定選項選擇的頁面,操作起來相對簡單,不復(fù)雜。訂單的時間方面也是固定通過當(dāng)前計算機時間刷新的,因此對操作人員的技術(shù)專業(yè)需求比較低,只要稍微學(xué)一下本系統(tǒng)的操作,便可以輕松上手本系統(tǒng)。
3.3功能分析本系統(tǒng)分為用戶模塊和管理員模塊兩大模塊,用戶模塊主要是以用戶的一些尋常操作構(gòu)成,在其中購物中的一些細節(jié)在下文會講到,與此同時管理員界面的某些操作也是非常具體和詳細的,所以我們需要進行對本系統(tǒng)的功能分析,給予管理員和用戶對本系統(tǒng)的一個清楚認知,減少在以后使用過程中所出現(xiàn)的問題。3.3.1系統(tǒng)模塊功能簡要概述首先是用戶模塊,在用戶模塊方面,作為本系統(tǒng)中最基礎(chǔ)的模塊,用戶模塊的功能必然是在技術(shù)的基礎(chǔ)上相對來說比較完全的,用戶通過登錄界面注冊自己的個人賬號,為了賬號的安全性,這里我們并不讓用戶有權(quán)限更改自己的個人地址,收貨地址等個人信息,這些我們放在購物車中更改,保證用戶的安全。登錄進入我們的主頁面,我們可以瀏覽各種書籍,在主頁更有模糊查詢書籍,分類查詢書籍操作,輪播圖滾動管路員推薦書籍,下方熱銷排行榜根據(jù)銷售的圖書進行書籍的排序,讓用戶更直觀的看到當(dāng)前熱門書籍。當(dāng)用戶看到心儀的書籍,我們將書籍加入購物車,下單并在我的訂單中完場付款。這是管理員界面會出現(xiàn)商家與用戶的交易信息當(dāng)商家發(fā)貨時,管理員可通過訂單管理更改訂單的狀態(tài),當(dāng)用戶收到貨物時,點擊收貨這個訂單就算完成了,當(dāng)訂單完成時,圖書銷售的數(shù)量在管理員訂單界面便會加上賣出書籍的數(shù)目。3.3.2系統(tǒng)模塊用例圖該系統(tǒng)的模塊功能圖,如圖“3.1”“圖3.1”3.4數(shù)據(jù)庫分析當(dāng)今計算機的信息系統(tǒng),是以數(shù)據(jù)庫為基礎(chǔ),在信息管理系統(tǒng)下,進行信息的搜索與查詢的,數(shù)據(jù)庫已然成為各大系統(tǒng)的重中之重,對于這樣一個不可或缺的部分,數(shù)據(jù)設(shè)計的完整性將會直接影響數(shù)據(jù)整個系統(tǒng)的運行,因此數(shù)據(jù)庫是相當(dāng)重要的。接下來,我會從數(shù)據(jù)庫的概念結(jié)構(gòu)和物理結(jié)構(gòu)分別對本系統(tǒng)的數(shù)據(jù)庫進行說明。3.4.1數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計數(shù)據(jù)庫的概念設(shè)計采用的實體—聯(lián)系(E-R)模型的設(shè)計方法。E-R模型的組成元素有:實體、屬性與聯(lián)系,E-R模型用E-R圖表示,是提示用戶工作環(huán)境中所涉及的事物,屬性則是對實體特性的描述。實體關(guān)系如下圖“3.2”:“圖3.2”E-R模型屬性1、數(shù)據(jù)庫中書籍(book)數(shù)據(jù)實體圖實體:書籍屬性:書籍ID,書籍名稱,書籍價格,作者,類別,封面圖,書籍詳細介紹,是否為推薦書籍,銷售數(shù)量實體圖如“圖3.3”所示:“圖3.3”書籍?dāng)?shù)據(jù)實體圖2、數(shù)據(jù)庫中用戶(user)數(shù)據(jù)實體圖實體:用戶屬性:用戶ID,用戶名稱,密碼,郵箱,狀態(tài),真實姓名,電話號碼實體圖如“圖3.4”所示:“圖3.4”用戶數(shù)據(jù)實體圖3、數(shù)據(jù)庫中管理員(admin)數(shù)據(jù)實體圖實體:管理員屬性:管理員ID,管理員姓名,管理員權(quán)限狀態(tài) 實體圖如“圖3.5”所示:圖3.5管理員數(shù)據(jù)實體圖4、數(shù)據(jù)庫中訂單(order)數(shù)據(jù)實體圖實體:訂單號屬性:書籍ID,購買數(shù)量,總價,訂單ID實體圖如“圖3.6”所示:圖3.6訂單數(shù)據(jù)實體圖3.4.2數(shù)據(jù)庫物理結(jié)構(gòu)設(shè)計數(shù)據(jù)庫設(shè)計是用戶在給定一固定應(yīng)用環(huán)境的情況下,構(gòu)造出最優(yōu)的數(shù)據(jù)庫模式,那么我們需要使之能夠在節(jié)省物理空間占用的基礎(chǔ)下有效地存儲數(shù)據(jù)。這時我們就需要完善本系統(tǒng)的數(shù)據(jù)庫物理設(shè)計,物理設(shè)計的內(nèi)容有很多:確定數(shù)據(jù)的存儲結(jié)構(gòu),選擇DBMS,確定數(shù)據(jù)的物理分布,調(diào)整和優(yōu)化數(shù)據(jù)庫的性能,因為數(shù)據(jù)庫的物理設(shè)計是不直接面對最終用戶的,一般的用戶并不需要了解物理設(shè)計的細節(jié)部分,正是因為此原因,系統(tǒng)的物理結(jié)構(gòu)才需要不斷的開發(fā)和更改。首先,我們創(chuàng)建的是書籍的數(shù)據(jù)表,這里書籍的屬性有很多,但是因為當(dāng)我們的數(shù)據(jù)在內(nèi)部查詢時,是需要找到對應(yīng)表中的主鍵的,因此,在這里我創(chuàng)建了一個書籍ID,方便后續(xù)中增刪改查的使用,書籍表中的屬性還包含封面圖片,作者名稱,書籍單價,書籍簡介,書籍是否推薦等屬性,表結(jié)構(gòu)如下“表3.1”:列名數(shù)據(jù)類型長度是否可空是否主鍵說明bidchar32否是書籍IDbnamevarchar100否否書籍名稱pricedecimal5否否書籍價格authorvarchar20否否書籍作者imagevarchar200否否書籍封面圖cidchar32否否類別IDsellcounttinyint4否否銷售數(shù)量blurbtext0否否書籍簡介recommendtinyint2否否推薦狀態(tài)表3.1書籍?dāng)?shù)據(jù)表對于書籍類別,我也是單獨建立了一個表去存儲書籍類別,這樣可以使我們的單獨一個表不會過于復(fù)雜,導(dǎo)致存儲壓力過大,數(shù)據(jù)產(chǎn)生丟失,因此書籍類別如下“表3.2”:表3.2書籍類比數(shù)據(jù)表列名數(shù)據(jù)類型長度是否可空是否主鍵說明cidchar32否是類別IDcnamevarchar100否否類別名稱接下來來介紹整個系統(tǒng)中最為重要的一部分,那就是用戶模塊的表,根據(jù)數(shù)據(jù)庫的安全性原理,我同樣把用戶的ID創(chuàng)建出來作為主鍵,這樣保證了雖然用戶的真實姓名可能重復(fù),用戶的其他信息是不會重復(fù)的,在訂單表中就不會出現(xiàn)訂單信息出錯的情況,確保了用戶以及訂單交易的安全。下面是用戶的結(jié)構(gòu)圖:表3.3用戶數(shù)據(jù)表列名數(shù)據(jù)類型長度是否可空是否主鍵說明uidchar32否是用戶IDusernamevarchar50否否用戶名稱passwordvarchar50否否用戶密碼emailvarchar50否否用戶郵箱codechar64否否statetinyint1是否激活狀態(tài)truenamevarchar20是否真實姓名telvarchar15是否電話號碼Saltvarchar32是否其他根據(jù)上表可以看到,我并沒有把地址放置在用戶的表格中,這是因為,當(dāng)我們購物時不存在一個固定地址,應(yīng)該有很多的地址可以供我們送達,那么固定地址便會沒有意義,因此,我將地址單獨放在地址數(shù)據(jù)庫中,在頁面中用購物車中的彈窗引用地址數(shù)據(jù)庫。地址數(shù)據(jù)庫結(jié)構(gòu)如下:表3.4地址數(shù)據(jù)表列名數(shù)據(jù)類型長度是否可空是否主鍵說明idvarchar32否是地址IDdetailtext0是否地址細節(jié)acceptusernamevarchar20是否接收人telvarchar11是否接收電話postcodevarchar12是否郵編is_defaultvarchar2是否usernamevarchar20是否用戶名statustinyint2是否狀態(tài)provincevarchar10是否省份cityvarchar10是否城市areavarchar10是否地區(qū)整體的用戶數(shù)據(jù)在地址這里就算完成了,接下來講一下訂單數(shù)據(jù)庫,訂單數(shù)據(jù)庫我思考了很久,首先訂單數(shù)據(jù)庫需要的是用戶訂單數(shù)據(jù)庫和管理員訂單數(shù)據(jù)庫,本系統(tǒng)用戶的買賣操作都是需要管理員之手的,用戶訂單數(shù)據(jù)庫需要可以給用戶直觀的訂單數(shù)據(jù)存儲,管理員訂單數(shù)據(jù)庫則是訂單狀態(tài)的詳細管理,保證了用戶購物的安全性。下面是用戶訂單數(shù)據(jù)結(jié)構(gòu):表3.5用戶訂單數(shù)據(jù)表列名數(shù)據(jù)類型長度是否可空是否主鍵說明iidchar32否是用戶訂單couttinyint4是否數(shù)量subtotalvachar20是否總價oidchar32是否訂單IDbidchar32是否書籍ID下面是管理員訂單數(shù)據(jù)結(jié)構(gòu):表3.6管理員訂單數(shù)據(jù)表列名數(shù)據(jù)類型長度是否可空是否主鍵說明oidchar32否是訂單IDtotalvarchar20否否購買總價statevarchar4否否訂單狀態(tài)uidchar32否否用戶IDaddressvarchar200否否地址datetimestamp0否否時間最后,管理員數(shù)據(jù)表也是本系統(tǒng)的特殊的地方,本系統(tǒng)的管理員使用的是將普通用戶給予權(quán)限成為管理員,在程序的起初,通過修改數(shù)據(jù)庫確定一個主管理員,在后面的運營中加入管理員,也可隨時卸任管理員,只需調(diào)整管理員狀態(tài)即可,這樣減少了管理員存儲的空間,減小了數(shù)據(jù)漏洞的風(fēng)險,增加了程序的安全性。不過這樣的風(fēng)險對于目前的我,也無法預(yù)估如果這樣做程序的風(fēng)險,只能說是我個人的一個想法。下面是管理員權(quán)限的數(shù)據(jù)表如表:表3.7管理員權(quán)限數(shù)據(jù)表列名數(shù)據(jù)類型長度是否可空是否主鍵說明idvarchar32否是IDnamevarchar10否否管理姓名statetinyint2否否管理狀態(tài)表3.8管理員與用戶權(quán)限對接表列名數(shù)據(jù)類型長度是否可空是否主鍵說明roleidvarchar32否是權(quán)限IDuseridvarchar32否否用戶ID第四章詳細設(shè)計和功能的實現(xiàn)首先在打開軟件和運行整個程序之前,需要打開“我的電腦”并在屬性(高級屬性)中查看環(huán)境變量是否正常安裝,JDK是否完整,maven是否正常啟動。配置路徑如圖所示:圖4.1配置路徑圖然后打開搜索內(nèi)容,輸入CMD指令,打開控制臺面板,輸入Java-version指令并確認JAVA環(huán)境正常配置。如下圖所示:圖4.2java環(huán)境正常配置圖這時,便可以啟動eclipse和Navicatpremium工具,準備運行本系統(tǒng),在這里建議,盡量使本系統(tǒng)所用到的手機和電腦都在同一網(wǎng)絡(luò)接口地址下,在支付和登錄時比較方便,這里以我自己家的WIFI為網(wǎng)絡(luò)接口進行整體程序的演示。首先啟動程序,需要把程序在tomcatserver上打開,這是在之前下載并配置的tomcatserver8.5版本,因為在制作程序之前就已經(jīng)配置好環(huán)境,所以此處就不必要再配置tomcatserver。如下圖,直接將tomcat“start”即可,程序便運行起來,打開谷歌瀏覽器并輸入網(wǎng)址localhost:8080/bookshop/index,便可直接進入主頁面(網(wǎng)上圖書銷售系統(tǒng))圖4.3網(wǎng)上圖書銷售系統(tǒng)主頁可以發(fā)現(xiàn)此時是沒有登錄的狀態(tài),上面會顯示沒有登錄,購物車沒有顯示金額,只有當(dāng)前銷售的圖書,推薦書籍,以及熱銷排行,搜索書籍等非會員權(quán)限的操作,所以我們需要登錄并注冊一個賬號才能使用本系統(tǒng)。4.1用戶的注冊與登陸在主頁的頁面配置方面,主要使用的是輪播圖作為底景,用戶名,密碼,驗證碼驗證的方式登錄個人信息,點擊主頁登錄即可跳轉(zhuǎn)到用戶登錄界面,如下圖所示:圖4.4用戶登錄界面圖因為沒有賬號可供登陸,因此,需要新用戶點擊立即注冊,并跳轉(zhuǎn)到注冊界面,完成賬號的注冊操作,注冊界面如圖所示,只需在框中輸入的準確個人信息,并勾選已經(jīng)同意網(wǎng)上銷售系統(tǒng)的要求即可。填入信息實例如下。圖4.5用戶填入注冊信息圖4.2內(nèi)網(wǎng)郵箱激活注冊賬號功能點擊注冊成功時,在注冊的郵箱中將會有激活信息的提示郵件,如下圖所示,但是這里點擊激活是無法激活的,需要在數(shù)據(jù)庫中手動進行激活賬號,這是因為系統(tǒng)只是使用自己的IP發(fā)送自己的郵件,當(dāng)不在同一個端口時就發(fā)送不了郵件了圖4.6手機郵箱激活通知圖在數(shù)據(jù)庫中可以看到,王六卯用戶名的賬戶已經(jīng)創(chuàng)建成功,但是狀態(tài)是0(0就是賬號未激活狀態(tài)),因為技術(shù)有限我們手動將狀態(tài)0改為1,即成功激活此用戶。如下圖所示:圖4.7賬戶手動激活圖此時,注冊的賬號就算是創(chuàng)建成功了,即可登錄并進入系統(tǒng)的主頁了。以我的QQ郵箱為例,如若激活成功,我們需要QQ郵箱服務(wù)器反饋個人信息到我的系統(tǒng),需要很多繁瑣的權(quán)限包含在里面,在以后的學(xué)習(xí)中,我會不斷完善此功能,讓其能在各個郵箱平臺正常反饋。4.3用戶自行修改密碼界面首先,本系統(tǒng)只做了一個用戶修改密碼界面,個人信息的修改完全可以由購物車中的新增地址接管,這樣避免了程序的冗余,對于修改密碼界面也是相當(dāng)?shù)暮啙?,系統(tǒng)需要確認你之前的舊密碼,然后將新密碼改到數(shù)據(jù)庫中,修改密碼就完成了。修改密碼點擊姓名進入,如下圖:圖4.8用戶修改密碼界面4.4主頁書籍的分類查詢和模糊查詢在沒有使用賬號登錄從總主界面登錄時(僅是游客登錄),就可以看到映入眼簾的書籍分類,在主頁上包含有“科技”,“生活”,“文學(xué)”,“童話”分類,由于在后臺程序編寫時只寫了這四類比較有代表性的書籍類別,所以在前臺顯示時僅僅顯示了這四類,當(dāng)然如果還有其他的文學(xué)書籍,管理員可以隨時向系統(tǒng)中添加并更改數(shù)據(jù)庫。分類查詢類別如圖所示:圖4.9圖書類別圖用戶可在此處通過點擊“分類”的方式,查詢到需求的書籍類別。搜索功能在本系統(tǒng)中,均使用的是模糊查詢,當(dāng)你想不知道圖書的姓名,但是只知道幾個字時,這時模糊搜索就能滿足用戶的需求,通過左查詢和右查詢便可以完成此操作。接下來操作一下模糊查詢的功能,首先點擊搜索框,輸入以“狗”為例的查詢,如圖所示,點擊搜索,那么便可以直接跳轉(zhuǎn)到《讀懂狗狗心里話》這本書。模糊查詢界面如圖:圖4.10“狗”字模糊查詢顯示書籍圖4.5輪播圖圖書推薦與銷售排行書籍推薦在本系統(tǒng)中推薦書籍并不是一個界面中設(shè)定為推薦書籍,而是管理員操作的推薦書籍會顯示在輪播圖中,只有推薦的書籍才能上輪播圖在最醒目的地方滾動播放。輪播圖會將推薦的書籍圖片顯示出來。同樣熱銷排行也不是空有其表,熱銷排行根據(jù)銷售書籍的總數(shù),銷售的越多,此書籍就排的更靠前。推薦書籍輪播圖如圖所示:圖4.11推薦書籍輪播圖熱銷排行如圖所示:圖4.12熱銷書籍排行榜圖4.6用戶圖書購買與主頁自增購物車當(dāng)用戶在瀏覽主頁時,看到自己喜歡的書籍,可以點擊圖書封面,進入這個圖書的介紹封面,在這個界面可以看到圖書的簡介、作者、價格等相關(guān)信息,在起初的程序設(shè)計上,我的打算是設(shè)計一個讀后感功能的,但是因為技術(shù)的原因,讀后感功能并沒有做出,在以后我相信,我一定能做出一個完善功能的圖書銷售界面,圖書界面如圖所示:圖4.13圖書主信息圖以這本為例,選擇此書并點擊添加到購物車,此時會彈出添加成功的提示彈窗,并在購物車的地方可以看到,你的購物車中添加了一本圖書并顯示金額如圖所示:圖4.14主頁自增動態(tài)購物車顯示圖此時點擊并打開購物車,可以發(fā)現(xiàn)購物車中完全顯示了所購買的圖書以及數(shù)量和價錢如圖所示:圖4.15購買圖書后購物車中顯示圖如果需要下單此書,那么必須要為你的新賬戶新添加一個收貨地址,點擊新增確認收貨地址,將會轉(zhuǎn)到填寫收貨地址界面,需要在里面添加收貨人姓名,所在地址的選擇,以及街道地址的詳細地址,郵編選填,以及收貨人的手機號碼,并可將其設(shè)置成默認。如下圖所示:圖4.16填寫地址圖在填好地址之后,返回到下單頁面,并點擊下單,此時該訂單就到達了我的訂單中,如下圖所示:圖4.17我的訂單狀態(tài)圖4.7用戶支付功能當(dāng)完成購物車中地址的更改并成功下單時,可以發(fā)現(xiàn)用戶的訂單是正處于代付款狀態(tài)的,需要用戶點擊付款按鈕,并跳轉(zhuǎn)到支付頁面完成支付的,因此支付頁面用的是動態(tài)二維碼,支付跳轉(zhuǎn)到已經(jīng)編好的界面,顯示如下圖:圖4.18支付界面圖用手機微信掃描二維碼,即可。因為技術(shù)的問題,使用的并不是支付寶鏈接付款,界面在視覺上相對來講比較粗糙粗糙,在手機上跳轉(zhuǎn)也是編好的界面,并不是外部鏈接,掃碼之會后,訂單會顯示支付成功。手機界面支付成功如下:圖4.19手機支付成功頁面圖當(dāng)付款之后訂單狀態(tài)會變?yōu)椤坝唵未幚怼?,此時的商品只需管理員發(fā)貨即可,頁面如圖:圖4.20支付成功訂單狀態(tài)圖點擊訂單號,可以看到自己的發(fā)貨地址和賣家的地址,以及聯(lián)系電話等如下圖:圖4.21我的訂單查詢圖至此,用戶的購買以及結(jié)算基本完成,下面就是管理員界面安排發(fā)貨,用戶確認收貨就可以了。4.8管理員管理系統(tǒng)管理員通過登錄界面,輸入管理員登錄賬號和密碼進行登錄到指定的管理員界面。進入管理員界面首先看到的是,管理員的基礎(chǔ)權(quán)限,包括圖書管理系統(tǒng)、訂單管理系統(tǒng)、用戶管理系統(tǒng)。管理員界面首頁如圖:圖4.22管理員界面界面圖4.8.1管理員圖書操作與銷售數(shù)量查詢在管理員圖書管理界面,管理員可通過添加和刪除操作,上架和下架書籍,對書籍進行上架分類,如圖示管理員圖書管理界面:圖4.23管理員圖書管理界面圖管理員通過點擊邊緣側(cè)操作便可修改圖書的屬性,點擊“+”圖標,可彈出需要上架的圖書編輯框,通過該操作進行圖書的上架操作。如圖所示:圖4.24管理員添加書籍界面圖圖書的上架操作還包含是否推薦操作,推薦的圖書將會上架于主頁的輪播圖中。同樣,可以看到每本書都有對應(yīng)的銷售數(shù)量,銷售數(shù)量的統(tǒng)計是為了熱銷排行榜的計算,銷量最多的書在主頁的熱銷排行榜會排在靠前的位置。銷售與推薦狀態(tài)如圖:圖4.25圖書銷售信息圖雖然示例的圖書相對較少,但還是設(shè)計了查詢功能,這樣相對來講方便管理員的上架和下架更改金額等操作,搜索和數(shù)據(jù)搜索相同,可通過類別和書名模糊查詢,這里以“科技”為例進行搜索,操作如圖:圖4.26“科技”搜索書籍示例圖4.8.2管理員訂單管理與發(fā)貨功能管理員訂單管理,訂單管理主要是管理員查看用戶付款后的訂單,對其安排發(fā)貨操作,查詢已經(jīng)完成的訂單操作。管理員訂單管理頁面如圖:圖4.27管理員訂單頁面圖點擊操作按鈕,將會彈出整個訂單的詳細信息,查看并核實對應(yīng)信息,管理員確認無便可以點擊發(fā)貨按鈕,操作如下圖:圖4.28管理員訂單發(fā)貨圖點擊發(fā)貨,系統(tǒng)提示發(fā)貨成功,這時用戶界面訂單狀態(tài)將會改變,登陸用戶的賬號,可以看到,訂單由待處理狀態(tài)變?yōu)榭爝f運輸狀態(tài),如圖:圖4.29訂單處于“快遞運輸狀態(tài)”圖當(dāng)用戶成功收到貨物時,點擊確認收貨,便可完成本次購物。訂單完成,訂單狀態(tài)變?yōu)榻灰淄瓿?。如圖:圖4.30訂單完成狀態(tài)圖4.8.3管理員用戶管理功能管理員用戶管理,本系統(tǒng)的用戶管理系統(tǒng)相對比較簡陋,目的是將大部分的功能投入到用戶自身的體驗,管理員只能修改圖書等操作。因為管理員在起初設(shè)置了一位,因此,我們可以查看用戶的某些個人信息,例如姓名,電話,郵箱,與圖書相同,在這里我也設(shè)計了搜索,目的與上述相同,確保人數(shù)過多時難以查詢,管理員的用戶管理還可以將普通用戶設(shè)置成管理員,這樣在多家商家入駐的同時,又可以保證系統(tǒng)的安全性。用戶管理界面如圖:圖4.31管理員用戶管理圖至此,本系統(tǒng)的功能已全部介紹完成,此網(wǎng)上圖書銷售系統(tǒng)還存在很多的不足和缺點,在后續(xù)的細節(jié)仍需打磨,做到對用戶負責(zé)、對平臺負責(zé)的態(tài)度,這才是我設(shè)計的初衷。第五章系統(tǒng)測試系統(tǒng)測試是為了檢查系統(tǒng)是否能正常完成需求說明的基本內(nèi)容,對系統(tǒng)能正常、完整的運行。其中包括軟件、硬件和相關(guān)設(shè)備的應(yīng)用的數(shù)據(jù)。測試的目的主要是在真實的工作情況下通過與初始系統(tǒng)定義的需求作比較,檢驗完整的軟件配置能否和整體系統(tǒng)準確的鏈接,發(fā)現(xiàn)軟件與系統(tǒng)開發(fā)之間相互矛盾的地方,從而提出更加完善的方案。5.1環(huán)境測試系統(tǒng)的運行環(huán)境應(yīng)當(dāng)是系統(tǒng)測試中首當(dāng)其沖的,一個與程序契合的平臺比一個與程序不契合的平臺更能使系統(tǒng)保持長久和穩(wěn)定,制定完善的計劃和穩(wěn)定的環(huán)境,可以減少會在研發(fā)中的出現(xiàn)的問題或者對工作的不利影響等,對工作的效率和質(zhì)量有著質(zhì)的保障。但是歸根結(jié)底我們進行環(huán)境測試是為了讓系統(tǒng)在變換的環(huán)境中能夠穩(wěn)定運行,因此,環(huán)境測試我選擇的是目前市面上最廣泛的win10操作系統(tǒng),win10操作系統(tǒng)在目前的普及廣度較高,系統(tǒng)比較穩(wěn)定,作為環(huán)境測試的操作系統(tǒng)再合適不過了,其次在瀏覽器方面使用的是GoogleChrome,此瀏覽器在谷歌旗下表現(xiàn)穩(wěn)定,很適合當(dāng)做監(jiān)測環(huán)境。測試環(huán)境:windows10開發(fā)工具:eclipse瀏覽器:GoogleChrome數(shù)據(jù)庫管理系統(tǒng):NavicatPremium5.2功能測試功能測試需要的是研發(fā)人員不斷地更新完善系統(tǒng)的不足之處的,讓系統(tǒng)更加順應(yīng)用戶的需求。下面我來講解一下測試的流程。首先是登錄界面,需要測試登錄界面用戶名錯誤、密碼錯誤、以及驗證碼錯誤時,系統(tǒng)報錯的情況。當(dāng)輸入錯誤的用戶名和密碼時,系統(tǒng)會彈出錯誤,表示如圖所示:圖5.1“用戶名或密碼錯誤”驗證圖當(dāng)輸入驗證碼錯誤時,系統(tǒng)會彈出錯誤,表示如圖所示:圖5.2“驗證碼不正確”驗證圖通過這幾步,登陸測試界面基本完成。點擊立即注冊,測試當(dāng)注冊時信息填寫不按照規(guī)定填寫時的報錯。當(dāng)輸入與數(shù)據(jù)庫中用戶名存在的用戶名時,用戶名會顯示“錯誤”,并提示用戶名存在,當(dāng)不輸入用戶名時,同樣會報錯,并提示用戶名長度必須在1-15之間。密碼模塊,密碼必須為8-15位之間,當(dāng)輸入小于8位或者大于15位時,密碼框位將會彈出報錯。確認密碼模塊,如果輸入的密碼與上面填入的密碼不同將會顯示“兩次密碼不一致”。郵箱部分,當(dāng)不輸入有效地的郵箱或者不填郵箱時,將會提醒“請輸入有效地郵箱”,最后方面,需要勾選“我接收網(wǎng)上圖書銷售系統(tǒng)”,如果不勾選,將會提示“請勾選勾選用戶手冊”,下面是測試的界面如圖所示:圖5.3注冊填入信息錯誤測試界面注冊和登錄界面的測試完成,各個報錯位置良好。下面是書籍的分類和檢索功能檢測,點擊所有圖書,跳轉(zhuǎn)到所有圖書的界面,主頁界面如圖所示:圖5.4書籍首頁跳轉(zhuǎn)測試圖我們以點擊“文學(xué)”分類為例,測試是否可以跳轉(zhuǎn)到文學(xué)類書籍目錄中,文學(xué)圖書界面如圖所示:
圖5.5“文學(xué)”類搜索跳轉(zhuǎn)測試圖文學(xué)分類檢索成功,本系統(tǒng)中較為重要的就是模糊查詢,因此接下來進行模糊查詢檢索測試,以輸入“世界”為例,檢查其輸出結(jié)果,是否為帶“世界”的書籍名稱。測試結(jié)果如下圖所示:圖5.6以“世界”模糊搜索查詢模糊查詢測試成功,在修改密碼方面,舊密碼如果不正確,那么是無法確認本人操作的,因此在修改密碼方面,設(shè)計了一個驗證是否為舊密碼判定,當(dāng)密碼不是舊密碼時會顯示如圖:圖5.7舊密碼輸入不正確驗證修改密碼測試成功。在上文中功能介紹時,購物車求和,訂單狀態(tài)等,我們也逐一進行了測試和完善,到此用戶及主頁信息測試完成,報錯位置基本正確,缺點和不足有很多,希望在后期學(xué)習(xí)更多的知識并對其進行填補和補充。退出到主頁面,登錄admin管理員賬戶,因為管理員主要是以管理數(shù)據(jù)為主,對于圖書管理模塊,需要做的測試是書籍是否正常上架以及能夠到達推薦位。以上架《母親》為例,并將其作為推薦,下面為測試流程如圖:圖5.8“母親”書籍添加測試可以看到,書籍已經(jīng)成功上架,并在數(shù)據(jù)庫中存儲顯示,數(shù)據(jù)圖顯示如圖:圖5.9書籍上架成功測試此時檢測在主頁,《母親》是否為推薦書籍,退出并登錄進入主頁,可以看到《母親》一書已經(jīng)在推薦的輪播圖中,此測試成功如圖:圖5.10圖書“母親”上架推薦輪播圖測試圖管理員圖書管理界面模糊查詢,同樣以“世界”為例,搜索世界字樣的圖書,可看到測試結(jié)果如圖:圖5.11管理員界面模糊查詢“世界”為例書籍管理員界面圖書測試成功,管理員訂單管理系統(tǒng)與用戶管理系統(tǒng)都是在用戶的基礎(chǔ)上完成的,與圖書測試相同,在前文中購物發(fā)貨等操作都有測試訂單管理系統(tǒng)的穩(wěn)定性。綜上,此系統(tǒng)的功能測試就基本完成,當(dāng)然在某些情況下還會出現(xiàn)一些其他的錯誤“404”,同時在程序的運行中也會出現(xiàn)“505”等web錯誤。這里還需要更多的細節(jié)調(diào)試。第六章總結(jié)轉(zhuǎn)眼間網(wǎng)上圖書銷售系統(tǒng)的制作已經(jīng)陪伴了我半年之久,從剛開始的學(xué)校選題時看到這個選題,我就非常喜歡這個網(wǎng)上圖書銷售系統(tǒng),因為我在平時的生活中也特別喜愛外國文學(xué),平時會逛一下“當(dāng)當(dāng)網(wǎng)”等平臺,看一下那些沒有看過的外國文學(xué)。正是這些外部環(huán)境的因素,也應(yīng)該會讓我在選題時特別積極,甚至后面的制作時,對程序和論文都會很有耐心的修改。但是事實并沒有我想的如此簡單,當(dāng)我真正的開始制作時,卻沒有想象的那么簡單。從剛開始Myeclipse與mysql的制作,就完全超乎了我的預(yù)估,當(dāng)時并不會tomcat的安裝,這一點無法解決的話,我就需要另選server運行我的程序,當(dāng)時我也問了很多的同學(xué),解決方案遲遲也出不來。我思索了幾天打算用IDEA重新編寫我的系統(tǒng),但是時間已經(jīng)快要來不及了,如果將寫好的程序?qū)隝DEA又會出現(xiàn)新的錯誤,這將是一個大麻煩。在咨詢了馮美玲老師的之后,老師給予了很大的我鼓勵,“放手去做就好了”這句話如今還映在我的腦海里。回到工作的環(huán)境,我將自己的系統(tǒng)備份,并轉(zhuǎn)換策略,使用與其相近的eclipse,這個工具是我在上JAVA課程時,在機房中做實驗用到的,適用性應(yīng)該比企業(yè)級開發(fā)工具好很多,也是這里我學(xué)會了配置maven,即使用阿里云境內(nèi)服務(wù)器下載需要的包。tomcat方面我起初的tomcat6.0版本兼容性并不良好的版本,到現(xiàn)在系統(tǒng)使用的tomcat8.5版本,在此期間收獲了很多。同時在數(shù)據(jù)庫與頁面方面,頁面亂碼是比較大的一個問題,后來了解到WEB也有自己專屬的工作環(huán)境,需要將其改為UTF-8,這里我也是搜索了很多的教程才了解到的。一個系統(tǒng)工程的完成,不僅需要所有任課老師的栽培,還需要同學(xué)和朋友的幫助的成果。在整個后期的修改和完善中,馮老師給與了我很多的想法,也讓我回想起曾經(jīng)科任老師們教會的我點點滴滴。最后,我相信系統(tǒng)的開發(fā)不僅僅是讓我能夠在知識上得到拓展,更是對我個人性格塑造的試煉,也為我今后步入社會打下基礎(chǔ),此次設(shè)計也讓我明白在計算機的領(lǐng)域中,學(xué)習(xí)是永遠不會停歇的,你所學(xué)到的技術(shù)終將會隨時代的潮流退去。因此,我以會會更加的刻苦努力,了解更多的專業(yè)性知識,在以后的工作團隊中實現(xiàn)自己的價值。參考文獻[1]李嘉俊.工具書版權(quán)保護銷售系統(tǒng)設(shè)計與實現(xiàn)[D].北京工業(yè)大學(xué),2018.[2]雷興邦.基于SSH框架的圖書銷售與推薦系統(tǒng)的設(shè)計與實現(xiàn)[D].山西大學(xué),2018.[3]陸悅.基于ASP.NET的湖南省新華書店網(wǎng)上圖書銷售系統(tǒng)的設(shè)計與實現(xiàn)[D].湖南大學(xué),2017.[4]郭妍.基于B/S架構(gòu)的購書網(wǎng)站系統(tǒng)設(shè)計與實現(xiàn)[D].大連交通大學(xué),2017.[5]李國.圖書在線銷售平臺設(shè)計與實現(xiàn)[D].天津大學(xué),2017.[6]張燕琴.基于WEB的圖書銷售智能分析系統(tǒng)的設(shè)計與實現(xiàn)[D].華僑大學(xué),2016.[7]夏熙.圖書銷售系統(tǒng)項目開發(fā)實驗[D].吉林大學(xué),2015.[8]朱沈?qū)?圖書銷售系統(tǒng)的設(shè)計與實現(xiàn)[D].東北大學(xué),2016.[9]李曉鋒.基于J2EE的圖書銷售信息系統(tǒng)設(shè)計與實現(xiàn)[D].天津大學(xué),2015.[10]萬穎.基于PHP+MySQL的圖書在線銷售系統(tǒng)的設(shè)計與實現(xiàn)[D].吉林大學(xué),2020.[11]王琪.基于Web的書刊行業(yè)進銷存系統(tǒng)設(shè)計與實現(xiàn)[D].大連理工大學(xué),2018.[12]楊晨,韓旭.基于ASP的網(wǎng)上圖書銷售系統(tǒng)的設(shè)計與實現(xiàn)[J].電子世界,2017(15):119.[13]焦健.基于ASP的網(wǎng)上圖書銷售系統(tǒng)的設(shè)計與實現(xiàn)[D].吉林大學(xué),2016.[14]白麟.圖書銷售進銷存系統(tǒng)的設(shè)計與實現(xiàn)[D].電子科技大學(xué),2016.[15]胡海.基于B/S模式的網(wǎng)上圖書銷售系統(tǒng)[D].南昌大學(xué),2018.[16]姜靜,尹秀葉.書店購銷管理系統(tǒng)設(shè)計與實現(xiàn)[J].電腦知識與技術(shù),2016,9(26):5908-5910.[17]王晶.基于商業(yè)智能的圖書銷售分析系統(tǒng)設(shè)計和實現(xiàn)[D].中國科學(xué)院大學(xué)(工程管理與信息技術(shù)學(xué)院),2013.[18]刁宇飛.網(wǎng)上圖書銷售系統(tǒng)的設(shè)計與實現(xiàn)[J].電子技術(shù)與軟件工程,2017(16):84.[19]楊興越.基于B/S結(jié)構(gòu)的圖書銷售管理系統(tǒng)的設(shè)計與實現(xiàn)[D].吉林大學(xué),2016.[20]濮樹英.在線圖書銷售系統(tǒng)的設(shè)計與實現(xiàn)[D].電子科技大學(xué),2015.附錄附錄1支付功能代碼packagecn.hnust.controller;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;importorg.springframework.stereotype.Controller;importorg.springframework.ui.ModelMap;importorg.springframework.web.bind.annotation.RequestMapping;importcn.hnust.util.ValidateCode;import.NetUtil;importcn.hutool.extra.qrcode.QrCodeUtil;@Controller@RequestMapping("/qrCode")publicclassQrCodeControllerextendsBaseController{ /** *獲取支付碼 *@paramorderId *@paramrequest *@paramresponse *@throwsException */ @RequestMapping("/obtain") publicvoidgetCode(StringorderId,HttpServletRequestrequest,HttpServletResponseresponse)throwsException{ Stringurl=request.getScheme()+"://"+NetUtil.getLocalhostStr()+":"+request.getServerPort() +request.getContextPath()+"/app/edit2?oid="+orderId+"&state=1"; System.out.println(url); QrCodeUtil.generate(url,400,500,"jpg",response.getOutputStream()); } /** *跳轉(zhuǎn)頁面 * *@paramorderId *@paramm *@return */ @RequestMapping("/to_qrcode") publicStringtoModifyPass(StringorderId,ModelMapm){ m.addAttribute("orderId",orderId); return"qrcode"; }}附錄2訂單功能代碼packagecn.hnust.controller;importjava.util.HashMap;importjava.util.List;importjava.util.Map;importjava.util.stream.Collectors;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;importmons.lang3.StringUtils;importorg.springframework.beans.factory.annotation.Autowired;importorg.springframework.stereotype.Controller;importorg.springframework.ui.ModelMap;importorg.springframework.web.bind.annotation.RequestMapping;importorg.springframework.web.bind.annotation.ResponseBody;importcn.hnust.domain.Book;importcn.hnust.domain.Order;importcn.hnust.domain.Orderitem;importcn.hnust.service.BookService;importcn.hnust.service.OrderService;importcn.hnust.service.OrderitemService;importcn.hnust.util.Pager;importcn.hnust.util.SecurityUtil;@Controller@RequestMapping("/order")publicclassOrderControllerextendsBaseController{ @Autowired privateOrderServiceorderService; @Autowired privateOrderitemServiceorderitemService; privateStringshowPath="/resource/showImg?path="; @RequestMapping("/list") publicStringlist(Orderorder,HttpServletRequestrequest,HttpServletResponseresponse,ModelMapm){ StringorderBy="datedesc,stateasc"; Pagerorders=orderService.query(order,orderBy,"",getPageNum(request),getPageSize(request)); m.put("orders",orders); return"orders/list"; } @RequestMapping("/admin/list") publicStringadminList(Orderorder,HttpServletRequestrequest,HttpServletResponseresponse,ModelMapm){ if(SecurityUtil.getCurrentRole()!=null&&"admin".equals(SecurityUtil.getCurrentRole().getName())){ return"admin/orders/list"; }else{ m.put("errorMsg","權(quán)限不足,只有管理員才能訪問此頁面"); return"common/500"; } } @RequestMapping("/save") @ResponseBody publicMap<String,Object>save(Orderorder,HttpServletRequestrequest,HttpServletResponseresponse){ Map<String,Object>result=newHashMap<String,Object>(); try{ orderService.save(order); msg.setSuccessMsg("下單成功!"); result.put("msg",msg); returnresult; }catch(Exceptione){ msg.setErrorMsg("下單失敗!"); result.put("msg",msg); returnresult; } } @RequestMapping("/get") publicStringget(HttpServletRequestrequest,HttpServletResponseresponse,ModelMapm){ Stringid=get(request,"id"); StringshowImgUrl=request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort() +request.getContextPath()+showPath; m.put("order",orderService.get(id)); m.put("showImgUrl",showImgUrl); return"orders/detail"; } @RequestMapping("/to_qrcode") publicvoidtoQrcode(HttpServletRequestrequest,HttpServletResponseresponse,ModelMapm){ } @RequestMapping("/to_edit") publicStringtoEdit(HttpServletRequestrequest,HttpServletResponseresponse,ModelMapm){ if(SecurityUtil.getCurrentRole()!=null&&"admin".equals(SecurityUtil.getCurrentRole().getName())){ Stringoid=get(request,"oid"); StringshowImgUrl=request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort() +request.getContextPath()+showPath; m.put("order",orderService.get(oid)); m.put("showImgUrl",showImgUrl
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年商業(yè)綜合體項目施工現(xiàn)場坍塌事故應(yīng)急救援預(yù)案演練方案
- 車輛技術(shù)及檔案管理制度
- 2026年建筑行業(yè)BIM技術(shù)應(yīng)用報告及市場分析
- 2025年冷鏈物流園區(qū)智能化改造項目智能物流園區(qū)風(fēng)險管理報告
- 初中化學(xué)實驗教學(xué)中學(xué)生實驗安全意識的研究課題報告教學(xué)研究課題報告
- 初中英語課堂中動態(tài)資源在英語語法教學(xué)中的創(chuàng)新應(yīng)用研究教學(xué)研究課題報告
- 2026年網(wǎng)絡(luò)安全與數(shù)據(jù)保護考試試題
- 2026年農(nóng)業(yè)科技知識與現(xiàn)代農(nóng)藝技術(shù)題集
- 2026北京門頭溝區(qū)教育系統(tǒng)事業(yè)單位第一次招聘教師60人備考題庫及參考答案詳解
- 2026河北唐山蘭海楠天高級中學(xué)招聘教師16人備考題庫及答案詳解(奪冠系列)
- 2024年理財行業(yè)高質(zhì)量發(fā)展白皮書-農(nóng)銀理財
- 危險化學(xué)品經(jīng)營單位(安全生產(chǎn)管理人員)考試題及答案
- UL498標準中文版-2019插頭插座UL標準中文版
- 《非物質(zhì)文化遺產(chǎn)》課程教學(xué)大綱
- 小學(xué)英語名師工作室工作總結(jié)
- 2024年中考數(shù)學(xué)復(fù)習(xí):瓜豆原理講解練習(xí)
- (高清版)DZT 0210-2020 礦產(chǎn)地質(zhì)勘查規(guī)范 硫鐵礦
- 居民自建樁安裝告知書回執(zhí)
- QC080000體系內(nèi)部審核檢查表
- 初中語文仿寫訓(xùn)練
- 延遲焦化裝置(改)
評論
0/150
提交評論