網(wǎng)上在線購書系統(tǒng)設(shè)計與開發(fā)_第1頁
網(wǎng)上在線購書系統(tǒng)設(shè)計與開發(fā)_第2頁
網(wǎng)上在線購書系統(tǒng)設(shè)計與開發(fā)_第3頁
網(wǎng)上在線購書系統(tǒng)設(shè)計與開發(fā)_第4頁
網(wǎng)上在線購書系統(tǒng)設(shè)計與開發(fā)_第5頁
已閱讀5頁,還剩45頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、畢業(yè)設(shè)計(論文)題 目: 網(wǎng)上在線購書系統(tǒng)設(shè)計與開發(fā) 學(xué) 院: 軟件學(xué)院專業(yè)名稱: 軟件工程班級學(xué)號: 學(xué)生姓名: 指導(dǎo)教師: 二O一 五 年六月 畢業(yè)設(shè)計(論文)任務(wù)書I、畢業(yè)設(shè)計(論文)題目:網(wǎng)上在線購書系統(tǒng)設(shè)計與開發(fā)II、畢 業(yè)設(shè)計(論文)使用的原始資料(數(shù)據(jù))及設(shè)計技術(shù)要求:1. Struts2框架的相關(guān)技術(shù)資料。2 開發(fā)一款應(yīng)用MVC模式的網(wǎng)站在線購書系統(tǒng),包含購書顧客、商戶、管理員三個模塊,能夠?qū)崿F(xiàn)顧客購書下訂單,商戶管理商品,管理員管理賬戶的功能。III、畢 業(yè)設(shè)計(論文)工作內(nèi)容及完成時間:本課題的主要內(nèi)容:1.系統(tǒng)學(xué)習Struts 2框架的相關(guān)知識,利用框架的配置實現(xiàn)MVC模

2、式的實現(xiàn),同時利用框架在前臺和后臺之間實現(xiàn)數(shù)據(jù)傳輸。2. 學(xué)習和使用jQuery庫,可以更容易實現(xiàn)前臺開發(fā),使得實現(xiàn)邏輯和界面效果實現(xiàn)代碼分離,使前臺開發(fā)更為容易。3. 學(xué)習MyEclipse環(huán)境下Java語言的編程和web服務(wù)的部署。 4. 基于JDK+MyEclipse+Struts2搭建的web應(yīng)用開發(fā)測試環(huán)境,完成相應(yīng)應(yīng)用軟件的設(shè)計、開發(fā)、仿真測試。5設(shè)計網(wǎng)頁良好的可視性和易操作性,使顧客可以感受良好的購書體驗。完成時間:1.資料查詢,書寫開題報告 (第一周第二周) 2.做需求分析、概要設(shè)計 (第三周第五周) 3.編寫程序、調(diào)試程序 (第六周第十二周) 4.撰寫畢業(yè)論文 (第十三周第十

3、五周) 5.總結(jié)、準備畢業(yè)答辯 (第十六周) 、主 要參考資料:1李永恒, 運用網(wǎng)絡(luò)技術(shù)完善經(jīng)營管理J. 內(nèi)蒙古煤炭經(jīng)濟2004,(02)2薩師煊、王珊編著,數(shù)據(jù)庫系統(tǒng)概論M(第三版).北京:高等教育出版社,20003劉韜, SQL Server 2000數(shù)據(jù)庫系統(tǒng)開發(fā)實例導(dǎo)航 M.北京:人民郵電出版社 2004,(05)4趙松濤, SQL Server 2000 應(yīng)用及實例集錦 M.北京:人民大學(xué)出版社,20025陳軼,肖建,王煒.Web開發(fā)技術(shù)實用教程M.北京:清華大學(xué)出

4、版社.2011.46鄭人杰等編.實用軟件工程M. 北京:清華大學(xué)出版社,2001 軟件 學(xué)院 軟件工程 專業(yè)類 班學(xué)生(簽名): 日期: 自 2015 年 03 月 02 日至 2015 年 06 月 15 日指導(dǎo)教師(簽名): 助理指導(dǎo)教師(并指出所負責的部分): 系(室)主任(簽名):附注:任務(wù)書應(yīng)該附在已完成的畢業(yè)設(shè)計說明書首頁。學(xué)士學(xué)位論文原創(chuàng)性聲明本人聲明,所呈交的論文是本人在導(dǎo)師的指導(dǎo)下獨立完成的研究成果。除了文中特別加以標注引用的內(nèi)容外,本論文不包含法律意義上已屬于他人的任何形式的研究成果,也不包含本人已用于其他學(xué)位申請的論文或成果。對本文的研究作出重要貢獻的個人和集體,均已在文

5、中以明確方式表明。本人完全意識到本聲明的法律后果由本人承擔。作者簽名: 日期:學(xué)位論文版權(quán)使用授權(quán)書本學(xué)位論文作者完全了解學(xué)校有關(guān)保留、使用學(xué)位論文的規(guī)定,同意學(xué)校保留并向國家有關(guān)部門或機構(gòu)送交論文的復(fù)印件和電子版,允許論文被查閱和借閱。本人授權(quán)南昌航空大學(xué)可以將本論文的全部或部分內(nèi)容編入有關(guān)數(shù)據(jù)庫進行檢索,可以采用影印、縮印或掃描等復(fù)制手段保存和匯編本學(xué)位論文。 作者簽名: 日期:導(dǎo)師簽名: 日期:摘要現(xiàn)今社會,網(wǎng)購已經(jīng)成為一種很常見的購物方式,網(wǎng)民在網(wǎng)上購買所需的商品來滿足日常的生活所需。由于生活中的商品種類繁多,如今的電商平臺越來越細化了業(yè)務(wù)范圍,較為突出的有:1號店更專注于日常用品、當

