版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、基于java圖書銷售管理系統(tǒng)的設(shè)計與實現(xiàn)摘 要 隨著科技的迅速發(fā)展,計算機(jī)技術(shù)已應(yīng)用到社會的各個領(lǐng)域。隨著計算機(jī)技術(shù)和通信技術(shù)的迅速發(fā)展,網(wǎng)絡(luò)的規(guī)模也逐漸增大,網(wǎng)絡(luò)的元素也隨之不斷增加,有的利用其通信,有的利用其商業(yè)用途,在絡(luò)上進(jìn)行出售、收購、宣傳等操作,從而使得網(wǎng)絡(luò)越來越成為現(xiàn)今社會上必不可少的元素,而網(wǎng)站就是這個網(wǎng)絡(luò)里很龐大的元素。通過圖書書店購物系統(tǒng)這個平臺,可以使用戶足不出戶就可以了解豐富的圖書信息,極大的方便了用戶,系統(tǒng)的主要功能包括:圖書類別管理、圖書信息管理、訂單管理、會員管理、系統(tǒng)公告管理等。分為管理員用戶、會員用戶這二種用戶平臺。本系統(tǒng)前臺主要使用JSP作為開發(fā)語言,后臺使用
2、MySql作為數(shù)據(jù)庫管理系統(tǒng),開發(fā)環(huán)境是MyEclipse,服務(wù)器采用tomcat,開發(fā)出的一個基于Web技術(shù)的B/S結(jié)構(gòu)的網(wǎng)上書店系統(tǒng)。關(guān)鍵字:網(wǎng)上書店,JSP,B/S結(jié)構(gòu)ABSTRACTWith the rapid development of science and technology, the computer technology has been applied to each field of the society. Along with the computer technology and the rapid development of communication te
3、chnology, the scale of network is gradually increasing, network element also increases ceaselessly subsequently, some use their communication, using some of its commercial purposes, in the network for sale, purchase, publicity and other operations, so that the network has more and more become nowada
4、ys essential elements, while the website is very large in the network elements。Through the book shopping system this platform, user can remain within doors can understand the book rich information, a great convenience to users, the main functions of the system include: books category management, boo
5、k information management, order management, member management, bulletin management system. As administrator, members of the user to the two user platformThe front of the system using JSP as a development language, the use of MySql as a database management system, the development environment is MyEcl
6、ipse, server using tomcat, developed a Web technology based on B / S structure convenient information inquiry system。Keywords: Online bookstore,JSP,B / S structure目 錄第1章 緒論11.1課題背景11.2目的和意義11.3開發(fā)工具及技術(shù)21.3.1開發(fā)工具21.3.2 JSP31.3.3 Web41.4軟硬件需求4第2章 需求分析52.1可行性分析52.1.1技術(shù)的可行性52.2.2經(jīng)濟(jì)的可行性52.2.3操作可行性52.2.4法律
7、的可行性52.3系統(tǒng)用戶用例圖62.3.1用戶管理用例圖62.3.2購物車用例圖62.3.3訂單管理用例圖62.4功能模塊需求分析72.4.1注冊62.4.2登陸62.4.3購物車62.4.4訂單62.5設(shè)計的基本思想82.6性能需求92.6.1系統(tǒng)的安全性92.6.2數(shù)據(jù)的完整性92.7界面需求9第3章 系統(tǒng)分析與設(shè)計113.1數(shù)據(jù)庫的分析與設(shè)計113.1.1數(shù)據(jù)庫的概念結(jié)構(gòu)設(shè)計113.1.2數(shù)據(jù)庫的邏輯結(jié)構(gòu)設(shè)計143.1.3數(shù)據(jù)庫的連接原理163.2中文亂碼問題處理18第4章 系統(tǒng)功能實現(xiàn)214.1用戶注冊頁面214.2用戶登陸頁面234.3購物車頁面334.4訂單頁面33第5章 系統(tǒng)測試
8、355.1系統(tǒng)測試目的與意義355.2.1主頁面的登錄模塊測試355.3其他錯誤36結(jié) 論37參考文獻(xiàn)38致 謝40第1章 緒論1.1課題背景互聯(lián)網(wǎng)給我們帶來的不僅僅是大量的信息,更是商業(yè)模式和消費(fèi)觀念的改變,電子商務(wù)業(yè)已經(jīng)成為一種時尚。由于圖書信息易于判斷和選擇等優(yōu)勢,使其成為了最適合于網(wǎng)上交易之一,于是網(wǎng)上書店便成了電子商務(wù)的先鋒產(chǎn)業(yè)。相比于此,我國在這一方面起步較晚。1996年,外貿(mào)部成立中國國際電子商務(wù)中心。1997年,網(wǎng)上書店開始出現(xiàn),網(wǎng)上購物及中國商品訂購訂貨系統(tǒng)出現(xiàn)端倪。1998年7月,中國商品交易與市場網(wǎng)站正式運(yùn)行,北京、上海啟動了電子商務(wù)工程。1999年底,正是互聯(lián)網(wǎng)高潮來臨
9、的時候,國內(nèi)誕生了300多家公司從事B2C的網(wǎng)絡(luò)哦公司。2000年,這些網(wǎng)絡(luò)公司增加到了700家。但隨著納指的下挫,到2001年人們還有印象的只剩下三四家。隨后網(wǎng)絡(luò)購物歷經(jīng)了一個漫長的“寒冬時期”。SARS 開辟了中國網(wǎng)上購物的新紀(jì)元。面對非典的襲擊,多數(shù)人被困在屋內(nèi),而要 想不出門就買到自己所需的東西只能依賴網(wǎng)絡(luò),許多防范意識很強(qiáng)的人也試著網(wǎng)上購 物。至此,有越來越多的人認(rèn)識到“網(wǎng)上訂貨、送貨上門”的方便,也有越來越多的人也 開始接受網(wǎng)上購物。2003年非典過后,越來越多的人開始參與網(wǎng)絡(luò)購物。以當(dāng)當(dāng)和卓越 為代表的中國 B2C 的早期拓荒者,從圖書這個低價格、標(biāo)準(zhǔn)化的商品作為網(wǎng)絡(luò)購物的目前由
10、于電子郵件廣泛而頻繁的使用,國內(nèi)外各大網(wǎng)站都提供了電子郵件服務(wù),而且有些是免費(fèi)服務(wù)。人們?nèi)粘J褂玫碾娮余]件有很多,但是就方式來說只有兩種。第一種是在網(wǎng)站上使用電子郵件,也就是一般所說的Web使用方式,通常人們使用時必須首先登錄到WebMail服務(wù)器(網(wǎng)頁郵件服務(wù)器),通過身份驗證后才可以查閱收發(fā)郵件。但是用戶不能總是處于登錄狀態(tài),也不能每時每刻發(fā)送接收郵件。如果長時間沒有對WebMail服務(wù)器進(jìn)行操作,則被認(rèn)為登錄超時,自動退出系統(tǒng)。用戶需要再次登錄郵件服務(wù)器,才可以進(jìn)行操作。由于頻繁的登錄填寫帳戶和密碼,造成了用戶對電子郵件的使用產(chǎn)生不便。這時出現(xiàn)一種不需要訪問Web頁面,只需要您在本地機(jī)器
11、上使用電子郵件的相關(guān)軟件,就可以直接收發(fā)、管理電子郵件。它既能支持全部的 Internet 電子郵件功能,又能改正WebMail服務(wù)器使用的種種缺點,方便用戶發(fā)送接收郵件。目前以微軟的OutLook Express和國產(chǎn)FoxMail為兩款經(jīng)典代表。兩者都是著名的客戶端Email軟件,功能不差上下。1.2目的和意義目的:設(shè)計一款基于java的快捷方便的圖書銷售管理系統(tǒng),完成圖書信息管理,管理員信息管理,用戶信息管理,訂單信息管理,購物車信息管理等功能。意義:當(dāng)今時代,Internet和計算機(jī)正在以一種不可抵擋的氣勢蓬勃發(fā)展,網(wǎng)絡(luò)化和全球化已經(jīng)成為一種潮流。個人的生存,企業(yè)的發(fā)展,必須要采取新的
12、競爭手段和生存方式去適應(yīng)它。因為Internet的發(fā)展,使得傳統(tǒng)商業(yè)的不足暴漏無遺,所以我們必須結(jié)合原有的商業(yè)模式和Internet相契合以取得最大的效益。電子信息用到已覆蓋全世界,運(yùn)用Internet網(wǎng)開展電子商務(wù)的實際已經(jīng)成熟。電子商務(wù)正在對人類進(jìn)行著全方位的改造,也改變著人與人之間的交往方式,為我們呈現(xiàn)出了一個全新的不一樣的世界。電子商務(wù)時代的到來,使傳統(tǒng)的經(jīng)營方式和經(jīng)營理念發(fā)生了翻天覆地的變化。當(dāng)今的世界經(jīng)濟(jì)正在向知識經(jīng)濟(jì)轉(zhuǎn)變,人們希望從書中得到知識,就會需要一個快捷高效的平臺來購買書籍,盡管現(xiàn)在電子書很是普及,但是仍有一大部分人習(xí)慣于紙質(zhì)版的書籍,所以建立一個這樣的售書網(wǎng)站,就能滿足
13、人們的需求。就圖書銷售管理系統(tǒng)而言,對于一些愛好讀書,白天又在工作的人而言,網(wǎng)上圖書近在咫尺,并且不會關(guān)門,讀者可以在網(wǎng)上查閱,訂購圖書,節(jié)省了大量的時間,也無需在書店一本本翻閱查找,直接輸入書名即可。因此網(wǎng)上書店必將有長足發(fā)展。隨著我國產(chǎn)業(yè)政策,物流政策等各種影響網(wǎng)上書店發(fā)展的外部因素的影響的調(diào)整,可以確定網(wǎng)上書店具有巨大的發(fā)展空間,其方便快捷,價格低廉,資源豐富,不受時間地域限制的優(yōu)越性將得到越來越充分的發(fā)揮。1.3開發(fā)工具及技術(shù)1.3.1開發(fā)工具這次的設(shè)計主要用到了MyEclipse和Tomcat后臺服務(wù)器進(jìn)行,同時用得到了Oracle數(shù)據(jù)庫,頁面的設(shè)計主要用到了JSP技術(shù),接下來對My
14、eclipse、Tomcat和Oracle數(shù)據(jù)庫進(jìn)行簡單的介紹。1.MyEclipseMyEclipse,是一個非常優(yōu)秀的用于開發(fā)Java, J2EE的Eclipse插件集合,MyEclipse的功能非常強(qiáng)大,并且它支持的也十分廣泛,尤其是對各種開元產(chǎn)品的支持,也是十分不錯。MyEclipse企業(yè)級工作平臺(MyEclipse Enterprise Workbench ,簡稱MyEclipse)是對Eclipse IDE的擴(kuò)展,利用它我們在數(shù)據(jù)庫和JavaEE的開發(fā)、發(fā)布,以及應(yīng)用程序服務(wù)器的整合方面極大的提高了工作效率。它是功能十分豐富的JavaEE集成開發(fā)環(huán)境,包括了完備的編碼、調(diào)試、測試
15、和發(fā)布功能,完整支持HTML, Struts, JSP, CSS, Javascript, SQL, Hibernate等等。2.Tomcat Tomcat 服務(wù)器是一個免費(fèi)的開放源代碼的Web 應(yīng)用服務(wù)器,在中小型系統(tǒng)和并發(fā)訪問用戶不是很多的場合下被普遍使用,是開發(fā)和調(diào)試JSP 程序的首選??梢赃@樣認(rèn)為,當(dāng)在一臺機(jī)器上配置好Apahce服務(wù)器,可利用它響應(yīng)對HTML頁面的訪問請求。實際上Tomcat 部分是Apache 服務(wù)器的擴(kuò)展,但它是獨(dú)立運(yùn)行的,所以當(dāng)運(yùn)行tomcat 時,它實際上作為一個與Apache 獨(dú)立的進(jìn)程單獨(dú)運(yùn)行的。它有一個訣竅,就是當(dāng)配置正確的時候,Apache為HTML頁
16、面服務(wù),而Tomcat實際上運(yùn)行JSP頁面和Servlet。目前Tomcat的最新版本為9.0。3.Oracle Oracle數(shù)據(jù)庫是美國ORACLE公司(甲骨文)提供的以分布式數(shù)據(jù)庫為核心的一組軟件產(chǎn)品,是目前最流行的B/S體系結(jié)構(gòu)的數(shù)據(jù)庫之一。它是目前世界上使用最廣泛的數(shù)據(jù)庫管理系統(tǒng),而作為一個通用的數(shù)據(jù)管理系統(tǒng),它具備完整的數(shù)據(jù)庫管理功能;作為一個關(guān)系數(shù)據(jù)庫,它是一個完備的產(chǎn)品;作為扥不是數(shù)據(jù)庫它實現(xiàn)了分別不是的功能。Oracle數(shù)據(jù)庫采用的是并行服務(wù)器模式,可以將一個查詢分成多個子查詢??傊^于Sybase SQL Server有更多更大的有點,所以這里我采用的是Oracle數(shù)據(jù)庫。
17、 1.3.2 JSPJSP技術(shù)是使用Java編程語言編寫類XML的tags和scriptlets,來封裝產(chǎn)生動態(tài)網(wǎng)頁的處理邏輯。網(wǎng)頁還能通過tags和scriptlets訪問存在于服務(wù)端的資源的應(yīng)用邏輯。JSP將網(wǎng)頁邏輯與網(wǎng)頁設(shè)計和顯示分離,支持可重用的基于組件的設(shè)計,使基于Web的應(yīng)用程序的開發(fā)變得迅速和容易。 Web服務(wù)器在遇到訪問JSP網(wǎng)頁的請求時,首先執(zhí)行其中的程序段,然后將執(zhí)行結(jié)果連同JSP文件中的HTML代碼一起返回給客戶。插入的Java程序段可以操作數(shù)據(jù)庫、重新定向網(wǎng)頁等,以實現(xiàn)建立動態(tài)網(wǎng)頁所需要的功能。JSP與Servlet一樣,是在服務(wù)器端執(zhí)行的,通常返回給客戶端就是一個HT
18、ML文本,因此客戶端只要有瀏覽器能瀏覽。JSP頁面由HTML代碼和嵌入其中的Java代碼所組成。服務(wù)器在頁面被客戶端請求以后對這些Java代碼進(jìn)行處理,然后將生成的HTML頁面返回給客戶端的瀏覽器。Servlet是JSP的技術(shù)基礎(chǔ),而且大型的Web應(yīng)用程序的開發(fā)需要Java Servlet和JSP配合才能完成。JSP具備了Java技術(shù)的簡單易用,完全的面向?qū)ο?,具有平臺無關(guān)性且安全可靠,主要面向因特網(wǎng)的所有特點。JSP技術(shù)的優(yōu)點:(1)一次編寫,到處運(yùn)行。除了系統(tǒng)之外,代碼不用做任何更改。 (2)系統(tǒng)的多平臺支持。基本上可以在所有平臺上的任意環(huán)境中開發(fā),在任意環(huán)境中進(jìn)行系統(tǒng)部署,在任意環(huán)境中擴(kuò)
19、展。相比ASP/.net的局限性是顯而易見的。 (3)強(qiáng)大的可伸縮性。從只有一個小的Jar文件就可以運(yùn)行Servlet/JSP,到由多臺服務(wù)器進(jìn)行集群和負(fù)載均衡,到多臺Application進(jìn)行事務(wù)處理,消息處理,一臺服務(wù)器到無數(shù)臺服務(wù)器,Java顯示了一個巨大的生命力。 (4)多樣化和功能強(qiáng)大的開發(fā)工具支持。Java已經(jīng)有了許多非常優(yōu)秀的開發(fā)工具,而且許多可以免費(fèi)得到,并且其中許多已經(jīng)可以順利的運(yùn)行于多種平臺之下(5)支持服務(wù)器端組件。web應(yīng)用需要強(qiáng)大的服務(wù)器端組件來支持,開發(fā)人員需要利用其他工具設(shè)計實現(xiàn)復(fù)雜功能的組件供web頁面調(diào)用,以增強(qiáng)系統(tǒng)性能。JSP可以使用成熟的JAVA BEAN
20、S 組件來實現(xiàn)復(fù)雜商務(wù)功能。內(nèi)部對象說明:request 客戶端請求,此請求會包含來自GET/POST請求的參數(shù); response網(wǎng)頁傳回客戶端的響應(yīng);pageContext 網(wǎng)頁的屬性是在這里管理; session 與請求有關(guān)的會話; application servlet正在執(zhí)行的內(nèi)容;out 用來傳送響應(yīng)的輸出流; config代碼片段配置對象;pageJSP網(wǎng)頁本身; exception針對錯誤網(wǎng)頁,未捕捉的例外1.3.3 Webweb(World Wide Web)即全球廣域網(wǎng),也稱為萬維網(wǎng),它是一種基于超文本和HTTP的、全球性的、動態(tài)交互的、跨平臺的分布式圖形信息系統(tǒng)。是建立在
21、Internet上的一種網(wǎng)絡(luò)服務(wù),為瀏覽者在Internet上查找和瀏覽信息提供了圖形化的、易于訪問的直觀界面,其中的文檔及超級鏈接將Internet上的信息節(jié)點組織成一個互為關(guān)聯(lián)的網(wǎng)狀結(jié)構(gòu)。1.4 軟硬件需求硬件需求:CPU:Pentium以上計算機(jī)內(nèi)存: 512M以上軟件需求:操作系統(tǒng)版本:Windows10開發(fā)工具:MyEclipse 6.0.1后臺服務(wù)器:Apache Tomcat 6.0開發(fā)語言:Java瀏覽器:Google第2章 需求分析2.1可行性分析開發(fā)任意一個系統(tǒng),都會受到時間上和資源上的限制。因此,在每一個項目開發(fā)之前,都要進(jìn)行可行性分析,可以減少項目的開發(fā)風(fēng)險,避免對人力
22、、物力和財力等的浪費(fèi)。下面我簡單的對技術(shù)、經(jīng)濟(jì)、操作和法律四個方面來介紹。2.1.1技術(shù)的可行性本系統(tǒng)開發(fā)工具是MyEclipse和Oracle數(shù)據(jù)庫,開發(fā)語言是Java,主要使用了J2EE的技術(shù),java是一種面向?qū)ο缶幊陶Z言,簡單易學(xué)而且靈活方便。大三的時候接觸了java課程,大四期間也系統(tǒng)的學(xué)習(xí)了一下J2EE的知識,本系統(tǒng)總體上開發(fā)難度并不是很高,數(shù)據(jù)庫的設(shè)計和操作是本系統(tǒng)設(shè)計的核心。在大四期間我學(xué)習(xí)了三大框架,以及一些前段語言,例如JSP,XML,HTML等課程,在大學(xué)期間的每個學(xué)期也會完成對應(yīng)的課程設(shè)計,所以我具備一定的系統(tǒng)分析、設(shè)計和調(diào)試能力。因此,我覺的完成系統(tǒng)實現(xiàn)在技術(shù)上完全具
23、備可行性。2.2.2經(jīng)濟(jì)的可行性本系統(tǒng)所用的軟件都是開源的,為開發(fā)軟件節(jié)省了大量的金錢和時間,并且達(dá)到降低成本,提高了開發(fā)效率,本系統(tǒng)對計算機(jī)配置的要求并不高,甚至連網(wǎng)吧更換下來的低配置電腦都可以完全滿足此系統(tǒng)的需要,所以在經(jīng)濟(jì)上具有完全的可行性。2.2.3操作可行性本系統(tǒng)操作簡單,輸入信息頁面一目了然,在某些頁面,信息可以自動生成,無需輸入,操作簡便,對操作人員的要求非常低,只要對WINDOWS操作熟練,加之對本系統(tǒng)的操作稍加培訓(xùn)即可,而且本系統(tǒng)可視性非常好,所以在技術(shù)上不會有很大難度。2.2.3操作可行性這個網(wǎng)上書店系統(tǒng)是自行開發(fā)的管理系統(tǒng),是很有實際意義的系統(tǒng),開發(fā)環(huán)境軟件和使用的數(shù)據(jù)庫
24、都是開源的,開發(fā)這個系統(tǒng)與開發(fā)普通的系統(tǒng)軟件是不同的,所以它不存在侵權(quán)等問題,即法律上是可行的。2.3系統(tǒng)用戶用例圖2.3.1用戶管理用例圖普通用戶也就是顧客,進(jìn)入網(wǎng)上商城后首先要先進(jìn)行用戶注冊和用戶登陸,用戶管理用例圖如圖2.1所示:圖2.1用戶管理用例圖2.3.2購物車用例圖 當(dāng)用戶想買哪本書的時候,點擊加入購物車,并且可以對購物車進(jìn)行一系列的操作,購物車用例圖如圖2.2所示:圖2.2 管理員用例圖2.3.3訂單管理用例圖當(dāng)用戶將購物車中的圖書購買以后,會相應(yīng)的出現(xiàn)一個訂單,用戶可以查看訂單那,如果覺得不想要了也可以取消刪除訂單。訂單管理用例圖如圖2.3所示:圖2.3 訂單管理用例圖2.4
25、功能模塊需求分析2.4.1注冊在register.jsp頁面注冊一個新用戶,用戶名作為以后登陸唯一標(biāo)識。當(dāng)注冊成功的話,跳轉(zhuǎn)到login.jsp頁面。詳細(xì)描述: 1.需要判斷注冊的用戶是否已經(jīng)在數(shù)據(jù)庫中存在。2.最后將注冊的信息保存到Customer表。具體步驟:1. 實現(xiàn)ICustomerDao接口中的saveOrUpdateCustomer()方法2. 實現(xiàn)ICustomerService接口中的業(yè)務(wù)邏輯register()方法 3創(chuàng)建RegisterServlet.java,在該Servlet中調(diào)用ICustomerService接口中的register()方法進(jìn)行注冊。2.4.2登陸在
26、login.jsp頁面上用戶可以輸入用戶名和密碼進(jìn)行登陸,如果用戶名和密碼都正確,則登陸成功跳轉(zhuǎn)到listBookStore.jsp。如果不正確,需要提示用戶并且還是跳轉(zhuǎn)到login.jsp頁面繼續(xù)登陸。具體登陸過程:1.查看登陸的用戶名是否存在。2.查看密碼是否正確。具體步驟:1實現(xiàn)ICustomerDao接口中的findCustomerByName()方法。2實現(xiàn)ICustomerService接口中的業(yè)務(wù)邏輯login()方法。3創(chuàng)建LoginServlet.java,在該Servlet中調(diào)用ICustomerService接口中的login()方法進(jìn)行登陸。4. 從applicatio
27、n中取出所有的Book在listBookStore.jsp中顯示。2.4.3購物車1.增加Orderline在listBookStore.jsp中填入圖書數(shù)量并點擊購買按鈕后往購物車(ShoppingCart.java)中增加一個Orderline。具體步驟:(1)創(chuàng)建AddOrderlineServlet.java。(2)在該Servlet中根據(jù)從listBookStore.jsp頁面?zhèn)魅氲腷ookid和num來構(gòu)造一個Orderline對象,然后從Session中獲得購物車(ShoppingCart)的對象,并且調(diào)用其中的addLine(Orderline orderline)方法往購物車
28、中增加一個Orderline對象。(3)增加Orderline成功后跳轉(zhuǎn)到listBookStore.jsp頁面。2.查看購物車 在listBookStore.jsp頁面上點擊查看購物車的按鈕可以查看購物車中所有Orderline的信息。具體步驟:(1) 點擊查看購物車按鈕后鏈接到listCart.jsp。(2) 在listCart.jsp頁面中,從Session中取出ShoppingCart對象并且在該頁面上輸出所有其中的Orderline信息。3.刪除Orderline在listCart.jsp頁面中點擊清除按鈕就可以從購物車中刪除一個指定的Orderline。具體步驟:(1) 創(chuàng)建Del
29、OrderlineServlet.java。(2) 在Servlet中獲得listCart.jsp頁面中傳遞過來的lineid(bookid)。(3) 從Session中獲得ShoppingCart對象,并且調(diào)用它的dropLine(Long lineid)方法來刪除一個指定的Orderline對象。(4) 刪除成功后跳轉(zhuǎn)到listCart.jsp頁面。4.修改Orderline 在listCart.jsp頁面上修改圖書數(shù)量并點擊修改按鈕后可以修改指定一個Orderline的信息。具體步驟:(1) 創(chuàng)建EditOrderlineServlet.java。(2) 在該Servlet中先從Sess
30、ion中獲得ShoppingCart對象,然后獲得從listCart.jsp傳遞過來的lineid(bookid)和num,最后根據(jù)lineid來獲得指定的Orderline對象,并且修改數(shù)量為num。(3) 修改成功后跳轉(zhuǎn)到listCart.jsp頁面。5.清空購物車在listCart.jsp頁面中點擊清空購物車后可以刪除購物車中所有的Orderline。具體步驟:(1) 創(chuàng)建ClearCartServlet.java。(2) 在該Servlet中獲得ShoppingCart對象,然后調(diào)用其中的removeAll()方法來清空購物車。(3) 清空購物車成功后跳轉(zhuǎn)到listBookStore.
31、jsp頁面。2.4.4訂單1.查看用戶所有訂單在listBookStore.jsp頁面上點擊查看用戶訂單按鈕后可以查看當(dāng)前登陸用戶所有的訂單信息。具體步驟:(1) 實現(xiàn)IOrderDao接口中的findAllOrder()方法。(2) 實現(xiàn)IOrderService接口中的業(yè)務(wù)方法listAllOrder()。(3) 創(chuàng)建ListOrderServlet.java,在該Servlet中調(diào)用IOrderService接口中的listAllOrder()方法來查找用戶的所有訂單信息。(4) 查找訂單成功后跳轉(zhuǎn)到listOrder.jsp頁面,并將訂單信息在該頁面上顯示。查找不成功跳轉(zhuǎn)到listCa
32、rt.jsp頁面。2.提交訂單在listBookStore.jsp或者listCart.jsp頁面上點擊提交訂單的按鈕后鏈接到Order.jsp頁面,然后在該頁面上點擊確認(rèn)訂單按鈕后才正式提交訂單,將訂單信息分別保存到orderform和orderline表中。具體步驟:(1) 先鏈接到Order.jsp頁面,在該頁面上從Session中分別取出Customer和ShoppingCart對象并將它們的信息顯示在頁面,在該頁面還可以修改用戶信息。(2) 實現(xiàn)IOrderDao接口中的saveOrder()方法。(3) 實現(xiàn)IOrderService接口中的業(yè)務(wù)方法saveOrder()。(4)
33、實現(xiàn)ICustomerService接口中的業(yè)務(wù)方法update()。(5) 創(chuàng)建ConfirmServlet.java。(6) 在該Servlet中從Session中獲得Customer對象并更新屬性信息,從Session中獲得ShoppingCart對象并將它包裝成一個Orderform(訂單)對象(注意要建立起Orderform對象和所有Orderline對象之間的雙向關(guān)聯(lián)關(guān)系),最后調(diào)用ICustomerService接口中的update()方法和IOrderService接口中的saveOrder()方法分別進(jìn)行用戶信息的更新和訂單保存。(7) 提交訂單成功后跳轉(zhuǎn)到confirm.j
34、sp,失敗跳轉(zhuǎn)到order.jsp,在confirm.jsp頁面上點擊繼續(xù)購買按鈕可以跳轉(zhuǎn)到listBookStore.jsp。3.查看訂單明細(xì)在listOrder.jsp頁面上點擊明細(xì)按鈕可以查看一個訂單的明細(xì)信息。具體步驟:(1) 實現(xiàn)IOrderDao接口中的findOrderById()方法。(2) 實現(xiàn)IOrderService接口中的業(yè)務(wù)方法findOrderById()方法。(3) 創(chuàng)建OrderinfoServlet.java。(4) 在該Servlet中獲得從listOrder.jsp傳遞過來的orderid,然后根據(jù)該orderid,調(diào)用IOrderService接口中的f
35、indOrderById()方法查詢指定的訂單,并從該訂單中獲得所有的Orderline對象的集合放置在request范圍中。(5) 查詢成功后跳轉(zhuǎn)到orderinfo.jsp,從request中取出放置所有Orderline對象的集合,并將信息顯示在該頁面上。4.刪除訂單在listOrder.jsp頁面上點擊刪除按鈕可以刪除指定的一個用戶訂單。具體步驟:(1) 實現(xiàn)IOrderDao接口中的deleteOrder()方法 。(2) 實現(xiàn)IOrderService接口中的業(yè)務(wù)方法delOrder()。(3) 創(chuàng)建DelOrderServlet.java。(4) 在該Servlet中獲得從lis
36、tOrder.jsp傳遞過來的orderid,然后根據(jù)該orderid,調(diào)用IOrderService接口中的delOrder()方法刪除指定的訂單。(5) 訂單刪除成功后跳轉(zhuǎn)到listOrder.jsp。2.5設(shè)計的基本思想設(shè)計思想遵循以下幾點:1.采用的是B/S模式進(jìn)行開發(fā)的,它的優(yōu)點就是后臺與前臺處理層次比較分明,并且符合大多數(shù)已經(jīng)習(xí)慣用網(wǎng)頁搜索方式的用戶。2.采用Java面向?qū)ο蟮拈_發(fā)與設(shè)計理念。運(yùn)用面向?qū)ο蠹夹g(shù)需要有一個前提,就是對系統(tǒng)整體的高度和準(zhǔn)確的一個抽象,通過它可以保證一個良好的框架,從而給產(chǎn)品帶來較強(qiáng)的穩(wěn)定性和運(yùn)行效率。3.采用了模塊化設(shè)計。模塊化設(shè)計要求將整個系統(tǒng)分成一個
37、個小的模塊,這樣的話便于代碼的重載,從而簡化了設(shè)計和實現(xiàn)過程。4.簡單便捷的系統(tǒng)界面。系統(tǒng)界面的設(shè)計簡單,方便用戶更好更快的適應(yīng)系統(tǒng)的操作。5.速度快占用資源少。這個工具速度是一個最重要的評測標(biāo)準(zhǔn),所以在設(shè)計過程中,具體的過程盡量少占用資源,爭取做到少資源速度快的原則。6.整體設(shè)計既要突出它的重點所在,又要做到細(xì)致周到。要符合設(shè)計需求,盡量在有可能改進(jìn)的地方進(jìn)行擴(kuò)充,使系統(tǒng)做到更加適應(yīng)用戶的需求。2.6性能需求2.6.1系統(tǒng)的安全性本網(wǎng)上圖書銷售系統(tǒng)在管理權(quán)限上一定要進(jìn)行嚴(yán)格的控制,具體要求如下:1.要想查詢更多的圖書信息,必須憑用戶名和密碼登陸到圖書銷售管理系統(tǒng)中,沒有登陸的用戶只能瀏覽和查
38、找書籍,并不能加入購物車和提交訂單,以確保系統(tǒng)的嚴(yán)密性和安全性。 2.整個實現(xiàn)中設(shè)有不同的權(quán)限,用戶在登陸到系統(tǒng)后,是不能越級操作的,比如管理員的一些功能用戶是不能操作的。2.6.2數(shù)據(jù)的完整性1.各種各樣的信息都插入到數(shù)據(jù)庫中,并且有書名的信息不為空。2.各種數(shù)據(jù)間相互聯(lián)系的正確性。3.相同數(shù)據(jù)在不同記錄中的一致性。第3章 系統(tǒng)的分析與設(shè)計3.1數(shù)據(jù)庫的分析與設(shè)計 一個系統(tǒng)的核心和基礎(chǔ)是數(shù)據(jù)庫,所以數(shù)據(jù)庫設(shè)計的好壞,就會直接影響在著整個系統(tǒng)的性能。不管你設(shè)計什么系統(tǒng),要實現(xiàn)什么功能,數(shù)據(jù)都是基礎(chǔ),就像蓋房一樣,數(shù)據(jù)就是地基,如果數(shù)據(jù)做的不完善,也不夠合理,就會在系統(tǒng)開發(fā)的過程中出現(xiàn)很多問題,
39、嚴(yán)重的話會導(dǎo)致你中心設(shè)計系統(tǒng),所及數(shù)據(jù)庫一定要合理完善。3.1.1數(shù)據(jù)庫的概念結(jié)構(gòu)設(shè)計概念設(shè)計就是從用戶的角度進(jìn)行視圖的設(shè)計,然后集成視圖,最后進(jìn)行優(yōu)化和分析,得出最后的結(jié)論與結(jié)果。數(shù)據(jù)庫的還年結(jié)構(gòu)我采用E-R圖的設(shè)計方法,它的組成元素有:實體、屬性、聯(lián)系。概念設(shè)計的目的是產(chǎn)生這次設(shè)計所需要的數(shù)據(jù)庫的結(jié)構(gòu),也就是概念模式。它是獨(dú)立的,不依賴計算機(jī)的。根據(jù)分析,建立E-R模型圖。(1)普通用戶實體E-R圖如圖3.1所示:圖3.1普通用戶實體E-R圖(2)圖書信息實體E-R圖如圖3.2所示圖3.2圖書信息實體E-R圖(3)訂單信息實體E-R圖如圖3.3所示圖3.3訂單信息實體E-R圖(4)訂單名字
40、實體E-R圖如圖3.4所示圖3.4訂單名字實體E-R圖3.1.2數(shù)據(jù)庫的邏輯結(jié)構(gòu)設(shè)計1.CustomerCustomer是用來存放用戶信息的,如下表3.1所示:表3.1用戶表(Customer)字段名字段類型約束或索引描述IDNumber(Sequence)PK記錄流水號NameVarchar2(20)用戶名PasswordVarchar2(20)用戶密碼ZipVarchar2(20)郵編AddressVarchar2(20)地址TelephoneVarchar2(20)電話EmailVarchar2 (30)電子郵件2.Book Book是用來存放圖書信息的,如下表3.2所示: 表3.2圖書
41、信息表(Book)字段名字段類型約束或索引描述IDNumber(Sequence)PK記錄流水號NameVarchar2(100)書名PriceNumber(8,2)價格3.Orderform Orderform是用來存放訂單信息的,如下表3.3所示: 表3.3訂單信息表字段名字段類型約束或索引描述IDNumber(Sequence)PK記錄流水號CostNumber(8,2)訂單總額OrderdateDate下單時間CustomeridNumberFK顧客的記錄流水號4.OrderlineOrderline是用來存放訂單明細(xì)信息的,如表3.4所示:表3.4訂單明細(xì)信息表字段名字段類型約束或索
42、引描述IDNumber(Sequence)PK記錄流水號NumNumber數(shù)量OrderidNumberFK訂單的流水記錄號BookidNumberFK圖書的流水記錄號3.1.3數(shù)據(jù)庫的鏈接原理 我采用的是JDBC連接數(shù)據(jù)庫的方式,在進(jìn)行JDBC連接之前,首先把所需要的jar包導(dǎo)入到對應(yīng)的工程下面,然后就可以方便對數(shù)據(jù)庫的連接了。3.2中文亂碼問題處理第4章 系統(tǒng)功能實現(xiàn)4.1用戶注冊頁面1.描述:用戶進(jìn)行瀏覽和購買圖書時,首先要登陸到系統(tǒng)中,如果你是新用戶,那么你肯定要先進(jìn)行注冊。2.程序運(yùn)行效果圖如圖4.1所示:圖4.1 注冊頁面3.在登陸模塊輸入用戶名和密碼注冊成功以后,點擊就可以跳轉(zhuǎn)l
43、ogin.jsp頁面。在用戶注冊時,注冊的信息會傳入數(shù)據(jù)庫中,與數(shù)據(jù)庫原有的信息進(jìn)行對比,看輸入的用戶名是否已經(jīng)在數(shù)據(jù)庫中存在,如果存在,就顯示改用戶名已存在,請重寫輸入,直到輸入的用戶名在數(shù)據(jù)庫中并不存在,那么就將此用戶保存到Customer表中。具體實現(xiàn)代碼如下:(1) 實現(xiàn)ICustomerDao接口中的saveCustomer或者UpdateCustomer()方法package com.briup.dao;import com.briup.bean.Customer;public interface ICustomerDao /保存用戶void saveCustomer(Custom
44、er customer) throws Exception;/更新用戶void updateCustomer(Customer customer);/查找用戶Customer findCustomerByName(String name) throws Exception;(2) 實現(xiàn)ICustomerService接口中的業(yè)務(wù)邏輯register()方法package com.briup.service;import com.briup.bean.Customer;import mon.exception.CustomerServiceException;public interface I
45、CustomerService /用戶注冊void register(Customer customer) throws CustomerServiceException; /用戶登陸Customer login(String name,String password) throws CustomerServiceException;/用戶更新void update(Customer customer) throws CustomerServiceException; (3) 創(chuàng)建RegisterServlet.java,在該Servlet中調(diào)用ICustomerService接口中的regi
46、ster()方法進(jìn)行注冊。package com.briup.web.servlet;import java.io.IOException;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.apache.ibatis.session.SqlSession;import com.briup.be
47、an.Customer;import mon.BeanFactory;import mon.MybatisSessionFactory;import mon.exception.CustomerServiceException;import com.briup.service.ICustomerService;public class RegisterServlet extends HttpServlet private ICustomerService service = (ICustomerService) BeanFactory.getBean(BeanFactory.CUSTOMERS
48、ERVICE);protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException String name = request.getParameter(userid);String password = request.getParameter(password);String province = request.getParameter(province);String city = request.getParameter(
49、city);String street1 = request.getParameter(street1);String zip = request.getParameter(zip);String telephone = request.getParameter(cellphone);String email = request.getParameter(email);Customer cus = new Customer();cus.setName(name);cus.setAddress(province+;+city+;+street1);cus.setEmail(email);cus.
50、setPassword(password);cus.setTelephone(telephone);cus.setZip(zip);try service.register(cus);response.sendRedirect(login.jsp); catch (CustomerServiceException e) e.printStackTrace();request.setAttribute(message, e.getMessage();request.getRequestDispatcher(register.jsp).forward(request, response);prot
51、ected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException doGet(request, response);4.2用戶登陸頁面1.描述:如果你已經(jīng)注冊了的話,就可以根據(jù)提示輸入用戶名和密碼,點擊登陸就可以了。2.程序運(yùn)行效果圖如圖4.2所示:圖4.2 登陸界面3. 在login.jsp頁面上用戶可以輸入用戶名和密碼進(jìn)行登陸,如果用戶名和密碼都正確,則登陸成功跳轉(zhuǎn)到listBookStore.jsp。如果不正確,需要提示用戶并且還
52、是跳轉(zhuǎn)到login.jsp頁面繼續(xù)登陸。(1)實現(xiàn)ICustomerDao接口中的findCustomerByName()方法。package com.briup.dao;import com.briup.bean.Customer;public interface ICustomerDao /保存用戶void saveCustomer(Customer customer) throws Exception;/更新用戶void updateCustomer(Customer customer);/查找用戶Customer findCustomerByName(String name) thro
53、ws Exception;(2)實現(xiàn)ICustomerService接口中的業(yè)務(wù)邏輯login()方法。package com.briup.service;import com.briup.bean.Customer;import mon.exception.CustomerServiceException;public interface ICustomerService /用戶注冊void register(Customer customer) throws CustomerServiceException; /用戶登陸Customer login(String name,String p
54、assword) throws CustomerServiceException;/用戶更新void update(Customer customer) throws CustomerServiceException; (3)創(chuàng)建LoginServlet.java,在該Servlet中調(diào)用ICustomerService接口中的login()方法進(jìn)行登陸。package com.briup.web.servlet;import java.io.IOException;import javax.servlet.ServletException;import javax.servlet.http.
55、HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.HttpSession;import com.briup.bean.Customer;import com.briup.bean.ShoppingCart;import mon.BeanFactory;import mon.exception.CustomerServiceException;import com.briup.service.ICustomerService;public class LoginServlet extends HttpServlet private ICustomerService service
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024商場美食節(jié)臨時攤位租賃合同
- 2024年度健身器材購銷合同
- 2024年度國際貿(mào)易仲裁與訴訟合同
- 2024年定制LED高炮廣告牌建設(shè)合同
- 2024乙公司向甲方提供跨境電商服務(wù)的詳細(xì)合同條款
- 2024年度grc材料研發(fā)與技術(shù)轉(zhuǎn)讓合同
- 航天英雄課件教學(xué)課件
- 2024年住宅租賃協(xié)議:個人與房東間的權(quán)利義務(wù)規(guī)定
- 04版0千伏電力施工合同樣本
- 2024年工程招投標(biāo)合同管理實操手冊
- 中國小學(xué)生生命教育調(diào)查問卷
- 通用模板-封條模板
- 集團(tuán)公司后備人才選拔培養(yǎng)暫行辦法
- 第五章旅游餐飲設(shè)計ppt課件
- 從馬克思主義視角看當(dāng)前高房價
- 長沙市某辦公建筑的冰蓄冷空調(diào)系統(tǒng)的設(shè)計畢業(yè)設(shè)計
- 不抱怨的世界(課堂PPT)
- 企業(yè)盈利能力分析——以青島啤酒股份有限公司為例
- 消火栓滅火器檢查記錄表
- 岸墻、翼墻及導(dǎo)水墻砼澆筑方案
- 第三章_配位化學(xué)
評論
0/150
提交評論