版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p><b> 畢業(yè)設(shè)計論文</b></p><p><b> 摘要</b></p><p> 隨著互聯(lián)網(wǎng)越來越普及以及電子商務(wù)的迅速發(fā)展,網(wǎng)上購物已成為當代中國一種很普遍的購物模式,這其中最為普及的就是網(wǎng)上購書。 </p><p> 該系統(tǒng)使用JSP技術(shù)構(gòu)建一個網(wǎng)上書店管理平臺,它是在Wi
2、ndows操作系統(tǒng)下,以O(shè)racle 11g 為系統(tǒng)數(shù)據(jù)庫,Tomcat 6.0網(wǎng)絡(luò)信息服務(wù)作為應(yīng)用服務(wù)器,eclipse開發(fā)工具,采用Javascript,DIV+CSS控制前臺界面樣式,采用JSP(Java Server Page)技術(shù)完成了網(wǎng)上書店管理系統(tǒng)的建設(shè)與維護。網(wǎng)上書店管理系統(tǒng)分前臺模塊和后臺模塊,前臺模塊主要是用戶使用,主要包括客戶注冊,客戶登陸,圖書選購(可以通過名字模糊查詢書籍),購物車管理,查看用戶訂單等功能。后臺
3、部分由網(wǎng)上書店管理員使用,主要包括圖書管理(添加,修改,刪除,查看),訂單管理(查看訂單清單,刪除訂單,以訂單號檢索訂單),客戶管理(查詢,修改,刪除)等功能。</p><p> 關(guān)鍵字:電子商務(wù):網(wǎng)上書店管理系統(tǒng):eclipse:JSP技術(shù):Oracle 11g:</p><p> THE BOOKSTORE ON MANAGEMENT SYSTEM</p><p
4、><b> ABSTRACT</b></p><p> With the growing popularity of the Internet and the rapid development of e-commerce, online shopping has become the Contemporary China a very common mode of shoppin
5、g, which is the most popular online bookstores.</p><p> The system uses JSP technology to build an online bookstore management platform, which is in the Windows operating system, for the system database to
6、Oracle 11g, Tomcat 6.0 Network Information Service as the application server, the eclipse development tools, Javascript, DIV + CSS control front interface styleJSP (Java Server Page), the use of technology to complete th
7、e construction and maintenance of the online bookstore management system. The online bookstore management system front module and </p><p> Keywords: e-commerce: online bookstore: Management Systems: eclipse
8、: the jsp Technology: oracle 11g:</p><p><b> 目錄</b></p><p><b> 緒論</b></p><p> 隨著互聯(lián)網(wǎng)的普及,網(wǎng)上書店的蓬勃發(fā)展給傳統(tǒng)實體書店帶來了巨大的沖擊。傳統(tǒng)書店和網(wǎng)上書店作為不同的售書模式既相互聯(lián)系、相互影響,又存在著很多的差別。網(wǎng)上書
9、店的出現(xiàn)為購物者提供了方便、快捷的購物平臺,使人們有較大的選擇余地,價格低廉,商品質(zhì)量有保證,而被人們已與所接受。</p><p><b> 課題研究的背景</b></p><p> 在互聯(lián)網(wǎng)快速發(fā)展的時代,網(wǎng)絡(luò)以其高效快捷的方式改變著人們的生活方式和價值觀念,同時網(wǎng)絡(luò)營銷時代的來臨,也使越來越多的人們投身到網(wǎng)絡(luò)營銷這個行列中來了。網(wǎng)上書店就是一個真實的體驗,它隨
10、著互聯(lián)網(wǎng)的發(fā)展而成為一種新型圖書銷售形式,并以方便,快捷的特點沖擊著傳統(tǒng)的圖書發(fā)銷售行業(yè),這對今天的人們來說既是機遇又是挑戰(zhàn)。</p><p> 網(wǎng)上書店是互聯(lián)網(wǎng)技術(shù)與電子通訊技術(shù)想結(jié)合的體現(xiàn),與傳統(tǒng)現(xiàn)實中的書店相比,網(wǎng)上書店占據(jù)著有利的優(yōu)勢。網(wǎng)上書店的出現(xiàn)可以節(jié)省大量的物力、人力、財力等。大大減少圖書銷售的中介環(huán)節(jié),節(jié)省更多的時間。網(wǎng)上書店可以展示各類書籍,不受空間、區(qū)域、時空的約束,并且能提供足夠多的書籍信
11、息。正是有如此多的優(yōu)點,才使得網(wǎng)上書店發(fā)展才如此的迅速。</p><p><b> 課題研究的意義</b></p><p> 在我國電子商務(wù)發(fā)展還在一個初級階段,網(wǎng)上書店作為電子商務(wù)的一個電子方式貿(mào)易活動,與現(xiàn)實傳統(tǒng)商務(wù)活動相比,既有相似之處,又有明顯區(qū)別。隨著互聯(lián)網(wǎng)的不斷發(fā)展和完善,網(wǎng)上購物已經(jīng)成為一種時尚。例如,北京正望咨詢有限公司發(fā)布了2012年中國網(wǎng)上購物
12、消費者調(diào)查報告。報告顯示,2011年度我國網(wǎng)上購物繼續(xù)高速發(fā)展,全年網(wǎng)購規(guī)模達到8090億元,占到了全國社會商品零售總額的4.4%,網(wǎng)購人數(shù)達到2.12億,比2010年增長72.9%,占到了我國社會商品零售總額的4.4%,同時網(wǎng)上購物在網(wǎng)民中的滲透率提高到41.5%。由于網(wǎng)上購物使人們有較大的選擇余地,價格低廉,商品質(zhì)量有保證,而被人們已與所接受,在虛擬世界里也體現(xiàn)了“物美價廉”。網(wǎng)上書店的出現(xiàn)為購物者提供了方便、快捷的購物平臺。<
13、;/p><p> 目前,我國書刊行業(yè)遇到行業(yè)發(fā)展與體制變革雙重困難,迎接對未來市場,出版社和書店不得不做出應(yīng)對,在減低成本,降低風(fēng)險,提高管理的同時,尋求新的業(yè)態(tài)和渠道的突破。相比之下,由于網(wǎng)上書店具有圖書查詢信息功能,齊全的圖書品種,方便快捷的配送服務(wù),低廉的銷售價格,直接準確的數(shù)據(jù)積累,靈活多樣的宣傳營銷平臺,先進的互聯(lián)網(wǎng)技術(shù),完善的售后服務(wù)等優(yōu)勢,可以預(yù)言,網(wǎng)上書店將走出內(nèi)外環(huán)境制約的階段,迎接美好的發(fā)展前景
14、。</p><p> 網(wǎng)上書店的未來發(fā)展模式</p><p> 隨著這些問題都不斷有效的解決和網(wǎng)絡(luò)的普及、技術(shù)的發(fā)展、電子商務(wù)軟硬件的發(fā)展以及人們觀念的改進,網(wǎng)上書店也將不斷地發(fā)展、不斷地提高??偟膩碚f,網(wǎng)上書店的發(fā)展主要有以下幾種趨勢:</p><p> (1)圖書銷售數(shù)字化。隨著網(wǎng)絡(luò)的普及和其他信息技術(shù)的發(fā)展,圖書發(fā)行電子化將是必然趨勢。電子圖書可以在網(wǎng)絡(luò)
15、上方便、快速地傳遞,省去了圖書配送這一重要而又難度很大的環(huán)節(jié),有望成為銷售盈利的突破口。</p><p> (2)書目數(shù)據(jù)標準化。為讀者提供完整書目信息是網(wǎng)上書店的重要服務(wù)內(nèi)容。因此,未來將制定統(tǒng)一的書目數(shù)據(jù)標推,并通過選擇采用由出版商提供標準的電子書目、購買由專門公司制作的電子書目。</p><p> (3)信息服務(wù)特色化。信息服務(wù)在未來將成為網(wǎng)上書店贏得競爭優(yōu)勢的關(guān)鍵。網(wǎng)上書店的信
16、息服務(wù)將更強調(diào)深度與可信度,注重文化氛圍的營造,以專業(yè)化和特色化、人性化的服務(wù)來體現(xiàn)差異,避免重復(fù),吸引讀者。</p><p> (4)規(guī)?;c專門化。不少網(wǎng)上書店通過合作的方式來統(tǒng)一配送渠道,以方便快捷的優(yōu)勢來吸引顧客,同時減少成本,達到規(guī)?;囊?。</p><p> (5)出版業(yè)務(wù)一體化。通過網(wǎng)上書店可以改進優(yōu)化傳統(tǒng)的出版流程,開拓出版業(yè)務(wù),如對于絕版書或需求量小的圖書,網(wǎng)上書店
17、可以把分散在全國(全世界)各地對這本書的零星需求匯總起來,達到最低開印數(shù)以后,通知出版社印刷。</p><p> (6)集團化與聯(lián)合化。通過激烈的競爭,將出現(xiàn)相互依賴相互補充的網(wǎng)上書店系統(tǒng),以整合資源優(yōu)勢,促進市場的合理劃分與有序競爭。</p><p> (7)業(yè)務(wù)發(fā)展多樣化。電子商務(wù)平臺提供了多種業(yè)務(wù)發(fā)展的可能性,因此網(wǎng)上書店通過圖書銷售培育市場,樹立品牌后,可以有更廣闊的發(fā)展方向,
18、目前網(wǎng)上書店的發(fā)展一般有上市融資、廣告投放、百貨銷售等,故而被稱作進軍電子商務(wù)的跳板。</p><p><b> 相關(guān)理論及技術(shù)</b></p><p><b> 電子商務(wù)</b></p><p> 電子商務(wù)是利用先進的電子技術(shù)實現(xiàn)整個商品交易或貿(mào)易過程中各個階段活動的電子化和自動化。它是通過網(wǎng)絡(luò)通信和信息處理的新方
19、式和手段,將買賣雙方的商務(wù)信息,產(chǎn)品供應(yīng)和銷售信息,物流與配送信息,服務(wù)信息以及電子支付等各種帶有經(jīng)濟價值的活動信息,以及相互認同的交易標準來實現(xiàn)。</p><p> 電子商務(wù)的交易模式:</p><p> B2C電子商務(wù)交易是企業(yè)通過向個人網(wǎng)絡(luò)消費者直接銷售產(chǎn)品和提供服務(wù)的經(jīng)營方式,即網(wǎng)上零售。據(jù)分析家指出,B2C電子商務(wù)是普通消費者廣泛接觸的一類電子商務(wù),也是電子商務(wù)應(yīng)用最為普遍,
20、發(fā)展最快的領(lǐng)域。 </p><p> B2B電子商務(wù):企業(yè)對企業(yè)電子商務(wù)也稱B2B電子商務(wù),它指的是企業(yè)通過因特網(wǎng),外聯(lián)網(wǎng),內(nèi)聯(lián)網(wǎng)或者私有網(wǎng)絡(luò),以電子化方式進行交易。這種交易可能是在企業(yè)以及其供應(yīng)鏈成員之間進行,也可能是企業(yè)和任何企業(yè)間進行。這里的企業(yè)可以之任何組織,包括私人或者公共的,盈利性的或者非盈利性的。</p><p> C2C電子商務(wù)模式即消費者通過Internet與消費者之
21、間進行相互的個人交易。C2C通B2B一樣,都是電子商務(wù)的幾種構(gòu)成成分之一。不同的是C2C是用戶對用戶的模式,C2C商務(wù)平臺就是通過為買賣雙方提供一個在線交易平臺,是賣方可以主動提供商品上網(wǎng)拍賣,而買方可以自行選擇商品進行競價。這個平臺很適合于個人用戶。</p><p> JSP和Servlet技術(shù) </p><p> JSP是Java Server Pages的縮寫,是由Sun公司于1
22、999年6月推出的技術(shù),通過在傳統(tǒng)的HTML中插入JSP腳本代碼從而構(gòu)成了JSP頁面。JSP是基于Java Servlet及整個Java體系的Web開發(fā)技術(shù),可以利用這一技術(shù)來構(gòu)建安全的、跨平臺的動態(tài)Web站點。JSP目前還在不斷地進行更新和優(yōu)化。</p><p> 如果讀者對微軟的ASP技術(shù)比較熟悉,應(yīng)該知道ASP的編程語言是VBScript和JavaScript,而JSP使用的Java語言。與ASP相比,J
23、SP在許多方面有了大大的改進,具有動態(tài)頁面與靜態(tài)頁面相分離,并擺脫系統(tǒng)平臺束縛的特點。JSP是通過編譯后執(zhí)行的,完全克服了ASP的腳本解釋執(zhí)行的缺點,目前已經(jīng)成為Web開發(fā)的主流選擇。</p><p> JSP具有如下主要特點。</p><p> 程序邏輯和顯示分離,使得開發(fā)人員的分工更加明確,頁面設(shè)計者可以修改內(nèi)容而不影響邏輯,應(yīng)用程序的開發(fā)者可以修改邏輯而不影響內(nèi)容。</p&
24、gt;<p> 可重用組件,基于組件的開發(fā)方法有效地提高應(yīng)用程序的開發(fā)效率,加快了項目的總體開發(fā)進程。</p><p> 使用標簽簡化頁面開發(fā),標準的JSP標記能夠訪問和實例化Javabeans組件,設(shè)置或檢索組件的屬性,下載Applet,以及執(zhí)行使用其它方法難以實現(xiàn)的功能。</p><p> 具有Java的特點,由于JSP頁面的內(nèi)置腳本是基于Java語言的,而且所有的
25、JSP頁面都被編譯成Servlet,所以JSP具有Java的特點,如健壯的存儲管理、安全性、跨平臺性、“一次編寫,各處運行”等特點</p><p> Servlet是一種服務(wù)器端的編程語言,是J2EE中比較關(guān)鍵的組成部分,Servlet技術(shù)的推出,擴展了Java語言在服務(wù)端開發(fā)的功能,鞏固了Java語言在服務(wù)器端開發(fā)中的地位。另外Java Servlet是JSP的基礎(chǔ),而且大型的Web應(yīng)用程序的開發(fā)需要Java
26、 Servlet和JSP配合才能完成。現(xiàn)在許多Web服務(wù)器都支持Servlet,即使不直接支持Servlet的Web服務(wù)器,也可以通過附件的應(yīng)用服務(wù)器和模塊來支持Servlet,這得益于Java的跨平臺特性。JSP的執(zhí)行流程。如圖2-2。</p><p> 圖2.2 執(zhí)行流程圖</p><p><b> Tomcat 簡介</b></p><p
27、> Tomcat是Apache 軟件基金會(Apache Software Foundation)的Jakarta 項目中的一個核心項目,由Apache、Sun 和其他一些公司及個人共同開發(fā)而成。由于有了Sun 的參與和支持,最新的Servlet 和JSP 規(guī)范總是能在Tomcat 中得到體現(xiàn),Tomcat 5 支持最新的Servlet 2.4 和JSP 2.0 規(guī)范。因為Tomcat 技術(shù)先進、性能穩(wěn)定,而且免費,因而深受Ja
28、va 愛好者的喜愛并得到了部分軟件開發(fā)商的認可,成為目前比較流行的Web 應(yīng)用服務(wù)器。</p><p><b> MVC模式</b></p><p> MVC設(shè)計模式最先是由Trygve Reenskaug提出的,并最先成功地應(yīng)用在SmallTalk-80環(huán)境中,是許多交互和界面系統(tǒng)構(gòu)成的基礎(chǔ)。</p><p> MVC把交互系統(tǒng)的組成分
29、解成模型、視圖、控制器三種部件。</p><p> 模型部分,它是軟件所處理問題邏輯在獨立于外在顯示內(nèi)容和形式情況下的內(nèi)在抽象,封裝了問題的的核心數(shù)據(jù)、邏輯和功能的計算關(guān)系,它獨立于具體的界面表達和I/O操作。</p><p> 視圖部分,它使表示模型數(shù)據(jù)及邏輯關(guān)系和狀態(tài)的信息以特定形式展示給用戶。它從模型或的顯示信息,對于相同的信息可以多個不同的顯示形式或視圖。</p>
30、<p> 控制器部分,它是用來處理用戶與軟件的交互操作的,其職責(zé)是控制提供模式中任何變換的傳輸確保用戶界面與模型間的對應(yīng)關(guān)系:它接收用戶的輸入,將輸入反饋給模型,進而實現(xiàn)對模型的計算控制,是使模型和視圖協(xié)調(diào)工作的部件。通過一個視圖具有一個控制器。</p><p> MVC設(shè)計模式被廣泛的應(yīng)用到許多程序設(shè)計中。Java Web開發(fā)中的MVC設(shè)計模式包括三個部分,分別是Model、View和Contr
31、oller。其中Model的譯名為模型,一般使用Javabean充當。View的譯名為視圖,一般使用JSP充當,這樣的JSP就可以專注于負責(zé)顯示。Controller的譯名為控制器,一般使用Servlet充當,因為Servlet本來就是一個java類,可以把處理代碼和跳轉(zhuǎn)代碼很容易地添加進去。</p><p><b> Oracle</b></p><p> Or
32、acle(甲骨文)公司是世界上最大的企業(yè)軟件公司,向遍及145個國家的用戶提供數(shù)據(jù)庫、工具和應(yīng)用軟件以及相關(guān)的咨詢、培訓(xùn)和支持服務(wù)。</p><p><b> 產(chǎn)品簡介</b></p><p> ·1977年6月,Larry Ellison,Bob Minor和Ed Oates三人合伙創(chuàng)辦(Software Development Laboratorie
33、s,SDL)</p><p> ·1979年,更名為Relational Software Inc.,RSI</p><p> ·1983年,為了突出核心產(chǎn)品 ,RSI更名為Oracle</p><p> ·1997年6月,Oracle第八版發(fā)布</p><p> ·2002年04月26日,啟用
34、“甲骨文”作為中文注冊商標</p><p> ·2003年9月,Ellison宣布下一代數(shù)據(jù)庫產(chǎn)品“Oracle 10g”,“g”代表“grid,網(wǎng)格”</p><p> ·2007年11月,Oracle 11g正式發(fā)布,功能上大大加強</p><p> oracle 11g</p><p> Oracle 11
35、g是oracle數(shù)據(jù)庫的最新版本,它是在10g的基礎(chǔ)上對企業(yè)數(shù)據(jù)庫計算進行了擴展,提供了眾多特性支持企業(yè)網(wǎng)格計算,是一個對不同級別的業(yè)務(wù),不同規(guī)模的組織都有量身定做產(chǎn)品,對不同IT需求都有解決方案的家族。Oracle也提供數(shù)據(jù)庫選件產(chǎn)品來加強Oracle數(shù)據(jù)庫11g某些特殊的應(yīng)用需求。本文將概要的介紹這些功能和選件。</p><p> ? Oracle數(shù)據(jù)庫11g標準版一(SE1)是個空前強大,易用,性價比非常
36、好的工作組級軟件。適合單節(jié)點,在最高容量兩個處理器的服務(wù)器上使用。</p><p> ? Oracle數(shù)據(jù)庫11g標準版(SE)可以支持單機或者集群服務(wù)器,在最高容量4個處理器的單機或者總計4處理器的集群上使用。購買了標準版,就已經(jīng)內(nèi)含了Oracle的RAC而無需額外付費。</p><p> ? Oracle數(shù)據(jù)庫11g企業(yè)版(EE)提供了有效,可靠,安全的數(shù)據(jù)管理功能以應(yīng)對關(guān)鍵的企業(yè)
37、業(yè)務(wù)和在線事務(wù)處理應(yīng)用,復(fù)雜查詢的數(shù)據(jù)倉庫或者WEB2.0應(yīng)用。企業(yè)版就沒有SOCKET限制,單機或者集群都可以使用 ? Oracle數(shù)據(jù)庫11g個人版(PE)是為個人開發(fā)部署使用,它和Oracle標準版一,標準版,企業(yè)版功能上是全面兼容的。</p><p> ? Oracle數(shù)據(jù)庫11g express版(XE)是個入門級的精巧數(shù)據(jù)庫。主代碼是基于企業(yè)級數(shù)據(jù)庫的,用戶可以在這個基礎(chǔ)上自由開發(fā),部署和發(fā)布。
38、該版數(shù)據(jù)庫占的空間很小,非常容易管理。</p><p> Oracle 11g下載地址:http://www.oracle.com/technetwork/cn/database/enterprise-edition/downloads/index.html</p><p><b> 系統(tǒng)分析</b></p><p> 可行性分析是確定開
39、發(fā)項目前具有決定性意義的工作,是在投資決策之前,對擬建項目進行全面技術(shù)經(jīng)濟分析論證的科學(xué)方法,在投資管理中,可行性分析是指對擬建項目有關(guān)的自然、社會、經(jīng)濟、技術(shù)等進行調(diào)研、分析比較以及預(yù)測建成后的社會經(jīng)濟效益。在此基礎(chǔ)上,綜合論證項目建設(shè)的必要性,財務(wù)的盈利性,經(jīng)濟上的合理性,技術(shù)上的先進性和適應(yīng)性以及建設(shè)條件的可能性和可行性,從而為投資決策提供科學(xué)依據(jù)。</p><p> 3.1建立可行性分析</p&g
40、t;<p> 建立網(wǎng)上書店管理系統(tǒng)可以省去傳統(tǒng)書店的店面的投資,這樣就大大的降低了開書店的成本。物流配送方面,采用外包方式,可與第三方物流配送公司簽訂合同,通過物流公司建立物流配送體系,以解決配送方案。支付方面,采取貨到付款的方式,并可通過逆向物流渠道將資金回收,這樣一來投資就會大大降低了成本。</p><p> 3.2經(jīng)濟可行性分析</p><p> 此網(wǎng)上書店管理系
41、統(tǒng)是用來做畢業(yè)設(shè)計的,暫不考慮任何費用問題。</p><p> 3.3技術(shù)可行性分析</p><p> 本系統(tǒng)希望通過構(gòu)建一個JSP+Servlet+Javabean(MVC模式)的網(wǎng)上書店管理系統(tǒng),利用日益繁榮的互聯(lián)網(wǎng),為傳統(tǒng)的書店打造一個新的銷售平臺。本系統(tǒng)希望通過電子信息化的手段對書店的進存銷等環(huán)節(jié)進行管理,以達到人力與設(shè)備費用的減少,服務(wù)能力的提高,管理信息服務(wù)的改進,工作效率
42、的提高等目標。</p><p><b> 第四章 需求分析</b></p><p> 隨著計算機技術(shù)的發(fā)展和網(wǎng)絡(luò)人口的增加,網(wǎng)絡(luò)世界也越來越廣博,電子商務(wù)已經(jīng)成為網(wǎng)上的一股潮流。相信要不了太長時間,顧客就可以在網(wǎng)絡(luò)世界上獲得他們在現(xiàn)實世界上可以獲得到的所有商品和服務(wù)。網(wǎng)上書店管理系統(tǒng)就是為適應(yīng)著這一形勢而開發(fā)的。</p><p> 本系統(tǒng)
43、是一個因特網(wǎng)上銷售圖書的電子商務(wù)系統(tǒng)。書店可以通過該系統(tǒng)銷售自己的圖書,圖書購買者可以通過該系統(tǒng)訂購自己要買的相關(guān)書籍。</p><p> 在功能上要求 :消費者通過本系統(tǒng)的用戶界面,可以瀏覽圖書,查看每本圖書的詳細信息。在瀏覽圖書過程中,如果消費者對么本書感興趣,則可以加入購物車。消費者可以隨時查看購物車的狀況,并及時的更新。購物完畢后消費者可以提交訂單。后臺管理員對網(wǎng)上書店的圖書信息和用戶(網(wǎng)站注冊用戶即潛
44、在購書者)信息的進行有效的管理;對圖書的進存銷等環(huán)節(jié)進行信息化管理;實現(xiàn)讀者網(wǎng)上瀏覽圖書,網(wǎng)上查詢圖書,網(wǎng)上購書的可能。</p><p> 在性能上要求:數(shù)據(jù)庫的錄入;圖書檢索;用戶信息查詢;圖書信息查詢;網(wǎng)上購書;</p><p> 安全與保密要求 :書店中所有的圖書能夠供用戶隨時查閱;用戶可以根據(jù)自己的賬號登陸查看已購買過的商品,進行確認是否是否收貨;書店圖書的信息只能由書店管理人
45、員添加,修改,刪除;所有注冊用戶信息只能由書店管理人員查詢,刪除操作。所有用戶的訂單信息只能由書店管理人員查詢,刪除操作。</p><p> 環(huán)境:為了是這個系統(tǒng)能夠在以后使用階段正常運行,對所使用的環(huán)境用一定的要求。</p><p> 操作系統(tǒng)要求:windows系統(tǒng)</p><p> 數(shù)據(jù)庫要求:Oracle 11g</p><p&g
46、t; 服務(wù)器要求:tomcat 6.0</p><p> 前臺頁面腳本使用:jsp</p><p> 服務(wù)器端使用:Servlet</p><p><b> 第五章 系統(tǒng)設(shè)計</b></p><p> 5.1系統(tǒng)的結(jié)構(gòu)模型</p><p> 該系統(tǒng)是基于internet的結(jié)構(gòu),采用M
47、VC設(shè)計模式。前臺瀏覽器用JSP頁面動態(tài)顯示用戶請求服務(wù)器返回的結(jié)果,利用Javabean來封裝問題的核心數(shù)據(jù)、邏輯和功能的計算關(guān)系,Servlet用來處理用戶與軟件的相互操作,可以把處理代碼和跳轉(zhuǎn)代碼很容易地添加進去。所以該系統(tǒng)創(chuàng)建的前臺JSP頁面,服務(wù)器端的servlet,javabean封裝類如下表所示:</p><p> 表5.1 結(jié)構(gòu)模型表</p><p> 5.2系統(tǒng)的功能
48、設(shè)計</p><p> 系統(tǒng)功能模塊包括:前臺用戶模塊和后臺管理員模塊。前臺功能模塊包括:圖書瀏覽,客戶注冊,圖書購買,訂單提交,圖書查詢等模塊。后臺功能模塊包括:圖書添加,圖書修改,圖書刪除,訂單查看,訂單刪除,客戶查看,客戶修改,客戶刪除等模塊。將每個功能細分,實現(xiàn)單個功能的獨立,最后得出該系統(tǒng)的功能模塊圖 如圖5.2.1所示:</p><p> 圖5.2.1 功能模塊圖</
49、p><p> 5.2.1前臺功能描述</p><p> 圖書瀏覽:瀏覽各種類型的圖書,也可以通過查詢書名進行模糊查詢。</p><p> 用戶注冊:正確輸入個人的詳細信息,注冊一個新用戶,這是用戶能在該系統(tǒng)買書的前提。用戶分注冊用戶和非注冊用戶:非注冊用戶可以瀏覽網(wǎng)站前臺展示的一系列信息,與注冊用戶不同的是,普通用戶無法使用購車結(jié)賬。普通用戶可以通過網(wǎng)站完成個人信
50、息注冊,成為注冊用戶。注冊用戶是網(wǎng)站真正意義上的用戶,注冊用戶可以瀏覽網(wǎng)站前臺商品,并通過購物車完成商品的購買,查看已買過的圖書信息,退出登錄。</p><p> 用戶登陸:未登錄的用戶只能瀏覽圖書,不能購買,只有用戶登陸后才可以在該網(wǎng)上書店購買新書。</p><p> 圖書購買:用戶可以選取自己喜愛的圖書,加入到購物車,在購物車中用戶可以修改圖書數(shù)量,刪除不想要的圖書或者清空購物車。
51、</p><p><b> 非注冊用戶</b></p><p><b> 注冊用戶</b></p><p> 圖 5.2.1 用戶例圖</p><p> 5.2.2后臺功能描述</p><p> 圖書添加:管理員通過該功能往數(shù)據(jù)庫中添加新書,以增加更多圖書,供用戶選
52、購。</p><p> 圖書管理:管理員可以對圖書進行查看,修改,刪除數(shù)據(jù)庫中的圖書功能。</p><p> 訂單管理:管理員可以查看訂單,修改訂單和刪除訂單功能。</p><p> 客戶管理:管理員可以查看客戶信息是否屬實,并對客戶信息進行修改和刪除客戶功能。</p><p><b> 管理員</b></
53、p><p> 圖5.2.2 管理員例圖</p><p> 5.3系統(tǒng)的數(shù)據(jù)庫設(shè)計</p><p> 數(shù)據(jù)庫是網(wǎng)上書店管理系統(tǒng)操作過程中不可分割的部分,數(shù)據(jù)是整個系統(tǒng)設(shè)計的基礎(chǔ),通俗的講,數(shù)據(jù)庫設(shè)計就像高樓大廈的根基一樣,要是設(shè)計不合理,不完善,將在以后的系統(tǒng)開發(fā)過程中,甚至到后期的系統(tǒng)維護,功能更改和功能擴充時引起更多不必要的問題,嚴重時甚至項目重新開發(fā),重做已完
54、成的大量工作。</p><p> 所以在設(shè)計數(shù)據(jù)庫表的過程中,一般要遵循一下幾條原則:</p><p> 1.數(shù)據(jù)庫的一個表最好只存儲一個實體或?qū)ο蟮南嚓P(guān)信息,不同的實體最好儲存在不同的表中,如果實體還可以再劃分,實體的劃分原則是最好能夠比當前系統(tǒng)要開發(fā)的實體的復(fù)雜度小。</p><p> 2.數(shù)據(jù)庫的信息結(jié)構(gòu)一定要合適,表的字段的數(shù)量一般不要過多。</
55、p><p> 3.擴充信息和動態(tài)表化的信息一定要分別放在不同的表里。</p><p> 由系統(tǒng)功能設(shè)計可知,該系統(tǒng)數(shù)據(jù)庫設(shè)計有以下四張數(shù)據(jù)表,具體說明如下。</p><p> ?。?)用戶表(Table_customer)字段包括:用戶編號、用戶姓名、用戶性別、用戶地址、用戶電話、用戶郵箱、用戶密碼、用戶郵編,其中密碼只能有用戶知道,管理員無權(quán)查看,用戶編號為主鍵。
56、</p><p><b> 表5.1 用戶表</b></p><p> (2)書表(table_book)字段包括:書號、書名、價格、作者、出版社、數(shù)量、類型、圖片,其中書號是主鍵必須唯一。</p><p><b> 表5.2 書表</b></p><p> ?。?)訂單信息中的收件人信息表
57、(table_customer_order)字段包括:訂單號、用戶號、收件人姓名、總價、收件人郵編、收件人地址、交易狀態(tài)、下訂單的時間、收件人電話,其中訂單號作為主鍵必須唯一,它對訂單信息購買的書表是一對多的關(guān)系。</p><p> 表5.3訂單信息收件人表</p><p> (4)訂單信息書表(table_book_order)字段包括:訂單號、書號、書名、價格購買數(shù)量,其中訂單號和
58、書號分別是書表和訂單信息收件人表的主鍵作為該表的聯(lián)合主鍵,訂單信息書表和訂單信息收件人表形成多對一的關(guān)系。</p><p> 表5.4 訂單信息書表</p><p><b> (5)E-R圖</b></p><p><b> 圖5.3.1 用戶</b></p><p><b>
59、圖5.3.2 書</b></p><p> 1 M</p><p><b> 圖5.3.3 訂單</b></p><p> 第六章 網(wǎng)上書店管理系統(tǒng)的實施</p><p> 前面完成了對網(wǎng)上書店管理系統(tǒng)的功能設(shè)計和數(shù)據(jù)庫設(shè)計,接下來就是對該系統(tǒng)的進行實
60、施的階段。系統(tǒng)實施階段是用eclipse開發(fā)工具,利用JSP中的request(主要實現(xiàn)獲取表單中的數(shù)據(jù)),Response(主要實現(xiàn)文件相關(guān)路徑的設(shè)置以及JDBC連接),Session(實現(xiàn)用戶信息的儲存及購物車中商品的存放)及大對象的屬性和方法,實現(xiàn)數(shù)據(jù)的查詢,修改,刪除等操作。</p><p> 6.1數(shù)據(jù)庫的鏈接與數(shù)據(jù)表的實現(xiàn)</p><p> 數(shù)據(jù)庫的鏈接:Java EE連接
61、數(shù)據(jù)庫,先創(chuàng)建一個DBUtils.java類用來封裝對數(shù)據(jù)庫的連接和增刪改查操作。</p><p><b> 操作步驟如下:</b></p><p> 1.注冊驅(qū)動 JDBC API使用驅(qū)動與oracle 11g數(shù)據(jù)庫引擎建立連接到數(shù)據(jù)庫 驅(qū)動方式如圖6.1.1</p><p> 圖 6.1.1 驅(qū)動方式</p><
62、p> 語法: String driverName = oracle.jdbc.driver.OracleDriver;</p><p> Class.forName(driverName);</p><p> 2.創(chuàng)建數(shù)據(jù)庫來接 使用getConnection(String url)方法。</p><p> 語法: String dbutil=&q
63、uot;jdbc:oracle:thin:@127.0.0.1:1521:orcl";</p><p> String userName=“store”;</p><p> String password=“ok”;</p><p> Connection con=DriverManger.getConnection(dbutil,userName,
64、password);</p><p> 3.創(chuàng)建statement Statement對象用來執(zhí)行SQL語句,對數(shù)據(jù)庫進行操作</p><p> 語句:Statement stm=connection.createStatement();</p><p> 4.執(zhí)行SQL語句 通過Statement對象將SQL語句原樣傳到已經(jīng)建立的數(shù)據(jù)庫并執(zhí)行。</
65、p><p> 5.處理Results 對數(shù)據(jù)進行查詢查詢結(jié)果存放在ResultSet對象中。</p><p> 語句:Statement stm=con.createStatement();</p><p> ResultSet rs=stm.executeQuery(“ select * from table_book”);</p><p&
66、gt; 6.關(guān)閉JDBC對象 所有的對象都需要關(guān)閉,關(guān)閉順序應(yīng)該是從大到小。</p><p> 語句: if ( rs != null ) try{ rs.close() ; }catch( Exception e ){}</p><p> If ( stm != null ) try{ stm.close() ; }catch( Exception e ){}</p>
67、;<p> If ( con != null ) try { con.close() ; }catch( Exception e ){}</p><p> 數(shù)據(jù)表的實現(xiàn):依據(jù)系統(tǒng)設(shè)計中的數(shù)據(jù)庫設(shè)計創(chuàng)建網(wǎng)上書店管理系統(tǒng)所需的數(shù)據(jù)庫表。創(chuàng)建表的腳本代碼如下:</p><p> //創(chuàng)建用戶號自動生成序列(customer_ol)</p><p>
68、; Create sequence customer_ol;</p><p> //創(chuàng)建用戶表(table_customer)</p><p> create table table_customer(</p><p> Cust_id integer constraint customer_pk primary key,</p><p&
69、gt; Cust_name varchar2(20) not null,</p><p> Cust_sex varchar2(2) not null,</p><p> Cust_address varchar2(100) not null,</p><p> Cust_phone varchar2(20) not null,</p>&
70、lt;p> Cust_email varchar2(40) not null,</p><p> Cust_password varchar2(20) not null</p><p><b> );</b></p><p> //創(chuàng)建書號自動生成序列(book_order)</p><p> creat
71、e sequence book_order;</p><p> //創(chuàng)建書表(table_book)</p><p> create table table_book(</p><p> Book_id integer constraint book_pk primary key,</p><p> Book_name varcha
72、r2(40) not null,</p><p> Book_price integer not null, </p><p> Book_anthor varchar2(20) not null,</p><p> Book_press varchar2(50) not null,</p><p> Book_num intege
73、r not null,</p><p> Book_type varchar2(20) not null,</p><p> Book_picture varchar2(50)</p><p><b> );</b></p><p> //創(chuàng)建訂單號自動生成序列(order_ol)</p><
74、p> create sequence order_ol;</p><p> //創(chuàng)建訂單信息收件人表(customer_order)</p><p> create table customer_order(</p><p> Order_id integer constraint customer_order_pk primary key,</
75、p><p> cust_id integer not null,</p><p> Oeder_name varchar2(30) not null,</p><p> Order_totals integer not null,</p><p> Order_postId integer not null,</p>&
76、lt;p> Order_address varchar2(100) not null,</p><p> Order_status varchar2(2) not null,</p><p> Oeder_date date not null</p><p><b> );</b></p><p> //
77、創(chuàng)建訂單(書)信息表book_order</p><p> create table table_book_order(</p><p> Order_id constraint order_fk references customer_order(Order_id),</p><p> book_id constraint book_fk reference
78、s table_book(book_id),</p><p> book_name varchar2(50),</p><p> Order_bk__Price integer not null,</p><p> Order_bk_count integer not null,</p><p> constraint book_or
79、der_pk primary key(Order_customer_id,book_id)</p><p><b> );</b></p><p><b> //創(chuàng)建管理員表</b></p><p> create table table_book(</p><p> manager_nam
80、e varchar2(50) not null,</p><p> manager_password varchar2(40) not null,</p><p> constraint manager_pk primary key(manager_name,manager_password)</p><p><b> );</b><
81、;/p><p> 6.2前臺模塊的實現(xiàn)</p><p> 前臺頁面包括以下部分: </p><p> index.jsp:登陸界面(首頁)。</p><p> showBook.jsp :給用戶顯示所有可選的書籍。</p><p> customerRegister.jsp:用戶注冊頁面。</p>
82、<p> CustomerLand.jsp:用戶登陸頁面。</p><p> lookGood.jsp:用戶查看過買過的商品。</p><p> ShoppingCar.jsp:購物車頁面。</p><p> orderForm.jsp:訂單提交頁面。</p><p> 6.2.1用戶流程圖</p><
83、p> N N</p><p><b> Y</b></p><p> 圖 6.2.1 用戶流程圖</p><p> 前臺用戶頁面請求提交到servlet的中,servlet調(diào)用方法封裝類中的相應(yīng)方法,執(zhí)行相應(yīng)的操作。下面是servlet中的部分代碼。</p><p> 部分的
84、servlet代碼:</p><p> protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {</p><p> request.setCharacterEncoding("utf-8"
85、);</p><p> response.setCharacterEncoding("utf-8");</p><p> String op=request.getParameter("op");</p><p> CustomerOption cp=new CustomerOption();</p>&l
86、t;p> if(op.equals("1")){// op=1用戶登陸</p><p> Customers c=cp.check_customer(request);</p><p> if(c!=null){</p><p> request.getSession().setAttribute("
87、customer", c);</p><p> ArrayList<Books> books=cp.queryBooks("");</p><p> request.setAttribute("books",books);</p><p> request.getRequestD
88、ispatcher("showBooks.jsp").forward(request, response);</p><p><b> }else {</b></p><p> response.getWriter().write("用戶不存在!");</p><p><b> }&
89、lt;/b></p><p> }else if(op.equals("2")){//用戶注冊</p><p> Customers c=cp.getCustomer(request);</p><p> boolean isOk=cp.addCustomer(c);</p><p><b> if
90、(isOk){</b></p><p> response.getWriter().write("注冊成功!");</p><p><b> }else{</b></p><p> response.getWriter().write("注冊失?。?quot;);</p>&
91、lt;p><b> }</b></p><p> }else if(op.equals("3")){//以書名檢索書</p><p> String book_name=request.getParameter("book_name");</p><p> ArrayList<B
92、ooks> books=cp.queryBooks(book_name);</p><p> request.setAttribute("books",books);</p><p> request.getRequestDispatcher("showBooks.jsp").forward(request, response)
93、;</p><p> }else if(op.equals("4")){//用戶退出</p><p> request.getSession().removeAttribute("customer");</p><p> ArrayList<Books> books=cp.queryBooks("&
94、quot;);</p><p> request.setAttribute("books",books);</p><p> request.getRequestDispatcher("showBooks.jsp").forward(request, response);</p><p> }else if(
95、op.equals("5")){//用戶查看已買商品</p><p> String id=request.getParameter("id");</p><p> HashMap<Integer,CustomerOrder> co=cp.getcustomerOrder(id);</p><p>
96、 request.setAttribute("colist",co);</p><p> request.getRequestDispatcher("lookGoods.jsp").forward(request, response);</p><p> }else if(op.equals("6")){//確認收貨<
97、/p><p> String id=request.getParameter("id");</p><p> boolean isOk=cp.changeStatus(id);</p><p> if(isOk){</p><p> HashMap<Integer,CustomerOrder> co
98、=cp.getcustomerOrder(id);</p><p> request.setAttribute("colist",co);</p><p> request.getRequestDispatcher("lookGoods.jsp").forward(request, response);</p><p&g
99、t;<b> }else{</b></p><p> response.getWriter().write("確認失?。?quot;);</p><p><b> }</b></p><p><b> }</b></p><p><b>
100、 }</b></p><p> 6.2.2首頁書籍展示模塊的實現(xiàn)</p><p> 運行index.jsp調(diào)用showBook.jsp顯示圖書購物大廳 如圖6.2.2,不管你是注冊用戶還是非注冊用戶都可以通過本界面瀏覽本網(wǎng)店的所有書籍,還可以通過書名的模糊查詢查詢出自己想要查詢的書籍。</p><p> 用戶以書名模糊查詢書籍,查詢的結(jié)果放在Re
101、sultSet中,再把ResultSet中的結(jié)果轉(zhuǎn)換成ArrayList<Books>()。</p><p><b> SQL語句:</b></p><p> String sqlStr = "select * from table_book where book_name like '%"+ name + "%&
102、#39;";</p><p> ResultSet rs = db.executeQuery(sqlStr);:</p><p> 前臺showBook.java頁面通過request.getAttribute("books")接受ArrayList<Books>(),使用foreach語句循環(huán)輸出所查書籍顯示在前臺頁面上。</p>
103、<p><b> 部分代碼:</b></p><p><b> <%</b></p><p> ArrayList<Books> book = (ArrayList) request.getAttribute("books");</p><p><b>
104、 %></b></p><p><b> <%</b></p><p> if (book.size() != 0) {</p><p><b> %></b></p><p> <table align="center"><
105、;/p><p> <caption><font size="4">圖書瀏覽</font></caption></p><p> <tr bgcolor="yellow"></p><p> <td>書號</td><td>書名<
106、;/td><td>價格</td><td>作者</td><td>出版社</td></p><p> <td>數(shù)量</td><td>類型</td><td>購物車</td></p><p><b> </tr></b
107、></p><p><b> <%</b></p><p> for (int i = 0; i < book.size(); i++) {</p><p> Books b = new Books();</p><p> b = book.get(i);</p><p>
108、; if(b.getBook_num()!=0){</p><p><b> %></b></p><p><b> <tr></b></p><p> <td><%=b.getBook_id()%></td><td><%=b.getBook_
109、name()%></td></p><p> <td><%=b.getBook_price()%></td><td><%=b.getBook_anthor()%></td><td><%=b.getBook_press()%></td></p><p> <
110、td><%=b.getBook_num()%></td><td><%=b.getBook_type()%></td></p><p> <td><a href="CarServlet?op=1&book_id=<%=b.getBook_id()%>">加入</a><
111、;/td></p><p><b> <%}}%></b></p><p><b> </table></b></p><p><b> <%</b></p><p><b> } else {</b></
112、p><p><b> %></b></p><p> <center>未找到要檢索的書籍!</center></p><p><b> <%</b></p><p><b> }</b></p><p> 圖6.
113、2.1 書店首頁</p><p> 6.2.3登陸頁面的實現(xiàn)</p><p> 用戶點擊登陸按鈕運行到用戶登陸界面(CustomerLand.jsp),根據(jù)用戶輸入的姓名和密碼送到CustomerServlet中,CustomerServlet通過request.getParameter()方法接收數(shù)據(jù),接收到的數(shù)據(jù)傳到customerOption.java中的checkCustome
114、r(參數(shù))方法檢驗該用戶是否是合法用戶,若是合法用戶則會跳轉(zhuǎn)到首頁,若不正確,則會提示你輸入有誤或未注冊。如圖6.2.3</p><p> 圖6.2.3 用戶登錄</p><p> 部分代碼:<font size="5">用戶登入</font></p><p> <form name="f"
115、 action="CustomerServlet" method="post" onsubmit="return check();"></p><p> 用戶名:<input name="customer_name"><br> 密 碼:<input</p><p> ty
116、pe="password" name="customer_password"><br> <input</p><p> type="hidden" name="op" value="1"> <input type="submit"</p>&l
117、t;p> value="提交"> <input type="reset" value="重置"></p><p><b> </form></b></p><p> 6.2.4用戶注冊模塊的實現(xiàn)</p><p> 點擊注冊按鈕則會運行到注冊頁
118、面(customerRegister.jsp)非注冊用戶輸入正確的個人信息,同時javascript腳本對文本框內(nèi)容進行驗證,判斷是否為空,輸入正確后,點擊提交按鈕,注冊成功,注冊成功后成為網(wǎng)店的正式用戶,就可以在該店購上買書籍。如圖6.2.4</p><p> 圖6.2.4 用戶注冊</p><p> Javascript腳本的部分驗證代碼:</p><p>
119、 <script type="text/javascript"></p><p> <!--檢驗文本輸入框的內(nèi)容不能為空。</p><p> function check() {</p><p> if(f.customer_name.value==""){</p><p&g
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 網(wǎng)上書店管理系統(tǒng)畢業(yè)設(shè)計
- 網(wǎng)上書店管理系統(tǒng)畢業(yè)設(shè)計
- 網(wǎng)上書店系統(tǒng)畢業(yè)設(shè)計
- 網(wǎng)上書店系統(tǒng)畢業(yè)設(shè)計
- 網(wǎng)上書店系統(tǒng)畢業(yè)設(shè)計
- 網(wǎng)上書店管理系統(tǒng)畢業(yè)設(shè)計論文
- 網(wǎng)上書店畢業(yè)設(shè)計-- 網(wǎng)上書店網(wǎng)站設(shè)計與實現(xiàn)
- 網(wǎng)上書店畢業(yè)設(shè)計
- 網(wǎng)上書店畢業(yè)設(shè)計
- 網(wǎng)上書店畢業(yè)設(shè)計
- 網(wǎng)上書店系統(tǒng)畢業(yè)設(shè)計(論文)
- 畢業(yè)設(shè)計----網(wǎng)上書店購物系統(tǒng)
- 網(wǎng)上書店系統(tǒng)畢業(yè)設(shè)計論文
- 網(wǎng)上書店系統(tǒng)畢業(yè)設(shè)計 (2)
- 畢業(yè)設(shè)計----網(wǎng)上書店系統(tǒng)設(shè)計 (2)
- 網(wǎng)上書店畢業(yè)論文---網(wǎng)上書店系統(tǒng)
- 網(wǎng)上書店畢業(yè)設(shè)計論文
- 網(wǎng)上書店的畢業(yè)設(shè)計
- 網(wǎng)上書店畢業(yè)設(shè)計論文
- 網(wǎng)上書店網(wǎng)站畢業(yè)設(shè)計
評論
0/150
提交評論