6、當網(wǎng)專注于文化用品尤其是書籍的經(jīng)營。在經(jīng)濟發(fā)展迅速的今天,社會更傾向于精神文明方面的建設(shè),這就使得圖書購買系統(tǒng)顯得格外的重要。本系統(tǒng)是使用MVC模式模擬當當網(wǎng)設(shè)計的一款具有在線購書功能的系統(tǒng)。主要包括顧客模塊、商戶模塊以及網(wǎng)站管理員模塊。顧客模塊可分為注冊登錄功能、個人信息管理、個人訂單管理,以及在線購書功能。顧客登錄后可以在相應(yīng)的分類中找到想要購買的圖書,下訂單。訂單提交成功后可以在“我的當當”中查看訂單,同時在“我的當當”中可以查看個人信息和做相應(yīng)的修改。商戶模塊中商戶可以搜索商品,并且可以管理圖書,包括增、刪、改、查等基本功能。網(wǎng)站管理員可以對商戶及客戶的賬戶信息操作,以此達到監(jiān)管可能出

7、現(xiàn)的惡意商戶的目的。本文所描述的系統(tǒng)采用了Strusts2及JQuery等技術(shù),運用java、jsp開發(fā),數(shù)據(jù)庫使用MySql。系統(tǒng)具有界面簡潔美觀,易擴展易維護等特點。關(guān)健詞:在線購書 Strusts2 MySql MVCAbstractTodays, online shopping has become a very common way of shopping, Internet users buy commodities online to meet the requirement of daily life. Because the wide variety of goods in

8、life, more and more electronic business platform refined the business range, the more prominent example are: Shop No. 1 focus more on everyday items, Dangdang focus on cultural goods, especially the books management. In today's rapid economic development, the more inclined to spiritual civilizat

9、ion construction, which makes the book purchase system is particularly important.This system use the MVC pattern to simulation dangdang network that design a system with functions of online shopping. The system mainly includes customer module, business module and site administrator module. Customer

10、module can be divided into registered login, personal information management, order management, personal, and online shopping function. After logging in, customers could find a book they want to buy in the respective categories, then place an order. Orders can be viewed in the "my Dangdang"

11、; after submitting order successfully, at the same time, my personal information can be viewed and make the appropriate changes in the "my Dangdang" . Merchant module can search for merchandise information, and can manage merchandise information, including create, retrieve, update, and del

12、ete other basic functions. Administrators can operate the account information of the merchant and the customer, in order to achieve the purpose of regulation may appear malicious merchant.This system uses JQuery and Strusts2 , jsp, database using MySql. System with simple and beautiful interface. It

13、 is easy to expand and easy maintenance.Keyword:Online Book Shoping Strusts2 MySql MVC 目 錄1 引言1.1 課題的來源與意義 1 1.2 課題的目標 1 1.3 設(shè)計內(nèi)容與設(shè)計結(jié)果 2 1.3.1 客戶模塊 2 1.3.2 商戶模塊 2 1.3.3 管理員模塊 3 1.3.4設(shè)計結(jié)果 3 2 相關(guān)技術(shù)簡介2.1 開發(fā)語言-Java 5 2.2 Jsp 6 2.3 JQuery 7 2.4 Struts 2 8 3 在線購書系統(tǒng)需求分析3.1 需求分析概述 10 3.2 系統(tǒng)功能需求 10 3.2.1購書顧客

14、首頁 11 3.2.2商戶界面 13 3.2.3管理員界面 14 3.3 系統(tǒng)流程圖 14 3.4 數(shù)據(jù)需求 17 3.5 開發(fā)環(huán)境 17 4 系統(tǒng)結(jié)構(gòu)設(shè)計4.1 應(yīng)用框架設(shè)計 18 4.2 功能模塊設(shè)計 18 4.3 數(shù)據(jù)庫設(shè)計 19 5 網(wǎng)上在線購書系統(tǒng)的詳細設(shè)計和實現(xiàn)5.1 框架整體介紹 24 5.2 客戶模塊實現(xiàn) 24 5.2.1首頁 24 5.2.2注冊頁面 30 5.2.3 購物車 32 5.2.4 收貨地址填寫 33 5.3 商戶模塊 36 5.4 管理員模塊 37 6 系統(tǒng)測試6.1 程序調(diào)試及故障分析 39 7 設(shè)計評價和改進要求及目標7.1設(shè)計評價 40 7.2 改進要求及

15、目標 40 參考文獻 41 致 謝 42 I1 引言1.1 課題的來源與意義第三次工業(yè)革命以來,人們的生活方式和思維方式正在發(fā)生著深刻的改變。在信息技術(shù)快速發(fā)展的情形下,人類的衣食住行等各方面同時也發(fā)生著深刻的變革。在此次科技革命中,變化最大的莫過于人們?nèi)粘5馁徺I方式。從之前的只能在線下實體店購買到現(xiàn)在的線上線下的各種綜合方式,在不同的層次方便著人們的生活。近些年來的一些新興的電商提供了這種新方式購買的平臺,這些平臺在現(xiàn)在和未來將會發(fā)揮更加積極和便利的作用。在更多的電商傾向于日用品經(jīng)營的環(huán)境下,在精神文明建設(shè)尤為突出的今天,這也就使得文化商品在線購買的平臺顯得更為迫切。在這種平臺下,那些距離書

