版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、編號(hào): 畢 業(yè) 設(shè) 計(jì)(2017屆本科)題 目: 基于Java的網(wǎng)上書城的設(shè)計(jì)與實(shí)現(xiàn) 系(部)院: 信息技術(shù)與傳媒學(xué)院 專 業(yè): 計(jì)算機(jī)科學(xué)與技術(shù) 作者姓名: 陳衛(wèi)國(guó) 指導(dǎo)教師: 祁金佺 職稱: 講師 完成日期: 2017 年 5 月 15 日 河西學(xué)院本科生畢業(yè)論文(設(shè)計(jì))誠(chéng)信聲明本人鄭重聲明:所呈交的本科畢業(yè)論文(設(shè)計(jì)),是本人在指導(dǎo)老師的指導(dǎo)下,獨(dú)立進(jìn)行研究(設(shè)計(jì)開發(fā))工作所取得的成果,成果不存在知識(shí)產(chǎn)權(quán)爭(zhēng)議,除文中已經(jīng)注明引用的內(nèi)容外,本論文不含任何其他個(gè)人或集體已經(jīng)發(fā)表或撰寫過(guò)的作品成果。對(duì)本文的研究做出重要貢獻(xiàn)的個(gè)人和集體均已在文中以明確方式標(biāo)明。本人完全意識(shí)到本聲明的法律結(jié)果由本
2、人承擔(dān)。 本科畢業(yè)論文(設(shè)計(jì))作者簽名: 二一七年五月十五日摘 要進(jìn)入二十一世紀(jì),電子商務(wù)已經(jīng)逐漸成為主流的商業(yè)模式,“當(dāng)當(dāng)”、“京東”和“淘寶”演變成為我們生活中的一部分、一種生活的習(xí)慣。隨著IT技術(shù)的進(jìn)步和發(fā)展, 網(wǎng)上書城已經(jīng)成為一種新型的圖書銷售形式。本文綜合分析了網(wǎng)上書城的用戶需求和系統(tǒng)業(yè)務(wù)流程,并針對(duì)分析和具體設(shè)計(jì)等進(jìn)行了詳細(xì)的介紹。該系統(tǒng)通過(guò)分析客戶的需求,確定了系統(tǒng)的功能模塊,將網(wǎng)上書城功能模塊分成兩部分,即前臺(tái)功能管理模塊和后臺(tái)功能管理模塊。前臺(tái)功能管理模塊,實(shí)現(xiàn)了首頁(yè)展示、商城公告、銷售排行、圖書分類、購(gòu)物車、訂單生成等主要功能;后臺(tái)管理模塊,實(shí)現(xiàn)了后臺(tái)登錄功能、圖書管理功能
3、、用戶管理功能、前臺(tái)管理和訂單管理功能等。通過(guò)實(shí)現(xiàn)這些模塊,用戶可以很方便的實(shí)現(xiàn)網(wǎng)上購(gòu)書的目的和管理員對(duì)書城更好的管理。本系統(tǒng)采用了目前成熟完善的技術(shù)體系。開發(fā)平臺(tái)選用基于Java語(yǔ)言的MyEclipse,實(shí)現(xiàn)方式采用B/S架構(gòu),系統(tǒng)遵循J2EE模型體系和MVC設(shè)計(jì)模式,關(guān)鍵技術(shù)上選用目前Web系統(tǒng)主流的“Struts+Spring+Hibernate”開發(fā)手段。關(guān)鍵詞:網(wǎng)上書城;電子商務(wù);JSP;SSH;MVC AbstractE-commerce has gradually become the mainstream business model in twenty-first Centu
4、ry. E-platforms like Dangdang, Jingdong and Taobao plays an essential role in our life. On the consequence, online shopping has been a normal lifestyle. With development of IT technology, online bookstores has become a new approach to book sales.This paper analyses users needs of the online bookstor
5、es as well as the processes of system service. Focusing on comprehensive analyses and specific designs, the thesis provides a detailed introduction. From the analyses of users needs, the system determines two function modules, namely the front desk management function module and the backstage manage
6、ment function module. The front desk the management function module have the following parts: homepage display and key recommendation, online announcement, sales rank, book classification, shopping cart and orders. While the backstage management module cover functions of the backend login, books man
7、agement, user management, and order management. Through the effective operation of these modules, users are easily able choose and buy books online while the administrator can manage the website more efficiently. The system adopts advanced and developed technology. The platform employs MyEclipse bas
8、ed on Java language to use the B / S structure. The system follows the J2EE system and the MVC pattern. Referring the key technology, the popular tool, Struts + Spring + Hibernate in web system, is widely used.Keywords: Online bookstore; E commerce; JSP;SSH;MVC 目 錄第一章 設(shè)計(jì)概述11.1 設(shè)計(jì)背景與意義11.2 同類或相關(guān)系統(tǒng)的開發(fā)
9、現(xiàn)狀11.3 選題的主要工作內(nèi)容21.4 本章小結(jié)2第二章 系統(tǒng)采用的相關(guān)技術(shù)32.1 MVC設(shè)計(jì)模式在系統(tǒng)中的應(yīng)用32.2 SSH框架在系統(tǒng)中的應(yīng)用32.2.1 Struts 2.0的應(yīng)用32.2.2 Spring 4.2.4 的應(yīng)用32.2.3 Hibernate 4.3.11 的應(yīng)用42.3 Web服務(wù)器技術(shù)的應(yīng)用42.4 MYSQL數(shù)據(jù)庫(kù)的應(yīng)用42.5 本章小結(jié)4第三章 系統(tǒng)分析與設(shè)計(jì)53.1 系統(tǒng)分析53.1.1 用戶角色分析53.1.2 需求分析53.2 功能模塊設(shè)計(jì)53.2.1 總體功能模塊設(shè)計(jì)53.2.2 詳細(xì)功能模塊設(shè)計(jì)63.3數(shù)據(jù)庫(kù)設(shè)計(jì)103.3.1 數(shù)據(jù)庫(kù)設(shè)計(jì)概述103.
10、3.2 數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)103.4 本章小結(jié)13第四章 系統(tǒng)實(shí)現(xiàn)144.1 系統(tǒng)開發(fā)配置144.2 前臺(tái)功能模塊實(shí)現(xiàn)144.3 后臺(tái)功能模塊實(shí)現(xiàn)224.4 本章小結(jié)28第五章 系統(tǒng)安裝部署和簡(jiǎn)要使用說(shuō)明295.1 系統(tǒng)運(yùn)行環(huán)境說(shuō)明295.1.1 服務(wù)器軟硬件環(huán)境說(shuō)明295.1.2 客戶機(jī)軟硬件環(huán)境說(shuō)明295.2 系統(tǒng)安裝部署說(shuō)明29第六章 結(jié)束語(yǔ)30致謝31參考文獻(xiàn)32第一章 設(shè)計(jì)概述1.1 設(shè)計(jì)背景與意義隨著現(xiàn)代互聯(lián)網(wǎng)技術(shù)的飛速發(fā)展,計(jì)算機(jī)網(wǎng)絡(luò)已應(yīng)用在我們生活的各個(gè)領(lǐng)域并發(fā)揮著舉足輕重的作用。網(wǎng)上書城憑其圖書信息更新快、存儲(chǔ)量大、達(dá)成交易安全性高、操作簡(jiǎn)便快捷等特點(diǎn)1,迅速走進(jìn)人們的日常生活。
11、通過(guò)計(jì)算機(jī)對(duì)圖書銷售的數(shù)據(jù)進(jìn)行集中管理,可以隨時(shí)查閱銷售信息、發(fā)貨信息、庫(kù)存信息、財(cái)務(wù)信息從而做出正確決策2,消費(fèi)者也可以隨時(shí)關(guān)注商品的相關(guān)信息和物流信息,這對(duì)于現(xiàn)代年輕人而言,有著極大的吸引力,所以開發(fā)一套管理方便、安全、可靠、快捷的網(wǎng)上書城銷售管理系統(tǒng)無(wú)論對(duì)于圖書商家還是普通消費(fèi)者而言都是一件非常有必要的工作3-5。1.2 同類或相關(guān)系統(tǒng)的開發(fā)現(xiàn)狀在國(guó)外,影響較大的有美國(guó)的亞馬遜,它成立之初只經(jīng)營(yíng)網(wǎng)絡(luò)的書籍銷售業(yè)務(wù)?,F(xiàn)在則擴(kuò)及了范圍相當(dāng)廣的其他產(chǎn)品,已成為全球商品品種最多的網(wǎng)上零售商和全球第二大互聯(lián)網(wǎng)企業(yè)6。亞馬遜商城首頁(yè)如圖 1-1 所示:圖 1-1 亞馬遜商城首頁(yè)圖國(guó)內(nèi)的網(wǎng)上書城,雖然
12、起步較晚,但是由于我國(guó)人口基數(shù)大,需求量多,得力于人口紅利的原因,所以我國(guó)網(wǎng)上書城的發(fā)展非常迅速。目前我國(guó)運(yùn)作和銷售較好的大型網(wǎng)上書店,如當(dāng)當(dāng)、京東、天貓、文軒網(wǎng)、99網(wǎng)上書城,經(jīng)營(yíng)模式主要包括:B2B、B2C、C2C。當(dāng)當(dāng)網(wǎng)首頁(yè)如圖 1-2 所示:圖 1-2 當(dāng)當(dāng)網(wǎng)首頁(yè)圖1.3 選題的主要工作內(nèi)容1. 首先學(xué)習(xí)了解了本系統(tǒng)在當(dāng)今流行背景下的趨勢(shì)和潮流,收集查閱關(guān)于 JSP技術(shù)在網(wǎng)上書城系統(tǒng)應(yīng)用的相關(guān)參考文獻(xiàn)資料,在當(dāng)當(dāng)網(wǎng)、亞馬遜、京東商城、中國(guó)圖書網(wǎng)、互動(dòng)出版網(wǎng)等國(guó)內(nèi)大型網(wǎng)上圖書銷售網(wǎng)站進(jìn)行點(diǎn)擊購(gòu)書實(shí)踐。 2. 利用JSP技術(shù)在網(wǎng)絡(luò)上架構(gòu)一個(gè)動(dòng)態(tài)的電子購(gòu)書虛擬網(wǎng)站,確定它的開發(fā)語(yǔ)言和開發(fā)工具
13、以及相關(guān)技術(shù)等。 3. 然后進(jìn)入系統(tǒng)主要設(shè)計(jì)研究階段。根據(jù)需求分析及三層架構(gòu)設(shè)計(jì)的思想,系統(tǒng)總的分為前臺(tái)和后臺(tái)兩個(gè)子系統(tǒng)。根據(jù)網(wǎng)上書城特點(diǎn),系統(tǒng)將前臺(tái)定為顧客操作界面,后臺(tái)為管理員操作界面。勾畫出系統(tǒng)的總體框架、軟件結(jié)構(gòu)、數(shù)據(jù)流程圖,完成系統(tǒng)概要設(shè)計(jì),再完成前、后臺(tái)模塊的詳細(xì)設(shè)計(jì),實(shí)現(xiàn)系統(tǒng)各模塊之間的整合,同時(shí)也完成了界面的設(shè)計(jì)和實(shí)現(xiàn)。1.4 本章小結(jié)本章主要介紹了課題的設(shè)計(jì)背景和意義,同類或相關(guān)系統(tǒng)的開發(fā)現(xiàn)狀,分別從國(guó)外及國(guó)內(nèi)進(jìn)行介紹,最后介紹了選題的主要工作內(nèi)容。為后續(xù)的工作奠定了堅(jiān)實(shí)的基礎(chǔ)。第二章 系統(tǒng)采用的相關(guān)技術(shù)2.1 MVC設(shè)計(jì)模式在系統(tǒng)中的應(yīng)用MVC(ModelViewContr
14、oller 模型-視圖-控制器)是被廣泛接受和使用的一種軟件設(shè)計(jì)典范7。其把一個(gè)軟件應(yīng)用分成了Model(模型)、View(視圖)、Controller(控制器)三個(gè)部分,簡(jiǎn)化了系統(tǒng)的開發(fā)結(jié)構(gòu)。本系統(tǒng)的開發(fā)遵循了 MVC框架的分層原則8。 2.2 SSH框架在系統(tǒng)中的應(yīng)用本系統(tǒng)是用目前成熟的SSH框架為核心進(jìn)行開發(fā)實(shí)現(xiàn)的,SSH框架是Struts+Spring+Hibernate三個(gè)開源框架的集成910。SSH框架為四層:控制層、業(yè)務(wù)邏輯層、數(shù)據(jù)持久層、和域模塊層。系統(tǒng)使用SSH框架進(jìn)行開發(fā),完全遵循MVC設(shè)計(jì)模式,使得模型、視圖、控制器三層分離,同時(shí)業(yè)務(wù)邏輯層和數(shù)據(jù)持久層也有效的隔離開來(lái)。2
15、.2.1 Struts 2.0的應(yīng)用Struts2.0是Struts的第二代產(chǎn)品,是在Web Work的技術(shù)基礎(chǔ)上開發(fā)了全新MVC框架121314。Struts2是SSH的整體基礎(chǔ)框架,使MVC分離得以實(shí)現(xiàn)。2.2.2 Spring 4.2.4 的應(yīng)用Spring是一個(gè)開源框架,由Rod Johnson在其著作Expert One-On-One J2EE Development and Design中闡述的部分理念和原型衍生而來(lái),為了解決企業(yè)級(jí)開發(fā)的復(fù)雜性而創(chuàng)建的,使用基本的Java Bean代替EJB。總的來(lái)說(shuō),Spring是一輕量級(jí)的控制反轉(zhuǎn)(IOC)和面向切面(AOP)編程的容器框架16
16、。Spring在SSH框架中充當(dāng)著容器管理的角色,利用Spring的IOC(控制反轉(zhuǎn)和依賴注入)機(jī)制控制著Struts所有的Action和業(yè)務(wù)邏輯處理類的生命周期,業(yè)務(wù)層的生命周期不再由Struts所控制,這樣層與層之間實(shí)現(xiàn)了良好的解耦,有利于提高程序的開發(fā)效率,維護(hù)起來(lái)也更加方便。Spring在SSH框架中的另外一個(gè)作用是實(shí)現(xiàn)事務(wù)控制。我們?cè)谝酝南到y(tǒng)開發(fā)過(guò)程中,當(dāng)事務(wù)提交成功時(shí),往往使用Try/Catch語(yǔ)句來(lái)完成異常的處理。但是使用Spring的時(shí)候卻不可如此大費(fèi)周章,事務(wù)處理模板(Transaction Template)已經(jīng)集成于Spring當(dāng)中。2.2.3 Hibernate 4.
17、3.11 的應(yīng)用Hibernate 是一個(gè)開源的對(duì)象關(guān)系映射框架,其對(duì)JDBC 作了輕量級(jí)的對(duì)象封裝,使得Java程序員可以脫離底層sql語(yǔ)句并使用面向?qū)ο蟮木幊趟枷雭?lái)對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作17。通過(guò)Hibernate使數(shù)據(jù)庫(kù)表和持久化對(duì)象之間的映射得以實(shí)現(xiàn),Hibernate同時(shí)提供了處理數(shù)據(jù)庫(kù)的一系列方法,程序員在系統(tǒng)開發(fā)中只需修改配置文件和編寫數(shù)據(jù)庫(kù)表的映射文件即可。因此,開發(fā)人員對(duì)數(shù)據(jù)庫(kù)的操作將會(huì)變得非常簡(jiǎn)單,減少了編寫SQL語(yǔ)句使用JDBC操作數(shù)據(jù)庫(kù)的時(shí)間,提高了程序的開發(fā)效率。2.3 Web服務(wù)器技術(shù)的應(yīng)用本系統(tǒng)采用Tomcat作為Web服務(wù)器。Tomcat是一個(gè)免費(fèi)的開源的Servle
18、t容器,它是Apache基金會(huì)的Jakarta項(xiàng)目中的一個(gè)核心項(xiàng)目,由Apache、Sun和其它一些公司及個(gè)人共同開發(fā)而成。因Sun參與并支持了Tomcat的開發(fā),Tomcat對(duì)最新的Servlet和Jsp規(guī)范都提供了良好的支持。2.4 MYSQL數(shù)據(jù)庫(kù)的應(yīng)用本系統(tǒng)采用MySQL數(shù)據(jù)庫(kù)。MySQL是一個(gè)關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),由瑞典 MySQL AB公司開發(fā),目前屬于Oracle公司。MySQL是最流行的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),在WEB應(yīng)用方面MySQL是最好的RDBMS(關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng))應(yīng)用軟件之一。2.5 本章小結(jié)本章主要介紹了系統(tǒng)采用的相關(guān)技術(shù),確定使用市場(chǎng)主流的SSH框架,遵循MVC設(shè)
19、計(jì)模式,數(shù)據(jù)庫(kù)采用開源的MYSQL數(shù)據(jù)庫(kù),將Tomcat作為Web服務(wù)器。第三章 系統(tǒng)分析與設(shè)計(jì)3.1 系統(tǒng)分析3.1.1 用戶角色分析本系統(tǒng)的用戶有三類,分別是超級(jí)管理員、普通管理員、普通用戶。系統(tǒng)管理員實(shí)現(xiàn)對(duì)普通管理員、普通用戶、商品信息、商品類別、用戶訂單等的增刪改查功能,普通管理員實(shí)現(xiàn)除不能管理普通管理員外所有超級(jí)管理員實(shí)現(xiàn)的功能,普通用戶只有購(gòu)物功能。3.1.2 需求分析本網(wǎng)站是一個(gè)網(wǎng)上書城,供用戶瀏覽然后購(gòu)買書籍,所以本網(wǎng)站應(yīng)具有登錄、注冊(cè)、加購(gòu)物車、下單、支付、查看訂單等一些商城必備功能。3.2 功能模塊設(shè)計(jì)3.2.1 總體功能模塊設(shè)計(jì)本論文所實(shí)現(xiàn)的網(wǎng)上書城分為前臺(tái)和后臺(tái)模塊。前
20、臺(tái)模塊實(shí)現(xiàn)了用戶注冊(cè)、用戶登錄、用戶加購(gòu)物車、訂單用戶查詢、訂單支付、圖書搜索等功能,后臺(tái)模塊實(shí)現(xiàn)了前臺(tái)管理、權(quán)限管理、圖書信息管理、圖書類別管理、訂單管理、用戶管理等功能。圖 3-1 功能模塊圖3.2.2 詳細(xì)功能模塊設(shè)計(jì) 系統(tǒng)前臺(tái)設(shè)計(jì)1. 用戶注冊(cè)模塊如果游客需要在本網(wǎng)上書城購(gòu)買圖書,則需要注冊(cè)。用戶的注冊(cè)信息包括用戶名、用戶密碼、注冊(cè)郵箱等信息。注冊(cè)頁(yè)面對(duì)用戶名、密碼、郵箱等有相應(yīng)的校驗(yàn),如果用戶相應(yīng)項(xiàng)輸入信息不對(duì),則會(huì)有錯(cuò)誤提示信息,注冊(cè)成功則有注冊(cè)成功的提示。用戶注冊(cè)流程圖如圖 3-2 所示:圖 3-2 用戶注冊(cè)流程圖2. 購(gòu)物車模塊用戶在商品詳情頁(yè)面點(diǎn)擊加入購(gòu)物車按鈕
21、,會(huì)將該圖書添加到購(gòu)物車,購(gòu)物車顯示圖書書名、購(gòu)買數(shù)量、單價(jià)、總價(jià)等信息;點(diǎn)擊繼續(xù)購(gòu)買會(huì)跳回書城首頁(yè),繼續(xù)購(gòu)買感興趣的圖書;點(diǎn)擊刪除會(huì)刪除購(gòu)物車中某一圖書;在數(shù)量選擇框里修改圖書的數(shù)量,相應(yīng)的價(jià)格也隨之改變;點(diǎn)擊結(jié)賬會(huì)跳轉(zhuǎn)到訂單信息填寫頁(yè)面,要求用戶填寫相應(yīng)的信息。購(gòu)物車流程圖如圖 3-3 所示:圖 3-3 購(gòu)物車流程圖3.訂單查詢模塊用戶點(diǎn)擊已買到的商品,如果沒(méi)有登錄,就會(huì)跳轉(zhuǎn)到用戶登錄頁(yè)面,登錄之后跳回書城首頁(yè),即可進(jìn)行訂單查詢。訂單查詢會(huì)顯示用戶在本書城已提交的所有訂單,訂單包括的信息有圖書數(shù)量、圖書總價(jià)、收貨人姓名、收貨地址、收貨人聯(lián)系方式、訂單編號(hào)、訂單詳細(xì)信息、訂單狀態(tài)。訂單查詢流
22、程圖如圖 3-4 所示:圖 3-4 訂單查詢流程圖4. 圖書搜索模塊用戶根據(jù)圖書名關(guān)鍵字對(duì)圖書進(jìn)行搜索,結(jié)果為滿足條件的圖書信息列表。圖書搜索模塊流程圖如圖 3-5 所示:圖 3-5 圖書搜索流程圖5. 訂單支付模塊用戶下單之后可以對(duì)訂單進(jìn)行支付。 系統(tǒng)后臺(tái)設(shè)計(jì)1. 權(quán)限管理模塊后臺(tái)系統(tǒng)管理員對(duì)使用后臺(tái)的人員進(jìn)行權(quán)限管理。點(diǎn)擊系統(tǒng)管理下的權(quán)限管理,會(huì)列出系統(tǒng)所有的管理員信息;點(diǎn)擊添加,頁(yè)面會(huì)彈出添加管理員對(duì)話框,要求輸入管理員賬號(hào)、管理員密碼、選擇管理員類型;點(diǎn)擊編輯,可以修改管理員類型、名稱、密碼等信息。點(diǎn)擊刪除將刪除一個(gè)管理員的全部信息。2. 用戶管理模塊系統(tǒng)管理員可以對(duì)前臺(tái)
23、已注冊(cè)的用戶進(jìn)行管理,點(diǎn)擊用戶管理下的查看用戶,后臺(tái)會(huì)顯示所有的用戶信息列表;點(diǎn)擊刪除按鈕,可以刪除一條用戶信息。3. 圖書類別管理模塊管理員可以對(duì)圖書類別信息進(jìn)行管理。點(diǎn)擊商品管理下的分類管理會(huì)顯示所有圖書類別的信息;點(diǎn)擊添加,添加圖書新類別詳細(xì)信息,需要錄入圖書類別、圖書類別描述信息;點(diǎn)擊編輯,可修改當(dāng)前選擇圖書類別信息;點(diǎn)擊刪除可以刪除當(dāng)前選擇一條圖書類別。圖書類別管理流程圖如圖 3-6 所示:圖 3-6 圖書類別管理流程圖4. 圖書信息管理模塊管理員管理一本圖書的詳細(xì)信息。單擊商品管理下圖書管理鏈接,后臺(tái)會(huì)呈現(xiàn)所有圖書的詳細(xì)信息。單擊添加,要求輸入圖書名、圖書類別、圖書封面、圖書編號(hào)、
24、圖書出版社、出版日期、作者、價(jià)格等信息;單擊修改,可以對(duì)圖書信息進(jìn)行修改;單擊刪除,可以刪除一本或多本圖書,圖書信息管理流程圖如圖 3-7 所示:圖 3-7 圖書信息管理流程圖5. 訂單管理模塊后臺(tái)管理員可以對(duì)客戶下的訂單做相應(yīng)管理。點(diǎn)擊訂單管理鏈接,會(huì)根據(jù)訂單狀態(tài),顯示出已經(jīng)支付訂單和未支付訂單,進(jìn)一步點(diǎn)擊會(huì)顯示訂單詳情:訂單編號(hào)、訂單價(jià)格、收貨地址、訂單狀態(tài)等詳細(xì)信息。點(diǎn)擊刪除訂單,可以刪除一條訂單記錄。6. 前臺(tái)管理模塊管理員登陸以后可以對(duì)前臺(tái)首頁(yè)顯示的數(shù)據(jù)進(jìn)行動(dòng)態(tài)管理。包括輪播圖、商城公告、圖書推薦、熱門活動(dòng)等信息的添加編輯刪除。3.3數(shù)據(jù)庫(kù)設(shè)計(jì)3.3.1 數(shù)據(jù)庫(kù)設(shè)計(jì)概述數(shù)據(jù)庫(kù)設(shè)計(jì)是指
25、根據(jù)用戶的實(shí)際需要,在某一特定的數(shù)據(jù)庫(kù)管理系統(tǒng)上,建立及設(shè)計(jì)數(shù)據(jù)庫(kù),使之能夠有效的地存儲(chǔ)數(shù)據(jù)。數(shù)據(jù)庫(kù)作為一個(gè)應(yīng)用系統(tǒng)的核心和基礎(chǔ),它把應(yīng)用系統(tǒng)中的數(shù)據(jù)按照一定的數(shù)據(jù)模型組織起來(lái),可以更新、存儲(chǔ)、檢索、維護(hù)應(yīng)用系統(tǒng)中的數(shù)據(jù),與此同時(shí),應(yīng)用系統(tǒng)也能及時(shí)有效的從數(shù)據(jù)庫(kù)中獲取想要的數(shù)據(jù)。數(shù)據(jù)庫(kù)是應(yīng)用系統(tǒng)各個(gè)功能部分緊密聯(lián)系在一起的橋梁,數(shù)據(jù)庫(kù)的設(shè)計(jì)在系統(tǒng)開發(fā)中有著舉足輕重的地位。3.3.2 數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)從前面的需求分析可知,要實(shí)現(xiàn)網(wǎng)上書城的各個(gè)功能部分需要建立相應(yīng)的數(shù)據(jù)表進(jìn)行數(shù)據(jù)的存儲(chǔ)操作。表間關(guān)系圖如圖 3-8 所示:圖 3-8 表間關(guān)系圖1管理員表管理員表主要用來(lái)保存書城后臺(tái)系統(tǒng)管理員的信息,該
26、表的字段包括:管理員編號(hào)、管理員名稱、登錄密碼、管理員權(quán)限類別。詳細(xì)內(nèi)容見表 3-1:表3-1 管理員表列名數(shù)據(jù)類型默認(rèn)值說(shuō)明AdminIdInt標(biāo)識(shí)種子,自動(dòng)遞增(主鍵)AdminNamevarchar管理員賬號(hào)AdminPwdvarchar管理員密碼AdminFlagvarchar管理員權(quán)限2圖書信息表圖書信息表用來(lái)存儲(chǔ)一本圖書的詳細(xì)信息,該表的字段包括:圖書名稱、圖書作者、圖書價(jià)格、出版日期、出版社、圖書庫(kù)存、圖書封面等信息,詳細(xì)內(nèi)容見表3-2:表3-2 圖書信息表列名數(shù)據(jù)類型默認(rèn)值說(shuō)明shopIdInt標(biāo)識(shí)種子,自動(dòng)遞增(主鍵)shopNamevarchar圖書名稱picvarchar
27、圖書封面authvarchar圖書作者stockInt圖書庫(kù)存publishervarchar圖書出版社briefvarchar圖書簡(jiǎn)介PriceInt圖書價(jià)格countInt圖書售出數(shù)量typeIDInt類型ID(外鍵)3圖書類別表圖書類別表主要用來(lái)保存圖書的類別信息,該表的字段包括:圖書類別編號(hào)、圖書類別名稱、類別描述,詳細(xì)內(nèi)容見表3-3:表3-3 圖書類別表列名數(shù)據(jù)類型默認(rèn)值說(shuō)明typeIDInt標(biāo)識(shí)種子,自動(dòng)遞增(主鍵)typeNamevarchar圖書類別名稱typeDescrvarchar類別描述4用戶信息表用戶信息表主要用來(lái)保存用戶信息,該表的字段包括:用戶編號(hào)、用戶登錄名、登錄
28、密碼、注冊(cè)郵箱,詳細(xì)內(nèi)容見表3-4:表3-4 用戶信息表列名數(shù)據(jù)類型默認(rèn)值說(shuō)明idInt用戶編號(hào),自動(dòng)遞增(主鍵)namevarchar用戶登錄名pwdvarchar用戶密碼emailvarchar用戶郵箱5訂單信息表訂單信息表主要用來(lái)保存訂單信息,該表的字段包括:訂單總價(jià)、訂單時(shí)間、訂單編號(hào)、用戶名稱、訂單地址、支付狀態(tài),詳細(xì)內(nèi)容見表3-5:表3-5 訂單信息表列名數(shù)據(jù)類型默認(rèn)值說(shuō)明idvarchar訂單編號(hào),uuid生成策略(主鍵)moneyDouble訂單價(jià)格paystateInt支付狀態(tài)ordertimevarchar訂單時(shí)間receiverAddressvarchar訂單地址user
29、_idInt用戶ID6訂單詳情表訂單詳情表主要用來(lái)保存所有訂單詳情,該表的字段包括:訂單詳情編號(hào)、圖書編號(hào)、訂單編號(hào)、訂單中每本書的數(shù)量,詳細(xì)內(nèi)容見表3-6:表3-6 訂單詳情表列名數(shù)據(jù)類型默認(rèn)值說(shuō)明itemidvarchar訂單項(xiàng)編號(hào),uuid生成策略(主鍵)buynumInt商品數(shù)量order_idvarchar訂單IDshop_idInt商品ID7用戶地址表用戶地址表主要用來(lái)保存所有用戶的地址,該表的字段包括:地址編號(hào)、詳細(xì)地址、用戶ID,詳細(xì)內(nèi)容見表3-7:表3-7 用戶地址表列名數(shù)據(jù)類型默認(rèn)值說(shuō)明adrIdInt地址編號(hào),自動(dòng)增長(zhǎng)(主鍵)addrvarchar詳細(xì)地址idInt用戶I
30、D8商品推薦表商品推薦表主要用來(lái)保存推薦商品的信息,字段與圖書信息表一致。9. 輪播圖片表輪播圖片表主要用來(lái)保存首頁(yè)輪播圖片的信息。該表的字段包括:圖片編號(hào)、圖片名稱、圖片路徑、圖書ID,詳細(xì)類容見表3-8:表3-8 輪播圖片表列名數(shù)據(jù)類型默認(rèn)值說(shuō)明idInt輪播圖片編號(hào),自動(dòng)增長(zhǎng)(主鍵)namevarchar圖片名imgvarchar圖片路徑shopidInt圖書ID3.4 本章小結(jié)本章主要介紹了系統(tǒng)的分析與設(shè)計(jì)。從系統(tǒng)分析、功能模塊設(shè)計(jì)、以及數(shù)據(jù)庫(kù)設(shè)計(jì)三個(gè)方面闡述了實(shí)現(xiàn)該系統(tǒng)需要完成的工作。第四章 系統(tǒng)實(shí)現(xiàn)4.1 系統(tǒng)開發(fā)配置本系統(tǒng)采用的是SSH框架進(jìn)行開發(fā)的,所以第一步需要完成的就是整合
31、好Struts 2、Spring、hibernate。SSH框架以Spring為主體,其Ioc機(jī)制用來(lái)管理Struts2的action和hibernate的SessionFactory。整個(gè)框架的配置文件包括web.xml、struts.xml以及bean.xml。4.2 前臺(tái)功能模塊實(shí)現(xiàn)1. 首頁(yè)展示不管是游客還是已注冊(cè)用戶通過(guò)首頁(yè)鏈接都可以訪問(wèn)本頁(yè)面,本頁(yè)面有幾個(gè)板塊組成,分別是頭部導(dǎo)航區(qū),數(shù)據(jù)顯示區(qū)和頁(yè)腳部分。首頁(yè)展示頁(yè)面如下圖 4-1 所示:圖 4-1 首頁(yè)展示頁(yè)面2用戶注冊(cè)游客需要注冊(cè)成為書城的用戶才能在書城進(jìn)行購(gòu)書操作,用戶注冊(cè)首頁(yè)界面展示如圖 4-2所示:圖 4-2 用戶注冊(cè)頁(yè)面
32、用戶填寫相應(yīng)的信息,注冊(cè)信息必須匹配相應(yīng)規(guī)則,否則注冊(cè)失敗。注冊(cè)信息輸入正確之后點(diǎn)擊注冊(cè)按鈕,即可注冊(cè)成功,關(guān)鍵代碼如下所示:public String register() throws ExceptionUser user = new User();user.setName(name);user.setPwd(MD5Utils.md5(pwd);user.setEmail(email);userservice.sava(user);return register;/daopublic void sava(User user) / TODO Auto-generated method stu
33、bsessionFactory.getCurrentSession().save(user);3. 用戶登錄游客注冊(cè)成功后,來(lái)到登錄頁(yè)面,用戶登錄界面展示如圖 4-3 所示:圖 4-3 用戶登錄頁(yè)面用戶填寫相應(yīng)的信息,登錄信息提交到后臺(tái)查詢,后臺(tái)給前臺(tái)響應(yīng),若賬號(hào)密碼以及驗(yàn)證碼輸入正確,則登錄成功,否則登錄失敗。關(guān)鍵代碼如下所示:public void login() throws IOExceptionUser user = new User();user.setName(name);user.setPwd(MD5Utils.md5(pwd);List list = userservice.
34、login(user);Map session = ServletActionContext.getContext().getSession();if(list != null & list.size() !=0)User us = list.get(0);session.put(user, us)elseServletActionContext.getResponse().getWriter().print(true);/dao實(shí)現(xiàn)public List login(User user) / TODO Auto-generated method stubreturn sessionFacto
35、ry.getCurrentSession().createQuery(from User as u where =? and u.pwd=?).setParameter(0, user.getName().setParameter(1, user.getPwd().list();4商品列表頁(yè)用戶點(diǎn)擊商品分類導(dǎo)航瀏覽時(shí),頁(yè)面會(huì)按照商品所屬的typeid進(jìn)行分類顯示,商品列表頁(yè)展示如圖 4-4 所示:圖 4-4 商品列表頁(yè)面關(guān)鍵代碼如下所示:public String showlist()PageModel pm = new PageModel();pm.setPageNo(pageN
36、o);List list = shopservice.findbytype(typeID);List top = shopservice.findtop();MapString,Listrequest=(Map)ActionContext.getContext().get(request);request.put(list, list);request.put(tops, top);return showlist;5商品詳情頁(yè)用戶在書城首頁(yè)單擊圖書小圖片,即可查看圖書詳情及相應(yīng)評(píng)論信息。界面展示如圖 4-5 所示:圖 4-5 商品詳情頁(yè)關(guān)鍵代碼如下所示:public String show()
37、Mapreq=(Map)ActionContext.getContext().get(request);MapString, List request = (Map)ActionContext.getContext().get(request);shop shop = shopservice.findbyid(shopId);List top = shopservice.findtop();req.put(shop, shop);request.put(tops, top);return show;6購(gòu)物車用戶在書籍詳情頁(yè)面點(diǎn)擊加入購(gòu)物車會(huì)跳轉(zhuǎn)到購(gòu)物車頁(yè)面,購(gòu)物車界面如圖 4-6 所示:圖 4
38、-6 購(gòu)物車頁(yè)面關(guān)鍵代碼如下所示:public String show()shop shop = shopservice.findbyid(shopId);Mapsession=ActionContext.getContext().getSession();cart = (Map) session.get(cart);int num = 1;if(cart = null)cart = new HashMap();if(cart.containsKey(shop)num = Integer.parseInt(cart.get(shop);num+=1;cart.put(shop, num+);s
39、ession.put(cart,cart);return show;點(diǎn)擊繼續(xù)購(gòu)物按鈕,會(huì)跳轉(zhuǎn)到系統(tǒng)首頁(yè),用戶可以繼續(xù)購(gòu)買圖書;點(diǎn)擊刪除可以刪除一本圖書;點(diǎn)擊“+”“-”按鈕,可以修改圖書購(gòu)買的數(shù)量。點(diǎn)擊確認(rèn)并填寫訂單按鈕,將會(huì)跳轉(zhuǎn)到訂單信息填寫頁(yè)面,頁(yè)面展示如圖 4-7 所示:圖 4-7 訂單詳細(xì)填寫頁(yè)面7訂單頁(yè)面點(diǎn)擊提交訂單按鈕,來(lái)到訂單頁(yè)面,頁(yè)面展示如圖 4-8 所示:圖 4-8 訂單生成頁(yè)面關(guān)鍵代碼如下所示:public String addorder()/從session中取出購(gòu)物車Mapsession=ActionContext.getContext().getSession();U
40、ser user = (User) session.get(user);if(user = null)return login;Map cart = (Map) session.get(cart);/根據(jù)地址id查找地址address addre = addressservice.findbyadd(address);Date now = new Date();SimpleDateFormat dateformat = new SimpleDateFormat(yyyy-MM-dd);order order = new order();Set orderitems = new HashSet(
41、);/遍歷購(gòu)物車 加入到訂單項(xiàng) 再把訂單項(xiàng)加入訂單if(cart != null)for (shop s : cart.keySet() OrderItem oi = new OrderItem();oi.setP(s);oi.setBuynum(Integer.parseInt(cart.get(s);oi.setOrder(order);orderitems.add(oi);order.setUser(user);order.setOrderItems(orderitems);order.setReceiverAddress(addre.getAddr();order.setOrderti
42、me(dateformat.format(now);order.setMoney(money);/添加訂單orderservice.addorder(order);Maprequest=(Map)ActionContext.getContext().get(request);request.put(order, order);session.put(order, order);session.remove(cart);return addorder;8支付頁(yè)面點(diǎn)擊確認(rèn)支付按鈕,來(lái)到訂單支付頁(yè)面,頁(yè)面展示如圖 4-9 所示:圖 4-9 訂單支付頁(yè)面4.3 后臺(tái)功能模塊實(shí)現(xiàn)系統(tǒng)后臺(tái)頁(yè)面如圖 4-1
43、0 所示:圖 4-10 系統(tǒng)后臺(tái)頁(yè)面1權(quán)限管理頁(yè)面管理員單擊權(quán)限管理,會(huì)顯示管理員用戶列表。頁(yè)面如圖 4-11 所示:圖 4-11 權(quán)限管理單擊添加,即可打開到新增管理員對(duì)話框,頁(yè)面如圖 4-12 所示:圖 4-12 新增管理員頁(yè)面關(guān)鍵代碼如下所示:public String addApp()/封裝數(shù)據(jù)manager mg = new manager();mg.setAdminName(AdminName);mg.setAdminPwd(AdminPwd);mg.setAdminFlag(AdminFlag);managerservice.add(mg);/System.out.println
44、(AdminName.getBytes();try ServletActionContext.getResponse().getWriter().print(new JSONObject().fromObject(1); catch (IOException e) / TODO Auto-generated catch blocke.printStackTrace();return null;單擊編輯,即可打開到編輯管理員信息頁(yè)面,頁(yè)面如圖 4-13 所示:圖 4-13 管理員信息編輯頁(yè)面關(guān)鍵代碼如下所示:public String update()manager mg = new manag
45、er();mg.setAdminFlag(AdminFlag);mg.setAdminId(AdminId);mg.setAdminName(AdminName);mg.setAdminPwd(AdminPwd);managerservice.update(mg);/System.out.println(mg.toString();try ServletActionContext.getResponse().getWriter().print(new JSONObject().fromObject(1); catch (IOException e) / TODO Auto-generated
46、catch blocke.printStackTrace();return null;2圖書類別管理頁(yè)面管理員點(diǎn)擊分類管理,會(huì)跳轉(zhuǎn)到圖書分類管理頁(yè)面,如圖 4-14 所示:圖 4-14 圖書分類管理頁(yè)面單擊添加,即可打開到新增分類對(duì)話框,頁(yè)面如圖 4-15 所示:圖 4-15 添加分類頁(yè)面關(guān)鍵代碼如下所示:public void addType()shopType type = new shopType();/type.setTypeID(typeID);type.setTypeName(typeName);type.setTypeDescr(typeDescr);System.out.pri
47、ntln(type);typeservice.add(type);try ServletActionContext.getResponse().getWriter().print(new JSONObject().fromObject(1); catch (IOException e) / TODO Auto-generated catch blocke.printStackTrace();單擊編輯,即可打開編輯分類對(duì)話框,頁(yè)面如圖 4-16 所示:圖 4-16 編輯分類頁(yè)面關(guān)鍵代碼如下所示:public void update()shopType type = new shopType();
48、type.setTypeID(typeID);type.setTypeName(typeName);type.setTypeDescr(typeDescr);typeservice.update(type);try ServletActionContext.getResponse().getWriter().print(new JSONObject().fromObject(1); catch (IOException e) / TODO Auto-generated catch blocke.printStackTrace();單擊刪除,即可刪除選擇的當(dāng)前分類,頁(yè)面如圖 4-17 所示:圖
49、4-17 刪除分類頁(yè)面3圖書管理頁(yè)面管理員單擊圖書管理,會(huì)跳轉(zhuǎn)到圖書管理頁(yè)面,頁(yè)面如圖 4-18 所示:圖 4-18圖書頁(yè)面單擊添加,即可打開到添加圖書對(duì)話框,頁(yè)面如圖 4-19 所示圖 4-19 添加圖書頁(yè)面單擊編輯,即可打開到編輯圖書對(duì)話框,頁(yè)面如圖 4-20所示:圖 4-20 編輯圖書頁(yè)面關(guān)鍵代碼如下所示:public void update() throws ExceptionString uuid = UUID.randomUUID().toString();String pic = fileFileName.substring(fileFileName.lastIndexOf(.)
50、;String sname=shop/+uuid+pic;String fname=savepath+sname;FileUtils.copyFile(file, new File(fname);shopType type = typeservice.gettype(typeID);System.out.println(shopId);shop sh = new shop();sh.setShopId(shopId);sh.setBrief(brief);sh.setShopName(shopName);sh.setAuth(auth);sh.setPic(sname);sh.setStock
51、(stock);sh.setPublisher(publisher);sh.setType(type);sh.setPrice(Price);System.out.println(sh);shopservice.update(sh);try ServletActionContext.getResponse().getWriter().print(new JSONObject().fromObject(1); catch (IOException e) / TODO Auto-generated catch blocke.printStackTrace();單擊刪除,即可刪除選擇的圖書。4訂單管
52、理管理員點(diǎn)擊訂單管理,可查看付款訂單和未付款訂單??商D(zhuǎn)到相應(yīng)訂單管理頁(yè)面,頁(yè)面如圖 4-21 所示:圖 4-21 訂單頁(yè)面5商城用戶管理管理員點(diǎn)擊用戶管理,可跳轉(zhuǎn)到用戶管理頁(yè)面,頁(yè)面如圖 4-25 所示:圖 4-22 商城用戶管理頁(yè)面4.4 本章小結(jié)本章主要介紹了系統(tǒng)的開發(fā)與實(shí)現(xiàn)。從前臺(tái)功能模塊和后臺(tái)功能模塊兩個(gè)方面入手,對(duì)系統(tǒng)實(shí)現(xiàn)的功能進(jìn)行了詳細(xì)的說(shuō)明,并附加有關(guān)鍵代碼。第五章 系統(tǒng)安裝部署和簡(jiǎn)要使用說(shuō)明5.1 系統(tǒng)運(yùn)行環(huán)境說(shuō)明5.1.1 服務(wù)器軟硬件環(huán)境說(shuō)明服務(wù)器硬件配置:CPU : Intel 主頻 2.33GHz以上 4核心 內(nèi)存: DDR3 8G 雙通道 硬盤: SATA硬盤 RAID 500G 服務(wù)器軟件配置 :Jdk1.5版本以上+Tomcat+MySQL5.1.2 客戶機(jī)軟硬件環(huán)境說(shuō)
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030新加坡銀行業(yè)務(wù)投資行業(yè)市場(chǎng)現(xiàn)狀供需分析及投資評(píng)估策略分析研究報(bào)告
- 護(hù)理單元績(jī)效分配的質(zhì)量導(dǎo)向
- 小學(xué)四年級(jí)教研活動(dòng)策劃方案
- 協(xié)同奮進(jìn)達(dá)成目標(biāo)承諾書9篇范文
- 信息管理高效處理承諾書(3篇)
- 集中采購(gòu)審批流程及風(fēng)險(xiǎn)控制方案
- 經(jīng)濟(jì)活動(dòng)公平交易規(guī)則承諾書(9篇)
- 教學(xué)主題學(xué)情分析方案示范文本
- 新材料研發(fā)創(chuàng)新成果承諾書(6篇)
- 物流運(yùn)輸方案設(shè)計(jì)與優(yōu)化模板
- 小型手持式采茶機(jī)
- 人工智能與終身學(xué)習(xí)體系構(gòu)建研究報(bào)告
- 2025杭州市市級(jí)機(jī)關(guān)事業(yè)單位編外招聘考試備考試題及答案解析
- 化學(xué)反應(yīng)原理大題集訓(xùn)(含解析)-2026屆高中化學(xué)一輪復(fù)習(xí)講義
- 團(tuán)隊(duì)成員介紹課件
- 醫(yī)院敏感數(shù)據(jù)安全管理規(guī)范
- 政協(xié)機(jī)車輛管理辦法
- 渝22TS02 市政排水管道附屬設(shè)施標(biāo)準(zhǔn)圖集 DJBT50-159
- 母嬰護(hù)理員職業(yè)道德課件
- 電力工程應(yīng)急管理措施
- 2025年高考英語(yǔ)復(fù)習(xí)難題速遞之語(yǔ)法填空(2025年4月)
評(píng)論
0/150
提交評(píng)論