16、籍購買處遠或者書籍量缺少的地區(qū),網(wǎng)民就可以順利的解決這種尷尬的場景。針對上述的問題,電子書也在一定層次上解決了一些問題,可是在閱讀的體驗方面,電子書在閱讀中可能對人的身體有不同程度的影響,尤其在視力方面。同時電子書在閱讀的過程中在硬件方面會有不同程度上的影響。與此同時有一些讀者在對墨香的依戀情結(jié)下,更多的人仍然選擇紙質(zhì)圖書作為閱讀的主要對象,本課題就是基于這種考慮,設(shè)計開發(fā)一個基于MVC模式為網(wǎng)民提供一個更便捷網(wǎng)上在線的購書系統(tǒng),從而使得更多的人可以更加便捷的購買到想要的圖書。通過本課題的系統(tǒng),可以為熱愛讀書的網(wǎng)民提供一個更好的購書平臺,更方便快捷的購買到想要的圖書。1.2 課題的目標本系統(tǒng)開

17、發(fā)的功能要實現(xiàn)以下的功能。1 顧客和商戶可以實現(xiàn)注冊,且注冊后可以登錄網(wǎng)站做相應(yīng)操作。2 顧客登錄后可以購買書籍,在購物車中找到所要訂購的書籍。3 可以在購買前對訂單進行操作,例如對訂單中的書籍數(shù)量變更,刪除之前想要購買的書籍,同時可以恢復(fù)已刪的書籍。4 顧客在填寫送貨信息時將輸入的數(shù)據(jù)存進數(shù)據(jù)庫,在下次購買時可以選擇之前填寫過的信息,避免重復(fù)填寫。5 顧客登錄后可以在“我的當當”中查看所有的訂單,同時可以查看和修改個人信息。6 商戶后可以實現(xiàn)書籍的增刪改查的功能和糊查詢功能。7 管理員可以刪除商戶及其名下的書籍和顧客的賬戶。1.3 設(shè)計內(nèi)容與設(shè)計結(jié)果1.3.1 客戶模塊1. 顧客和商戶可以實

18、現(xiàn)注冊注冊時分別對客戶輸入的注冊信息進行非空驗證。同時在輸入框失去焦點時,對郵箱和昵稱在數(shù)據(jù)庫中做重復(fù)判斷,如果重復(fù)則提示郵箱或者是昵稱重復(fù)。2. 顧客可登錄及登錄后完成相應(yīng)的操作顧客登錄后頁面顯示顧客昵稱作為已登錄的標志;顧客登錄后可以經(jīng)由分類找到相應(yīng)的商品圖書購買;購買后可以在購物車中看到所購買的書籍訂單,并且可以對訂單修改。3. 顧客提交訂單填寫收貨地址顧客在填寫新增的收貨地址時,會將新的地址信息添加到相應(yīng)的數(shù)據(jù)庫中,再次購書下訂單時,可以直接在地址框中使用已有的地址。4. 提交訂單時將郵件發(fā)送到指定的郵箱顧客在提交訂單時將相應(yīng)的驗證碼發(fā)送指定的郵箱,然后進行驗證碼驗證。5. 我的當當顧

19、客在登錄后可以在“我的當當”中查看已有的訂單;顧客可以在“我的當當”中查看個人信息并且修改。6. 幫助文檔顧客可以查看幫助文檔。7. 首頁顧客可以在首頁看到根據(jù)銷量推送的熱門圖書;顧客可以在首頁看到根據(jù)更新時間推送的圖書;顧客可以在首頁看到圖書分類信息;顧客可以在首頁看到圖書的銷量及其排序;1.3.2 商戶模塊1. 商品模糊查詢商戶登錄后可以通過首頁的搜索框模糊查詢商品;商戶可以對商品信息修改和刪除;商戶可以增加新上架的圖書商品。1.3.3 管理員模塊管理員對帳戶可進行如下操作。管理可以刪除商戶賬號及其名下的圖書商品;管理員可以刪除顧客的賬號及其名下的訂單。1.3.4設(shè)計結(jié)果顧客可以通過登錄進

20、入本系統(tǒng),進入系統(tǒng)后,顧客可以在首頁上看到圖書的分類及隨機推送的圖書、按銷量推送的熱門圖書、按最新上架推送的圖書以及銷量排行榜。進入“我的當當”可以看到訂單信息及個人信息,同時可以修改個人信息。進入幫助可以看到幫助文檔。每頁的Logo單擊可以返回首頁。顧客購買商品之后在購物車中自動生成訂單,訂單對商品自動計費??蛻艨梢栽谟唵伟l(fā)送前修改,包括變更、刪除、恢復(fù)等操作。顧客在填寫訂單收貨地址時可以實現(xiàn)自動選擇之前已有的地址,或者新增后可以存進數(shù)據(jù)庫在下次下訂單時可以選擇。商戶登錄后在首頁可以模糊查詢商品且可以編輯、刪除、新增。管理員可以在登錄后刪除商戶的賬戶和其相應(yīng)的圖書商品,同時可以刪除顧客和其相

21、應(yīng)的訂單。 系統(tǒng)首頁如圖1.1所示,購物車頁面如圖1.2所示。圖1.1 系統(tǒng)首頁圖1.2 購物車頁面2 相關(guān)技術(shù)簡介2.1 開發(fā)語言-Java由于Java語言擁有良好的開發(fā)性能,本系統(tǒng)使用Java開發(fā)。Java是一種簡單的,跨平臺的,面向?qū)ο蟮模植际降?,解釋的,健壯的安全的,可移植性強,性能很?yōu)異的多線程的,動態(tài)的語言。其特點有:1. 平臺無關(guān)性Java能運行于不同的平臺,其引進并且運行于虛擬機上,從而實現(xiàn)于在不同的平臺的接口之間。Java屬于開源開發(fā)語言,所以其編寫的程序可以在全世界范圍內(nèi)共享的。通過Java建立于硬件和操作系統(tǒng)之上的虛擬機,從而實現(xiàn)了Java二進制代碼的解釋執(zhí)行功能。2.

22、 安全性Java不同于C+的指針對存儲器的直接操作,而是內(nèi)存直接由操作系統(tǒng)分配,這樣就有效的避免了病毒可以通過指針非法入侵系統(tǒng),從而保證了它的安全性。3. 面向?qū)ο笙嗨朴贑+,Java也使用了面向?qū)ο筮@一概念。在類中封裝了需要使用的數(shù)據(jù),這要更有利于開發(fā)更簡潔的和更易于維護的程序。Java中提供了許多一般對象的類,可以通過繼承使用其父類中的方法。從而使得開發(fā)更為簡便。4. 分布式Java建立在擴展TCP/IP網(wǎng)絡(luò)平臺上。庫函數(shù)提供了用HTTP和FTP協(xié)議傳送和接受信息的方法。這使得程序員使用網(wǎng)絡(luò)上的文件和使用本機文件一樣容易。5. 健壯性Java自身提供了Null指針檢測、數(shù)組邊界檢測、異常出

23、口、Byte code校驗等功能,有了這些校驗,使得開發(fā)人員在開發(fā)中可以有效的避免這些錯誤,從而提高了開發(fā)的速度和質(zhì)量。6. 解釋型不同于C或者C+,Java并不直接針對CPU芯片進行編譯,而是將其編譯為一種字節(jié)碼,通過這種字節(jié)碼在JVM運行于不同的平臺上。7. 動態(tài)由于Java程序中的基本組成元素就是類,這些類可以是編寫的,也可以是直接繼承于Java所提供的類庫中,或者有的是在運行時動態(tài)裝載的。這就使得動態(tài)維護Java程序成為了可能。2.2 Jsp2.2.1 Jsp簡介Jsp即Java服務(wù)器頁面(Java server pages),它的本質(zhì)就是一個簡化的servlet設(shè)計,是一種動態(tài)的網(wǎng)頁

24、技術(shù)標準。它是在HTML這種傳統(tǒng)的網(wǎng)頁文件中加入Java程序段和jsp標記而形成的jsp文件。用jsp開發(fā)的web應(yīng)用適用于多平臺,既能在Linux下運行,也能在其他的操作平臺上運行。Jsp的技術(shù)基礎(chǔ)為Java Servlet。通過Java Servlet和Jsp 配合才能完成一些大型Web應(yīng)用程序的開發(fā)需要。Jsp技術(shù)同Java技術(shù)一樣,擁有著簡單易用、完全面向?qū)ο蟆⑴c平臺無關(guān)且安全可靠的一些主要面向因特網(wǎng)的一些特點。2.2.2 JSP指令JSP指令控制著JSP編譯器如何生成servlet,這些指令如下:1. 包含指令include -包含指令是將命令行中包含的文件像被復(fù)制到本文件中一樣包含

25、進來,就像C語言中的預(yù)處理很相似。以下為處理語法:<% include file="somefile.jsp" %>2. 頁面指令page -一般有如下選項:表2.1 頁面指令contentType 規(guī)定了生成內(nèi)容的類型。當生成非HTML內(nèi)容或者當前字符集character set并非默認字符集時使用。errorPage處理HTTP請求時,如果出現(xiàn)異常則顯示該錯誤提示信息頁面。isThreadSafe表示最終生成的servlet是否安全線程(threadsafe)。2.2.3 JSP樣例值得注意的是:在同一個JSP文件中可以多次使用的指令只有"impo

26、rt"導(dǎo)入。標簽庫指令taglib -標簽庫指令指定了要使用的JSP標簽庫。該指令需要有一個前綴prefix(和C+的命名空間很類似)和標簽庫的描述URI:<% taglib prefix="myprefix" uri="taglib/mytag.tld" %>2.2.4 JSP腳本以下是常用的一些腳本變量:1.out JSPWriter:用來寫入響應(yīng)流的數(shù)據(jù)2.page servlet:自身3.pageContext :一個PageContext實例包括和整個頁面相聯(lián)系的數(shù)據(jù),一個給定的HTML頁面可以在多個JSP之間傳遞。4.r

27、equest HTTP request:對象5.response HTTP response:對象6.session :一組會話2.3 JQuery2.3.1 JQuery簡介JQuery是一個優(yōu)秀的輕量級的可以兼容多瀏覽器Javascript庫,同時它還兼容CSS3。JQuery在2.0后將不會再支持IE6/7/8。使用Jquery可以更好的使用戶更好的處理events和動畫效果以及HTML,而且還可以使用Ajax實現(xiàn)前臺和服務(wù)器的異步交互。文檔說明全面是Jquery的另一大優(yōu)勢,而且其中的各種應(yīng)用說明也很詳細,更多的插件選擇也為這種js庫的使用錦上添花。在使用JQuery開發(fā)時,能夠使代碼

28、和HTML相分離,只許定義了相應(yīng)的id就可以對HTML進行相應(yīng)的操作。這樣也使得web開發(fā)更為簡便和輕松。如今,Jquery已然成為了全球最為流行的js庫,在全世界前10000個訪問量最多的網(wǎng)站中,其中有過半的網(wǎng)站使用了這種技術(shù)。2.3.2 使用方法1.jQuery通過下載使用,其中有兩個版本的 jQuery 可供下載:Production version - 用于實際的網(wǎng)站中,已被精簡和壓縮;Development version - 用于測試和開發(fā)(未壓縮,是可讀的代碼)。2.除了下載使用外,jQuery還可以通過在公共的服務(wù)其中選擇引用。將其放在CDN公共庫中可以加快網(wǎng)站的載入速度。將j

29、Query放在公共的服務(wù)器上與放在服務(wù)器單機上相比,CDN上的訪問更加穩(wěn)定和高速。國內(nèi)主要有新浪云服務(wù)和百度云等提供其中的服務(wù)。2.3.3 基本實例方法1. 選擇器jQuery 使用sizzle引擎,支持css選取,Xpath選取等方式。例如:$("p") 選取全部 <p> 元素2. Ajax在JQuery中提供了多種有關(guān)Ajax的方法。通過 jQuery Ajax 方法,您能夠使用 HTTP Get 和 HTTP Post 從遠程服務(wù)器上請求文本、HTML(標準通用標記語言下的一個應(yīng)用)、XML(標準通用標記語言下的一個子集) 或 JSON,同時您能夠把這些外

30、部數(shù)據(jù)直接載入網(wǎng)頁的被選元素中。2.3.4 插件機制jQuery UI是 jQuery的官方插件。開發(fā)者可以任意擴展jQuery的函數(shù)庫或者按照需求開發(fā)UI組件。網(wǎng)上已經(jīng)有數(shù)以萬計的jQuery插件,覆蓋各種各樣的需求。例如Ajax輔助、數(shù)據(jù)表格、動態(tài)列表、XML工具、拖曳、cookie處理、彈出層等等。jQuery 的文檔說明很全,而且各種應(yīng)用也說得很詳細,同時還有許多成熟的插件可供選擇,例如ComponentOne Studio for ASP NET Wijmo.2.4 Struts 22.4.1 Struts2簡介Struts2是Struts的第二代產(chǎn)品,然而其與Struts之間的聯(lián)系

31、微乎其微,Struts2是在Struts和WebWork的基礎(chǔ)上整合而成的一種全新的MVC框架。Structs2是以WebWork為核心,在處理用戶的請求時采用了攔截器的機制,這樣設(shè)計的好處就是可以使得業(yè)務(wù)邏輯控制器能夠與ServletAPI脫離開來,雖然其名為Struts2,但可以其為WebWork的下一代產(chǎn)品。2.4.2 工作原理一個請求在Struts2框架中經(jīng)歷的過程為:1 客戶端在初始化時指向了一個Servlet容器的請求。2 這個請求在經(jīng)過一系列的Filter。3 之后FilterDispatcher被調(diào)用,這時ActionMapper決定了是否要調(diào)用某個Action。4 如果Act

32、ionMapper要調(diào)用某個Action,則FilterDispatcher把請求交給ActionProxy。5 這時ActionProxy通過詢問Configuration Manager 而找到框架中配置文件的所需要的Action類。6 ActionProxy創(chuàng)建一個ActionInvocation的實例。7 ActionInvocation實例使用命名模式來調(diào)用,在調(diào)用Action的過程前后,涉及到相關(guān)攔截器(Intercepter)的調(diào)用。 8 當Action執(zhí)行完畢,ActionInvocation負責根據(jù)struts.xml中的配置找到對應(yīng)的返回結(jié)果。返回結(jié)果通常是(但不

33、總是,也可 能是另外的一個Action鏈)一個需要被表示的JSP的模版。Struts2 的原理圖如2.1圖所示:圖2.1 Struts原理圖3 在線購書系統(tǒng)需求分析3.1 需求分析概述在市場經(jīng)濟和互聯(lián)網(wǎng)十分發(fā)達的今天,隨著時代的要求,更多方便人們生活的電商應(yīng)運而生,同時在國內(nèi)精神文明建設(shè)比較迫切的環(huán)境下,在線購書系統(tǒng)能更好的為更多的讀者在購書上帶來更多的便利,使讀者不會受到時間和空間的限制,隨時隨地的購買到想要的圖書。同時也是為當下社會的精神文明建設(shè)提供一個良好的助力器。本系統(tǒng)是模擬當當網(wǎng)的一款在線網(wǎng)上購書系統(tǒng),系統(tǒng)基本實現(xiàn)了用戶(分為購書顧客和商戶)和管理員的各個功能。在購書顧客模塊中,在首

34、頁中顧客可以看到圖書的分類。同時顧客可以在圖書分類中找到想要購買的圖書,同時在相應(yīng)的圖書下面購買。顧客在登錄的前提下,可以在購物車查看訂單。確認訂單后可以下訂單。顧客可以在登錄情況下查看“我的當當”,以查看訂單數(shù)據(jù)和個人信息,同時可以修改個人數(shù)據(jù)。顧客可以在幫助中找到相應(yīng)的操作指導(dǎo)。在商戶模塊中,商戶可以在登錄情況下查看或者模糊搜索出相應(yīng)賬號下的圖書商品,同時可以對指定的圖書商品做除ID之外的其它任何的修改。在管理員模塊中,管理員可以通過注冊郵箱模糊查詢出全網(wǎng)中所有的商戶和購書顧客,并且可以查看其信息,對其中需要管理的客戶或者商戶可以刪除對應(yīng)的賬戶。3.2 系統(tǒng)功能需求通過對現(xiàn)今國內(nèi)外圖書購買

35、網(wǎng)站的調(diào)查和研究,結(jié)合所學(xué)的知識和能力,在此基礎(chǔ)上確定了系統(tǒng)的功能。依照軟件工程的步驟,軟件系統(tǒng)的功能分析在整個系統(tǒng)的生命周期中起到了至關(guān)重要的作用,只有在功能需求明確的情況下才能為之后的開發(fā)提供指導(dǎo)方向。在此前提下,經(jīng)過仔細的考察和了解,最終確定了如下的功能需求:1. 顧客打開系統(tǒng)的首頁可以看到網(wǎng)站對其推送的按全網(wǎng)圖書中隨機推薦的圖書、按銷量推薦的圖書、按圖書最新上架時間來推薦圖書以及全網(wǎng)中的銷量排序。同時在網(wǎng)站首頁的左側(cè)可以看到圖書的分類。2. 顧客在網(wǎng)站首頁的左上角可以看到有顧客登錄和注冊的鏈接。顧客可以通過相應(yīng)的鏈接進行注冊或者登錄。3. 與上功能需求相似,商戶也可以在同樣的位置看到登

36、錄和注冊的鏈接。相同的也可以在此進入進行注冊和登錄操作。4. 顧客和商戶在注冊時填寫注冊信息會有驗證限制,比如:郵箱和昵稱不能填寫之前注冊過的等等。5. 顧客登錄之后可以看到用戶昵稱顯示在網(wǎng)站首頁的歡迎處,以此來標識顧客已經(jīng)登錄。6. 顧客登錄之后可以在圖書分類中找到想要購買的圖書,然后在相應(yīng)的圖書下做購買操作。此時可以進入購物車查看訂單情況,并且可以在訂單未提交前對其修改。7. 訂單提交時填寫收貨地址可以使用新建的地址,也可以選擇使用之前使用過的地址。8. 顧客購買之后可以在“我的當當”中找到購買的圖書訂單,在核對訂單中顧客可以修改訂單,包括變更購買圖書的數(shù)量、刪除訂單中的某個圖書以及恢復(fù)訂

37、單中某個已經(jīng)刪除的圖書。9. 在首頁“我的當當”中,顧客可以查看個人信息或者完善糾正個人信息。10. 在首頁幫助中,顧客可以查看文檔獲取操作的各種方法信息。11. 商戶在登錄后,在首頁中可以對其帳戶下的圖書模糊查詢,并且可以對已有的商品圖書信息做編輯操作。商戶同時可以在此增加商品圖書。12. 在另一個登錄頁面中登錄管理員賬號,管理員可以對全網(wǎng)中的客戶和商戶進行帳戶管理。3.2.1購書顧客首頁1.顧客進入首頁之后可以進行圖書查詢,同時可以按類別查看圖書,首頁中分別會以隨機、銷量、最新上架的不同方式推送給顧客,同時顧客還可以在查找到相應(yīng)的圖書時,進行購買操作。其用例圖如圖3.1所示:圖3.1 顧客

38、基本功能用例2.顧客在首頁可以看到注冊和登錄,通過鏈接顧客可以分別到注冊和登錄頁面做相應(yīng)的操作。同時可以查看幫助獲取對應(yīng)的操作指導(dǎo)。其用例圖3.2如下所示:圖3.2 顧客登錄注冊用例3.在顧客登錄之后,顧客可以購買想要的圖書,并且可以在購物車中查看訂單,并且對其修改,同時在提交訂單之前需要填寫訂單的收貨地址等詳細信息。其用例圖3.3如下所示:圖3.3 顧客訂單用例4.顧客在登錄之后,可以在“我的當當”中查看訂單信息,同時可以查看個人信息,并且可以編輯其個人信息。其用例圖3.4如下所示:圖3.4 顧客修改信息用例3.2.2商戶界面商戶在網(wǎng)站首頁可以看到登錄和注冊入口,分別可以通過鏈接登錄或者注冊

39、。在登錄之后,商戶可以模糊查詢出指定的商品圖書。并且可以對其中的圖書信息做相應(yīng)的修改。同時也可以刪除其指定的圖書。其用例圖3.5如下:圖3.5 商戶用例3.2.3管理員界面管理員通過不同的登錄方式登錄進其管理頁面。管理員通過郵箱可以查找到相應(yīng)的商戶或者顧客賬戶,同時可以對指定的賬戶進行管理。圖3.6 管理員用例3.3 系統(tǒng)流程圖1. 用戶購書流程圖,如圖3.7所示:圖3.7 用戶購書流程圖2. 商戶管理流程圖,如圖3.8所示:圖3.8 商戶管理流程圖3. 管理員管理流程圖,如圖3.9所示:圖3.9 管理員管理流程圖3.4 數(shù)據(jù)需求1. 圖書的介紹和展示圖片放在服務(wù)器中指定的文件夾下。2. 商品

40、的作者、出版社、價格等數(shù)據(jù)需要在未開發(fā)管理員模塊時將數(shù)據(jù)加入相應(yīng)的數(shù)據(jù)庫。3.5 開發(fā)環(huán)境1. 數(shù)據(jù)庫MySQLMySQL是一款在web應(yīng)用方面最好的關(guān)系型數(shù)據(jù)庫管理系統(tǒng)軟件之一。由于其體積小、速度快、總體擁有成本低等特點,現(xiàn)在一般的中小網(wǎng)站開發(fā)更多的選擇了MySQL。2. 開發(fā)平臺 JDK+MyEclipse+IE系統(tǒng)采用Java開發(fā)的Web系統(tǒng),使用MyEclipse工具可以更好的開發(fā),同時也可以在修改后更方便的部署服務(wù),更好的測試。3. 服務(wù)器 Jsp+Struts2使用Struts2框架中的攔截器,可以實現(xiàn)使得業(yè)務(wù)邏輯控制器能夠與ServletAPI完全脫離開。從而使開發(fā)更加容易和維護

41、更加方便。4 系統(tǒng)結(jié)構(gòu)設(shè)計4.1 應(yīng)用框架設(shè)計本系統(tǒng)使用的是Struts2的MVC框架,在實現(xiàn)邏輯和前臺實現(xiàn)均使用模塊實現(xiàn),這樣的設(shè)計可以使整個系統(tǒng)更易于開發(fā)和管理,在這之后的維護中也可以更方便的測試和擴展。通過對網(wǎng)站的功能整體考量,將系統(tǒng)總的分為用戶和管理員模塊。用戶有可以分為購書顧客和商戶兩個大的模塊。結(jié)構(gòu)圖如下圖4.1所示:圖4.1 系統(tǒng)結(jié)構(gòu)圖4.2 功能模塊設(shè)計根據(jù)系統(tǒng)結(jié)構(gòu)圖,對網(wǎng)上購書系統(tǒng)進行如下設(shè)計。4.2.1 顧客模塊顧客可以在進入首頁中看到網(wǎng)站的圖書分類,分別按照隨機、銷量、最新上架推薦的商品圖書,全網(wǎng)圖書銷量排行榜等。顧客在注冊帳戶時會有信息校驗,例如:之前注冊過的郵箱和昵稱

42、不能重復(fù)注冊等等。在顧客登錄之后顧客會在首頁中看到昵稱出現(xiàn)在首頁上,以此來標識用戶登錄的狀態(tài)。在登錄之后,顧客可以在分類中找到想要購買的圖書,并且可以按購買鍵購買。在購買完商品之后,顧客可以在購物車中找到本次購買的訂單,訂單中有購買圖書的信息,并且可以修改訂單的信息(包括修改商品數(shù)目、刪除商品、恢復(fù)刪除的商品)。在提交訂單之前,填寫收貨信息時,可以使用新建的收貨地址,為了實現(xiàn)更快的購書體驗,也可以選擇使用之前使用過的地址。在提交訂單之后,可以在首頁中“我的當當”中查詢顧客的訂單信息。同時在“我的當當”中可以查看和修改顧客的個人信息。顧客也可以在首頁的幫助中查看操作信息。4.2.2 商戶模塊在商

43、戶模塊中,商戶需要在網(wǎng)站的首頁中注冊并登錄網(wǎng)站,從而進入商戶的個人首頁。商戶在注冊中和顧客相同,會有郵箱和昵稱等一系列的校驗。商戶在登錄之后,首頁中可以模糊查詢帳戶中擁有的商品圖書。同時可以編輯和刪除圖書的信息。4.2.3 管理員模塊管理員在網(wǎng)站首頁中沒有登錄入口,只能通過固定的訪問鏈接進入,在管理員中管理員可以通過郵箱查詢到相應(yīng)的賬戶信息,并且可以分別對顧客和商戶的賬戶管理。4.3 數(shù)據(jù)庫設(shè)計4.3.1 系統(tǒng)數(shù)據(jù)庫E-R模型圖4.2 E-R圖4.3.2 系統(tǒng)數(shù)據(jù)庫設(shè)計數(shù)據(jù)庫中存入的表中,分別由顧客表、商戶表、書目表、訂單表等一系列表組成。這些表之間存在主次表的聯(lián)系,有的表存在特性上的關(guān)聯(lián)等等

44、。其中一共有9張表,分別如下:1. d_user表:此張表是顧客表,當顧客注冊時會將注冊成功后的信息存入此張表中,也是當有新的顧客注冊時,使用新顧客注冊的郵箱與表中的郵箱對比,使注冊的郵箱不致于重復(fù),如下表4.1所示。表4.1 d_user表屬性數(shù)據(jù)類型是否為主鍵Id(ID)int(12)YesEmail(郵箱)varchar(50)NoNickname(昵稱)varchar(50)NoPassword(密碼)varchar(50)Nois_email_verify(郵箱是否驗證)char(3)Noemail_verify_code(驗證碼)varchar(50)Nolast_login_ti

45、me(上次登錄時間)bigintNolast_login_ip(上次登錄ip)varchar(15)No2. d_admin表此表是商戶表,與顧客表基本一致。也是在注冊成功后將商戶的信息存入表中,同時在新的商戶注冊時,將新的商戶注冊時的郵箱等信息與此表中的信息對比,保證在郵箱、昵稱等信息中的不重復(fù)性,如下表4.2所示。表4.2 d_admin表屬性數(shù)據(jù)類型是否為主鍵id(ID)int(12)Yesemail(郵箱)varchar(50)Nonickname(昵稱)varchar(50)Nopassword(密碼)varchar(50)Nois_email_verify(郵箱是否驗證)char(

46、3)Noemail_verify_code(驗證碼)varchar(50)Nolast_login_time(上次登錄時間)bigintNolast_login_ip(上次登錄ip)varchar(15)No3. d_product表此表是圖書表,包含了圖書的一些主要信息,包括ID、書名、價格等信息。此表屬于d_book主表,和d_book的ID是一致的,并且在商戶增加圖書時,是將信息同時加入這兩張表中的,如下表4.3所示。表4.3 d_product表屬性數(shù)據(jù)類型是否為主鍵Id(ID)int(12)Yesproduct_name(書名)varchar(100)NoDescription(描述

47、)varchar(100)Noadd_time(添加時間)bigint(20)Nofixed_price(原價)doubleNodang_price(當當價)doubleNoKeywords(關(guān)鍵字)varchar(200)Nohas_deleted(是否被刪)int(1)Noproduct_pic(圖片)varchar(200)NoSalenumber(銷售量)int(8)No4. d_book表此表中存儲了圖書商品的一些次要的信息,包括了作者、出版社等信息。與d_product共同存儲了圖書的全部信息,如下表4.4所示。表4.4 d_book表屬性數(shù)據(jù)類型是否為主鍵Id(ID)int(12

48、)YesAuthor(作者)varchar(200)NoPublishing(出版社)varchar(200)Nopublish_time(出版時間)bigint(20)Noword_number(字數(shù))varchar(15)Nowhich_edtion(版數(shù))varchar(15)Nototal_page(總頁數(shù))varchar(15)NoIsbn(ISBN)varchar(25)Noauthor_summary(作者簡介)textNoCatalogue(類別)TextNo5. d_category表此表中存儲了圖書的所有分類,包括一級分類和二級分類,如下表4.5所示。表4.5 d_cate

49、gory表屬性數(shù)據(jù)類型是否為主鍵Id(ID)int(12)Yesen_name(英文名)varchar(200)NoName(中文名)varchar(200)NoDescription(描述)varchar(200)NoParent_id(父類ID)Int(10)No6. d_category_product表此表作為圖書和分類之間的聯(lián)系表,分別將圖書的id和分類的id建立聯(lián)系。這樣作為在首頁中按分類劃分圖書的標準。也是商戶在增加圖書時與分類建立聯(lián)系的基礎(chǔ),如下表4.6所示。表4.6 d_category_product表屬性數(shù)據(jù)類型是否為主鍵Id(Id)int(12)Yesproduct_i

50、d(圖書ID)Int(10)Nocat_id(分類ID)Int(10)No7. d_item表此表是客戶在購物車中的訂單表,當顧客在點擊購買時,將商品的信息生成一條購買商品記錄,這些記錄就保存在這張表中。顧客可以在提交訂單之前修改其中的數(shù)據(jù),如下表4.7所示。表4.7 d_item表屬性數(shù)據(jù)類型是否為主鍵Id(ID)int(12)Yesorder_id(訂單ID)Int(10)Noproduct_id(圖書ID)Int(10)Noproduct_name(圖書名)varchar(100)Nodang_price(當當價)doubleNoproduct_num(圖書數(shù)量)int(10)NoAmo

51、unt(訂單總價)doubleNo8. d_receive_address表此表是在顧客提交訂單前,將新填寫的收貨地址等信息存入此張表中,也可以通過表中已有的收貨地址選擇其中的信息避免讓顧客重復(fù)輸入數(shù)據(jù),如下表4.8所示。表4.8 d_receive_address表屬性數(shù)據(jù)類型是否為主鍵Id(ID)int(12)Yesuser_id(用戶ID)Int(11)Noreceive_name(收件人)varchar(20)Nofull_address(收件地址)varchar(200)Nopostal_code(郵政編碼)varchar(8)NoMobile(手機)varchar(15)NoPho

52、ne(電話)varchar(20)No9. d_order表此表是顧客在最后生成訂單后生成的訂單表,其中包括了訂單中的信息和收貨人及地址的信息,這張表中包含了更全面的訂單信息,如下表4.9所示。表4.9 d_order表屬性數(shù)據(jù)類型是否為主鍵Id(ID)int(12)Yesuser_id(用戶ID)Int(11)NoStatus(狀態(tài))int(10)Noorder_time(訂單時間)bigint(20)Noorder_desc(訂單描述)varchar(100)Nototal_price(總價)doubleNoreceive_name(收件人)varchar(20)Nofull_addres

53、s(收件地址)varchar(200)Nopostal_code(郵政編碼)varchar(8)NoMobile(手機)varchar(15)NoPhone(電話)varchar(20)No5 網(wǎng)上在線購書系統(tǒng)的詳細設(shè)計和實現(xiàn)5.1 框架整體介紹整個系統(tǒng)是使用Struts2 框架完成,在整個MVC框架中,jsp擔任了View的角色,將需要顯示的信息展示在頁面中。Struts2中配置的XML文件擔任了Controller的角色,將前臺需要的執(zhí)行的邏輯通過其中的配置傳到后臺執(zhí)行,同時將后臺執(zhí)行完后的相應(yīng)數(shù)據(jù)通過其中的配置傳送到指定的前臺界面顯示出來。這是后臺的JavaBeans擔任了Model的角

54、色。在后臺的處理邏輯中Action中使用DAO技術(shù)鏈接數(shù)據(jù)庫,這樣可以把底層的數(shù)據(jù)訪問操作和上層的商務(wù)邏輯分開。使得開發(fā)更容易操作,系統(tǒng)實現(xiàn)低耦合的特點。5.2 客戶模塊實現(xiàn)5.2.1首頁首頁是在用戶剛剛進入網(wǎng)站時所看到的網(wǎng)頁,首頁中實現(xiàn)了顧客可以查看圖書的分類、推薦圖書、熱銷圖書、新上架圖書、圖書銷量排行榜等模塊。同時首頁的中有顧客和商戶登錄和注冊的鏈接。同時顧客登錄之后可以看到昵稱在首頁顯示,顧客可以做退出操作。首頁的幾個模塊的實現(xiàn)上使用了jsp文件內(nèi)嵌的方式,將幾個模塊的代碼分別的放在不同的jsp文件中,然后通過內(nèi)嵌顯示到同一張頁面中,這樣使得頁面更容易開發(fā)和維護,當出現(xiàn)問題時可以更方便的定位到問題的源頭。 圖書類別模塊在圖書類別中,分別顯示了全網(wǎng)圖書的全部類別,顧客可以根據(jù)所選擇圖書的類別找到想要購買的圖書。圖書的類別是在數(shù)據(jù)庫中的d_category表中取出來的,分別根據(jù)其中的parent字段顯示其中的分類級別。當從數(shù)據(jù)庫中取到相應(yīng)的數(shù)據(jù)后,前臺通過兩層迭代將數(shù)據(jù)顯示出來。同時在一級分類中,會有鼠標在范圍內(nèi)會變化為白色效果,失去焦點后重新變?yōu)樵瓉淼念伾Ч?。同時顧客在點擊相應(yīng)的分類后會跳轉(zhuǎn)到相應(yīng)的分類

溫馨提示

  • 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)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論