[優(yōu)秀畢業(yè)論文]網(wǎng)上書店系統(tǒng)的功能及實現(xiàn)_第1頁
[優(yōu)秀畢業(yè)論文]網(wǎng)上書店系統(tǒng)的功能及實現(xiàn)_第2頁
[優(yōu)秀畢業(yè)論文]網(wǎng)上書店系統(tǒng)的功能及實現(xiàn)_第3頁
[優(yōu)秀畢業(yè)論文]網(wǎng)上書店系統(tǒng)的功能及實現(xiàn)_第4頁
[優(yōu)秀畢業(yè)論文]網(wǎng)上書店系統(tǒng)的功能及實現(xiàn)_第5頁
已閱讀5頁,還剩39頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、學(xué)士學(xué)位論文網(wǎng)上書店摘要隨著網(wǎng)絡(luò)信息的發(fā)展,網(wǎng)絡(luò)在人們生活中的應(yīng)用越來越廣泛。人們越來越想在最短的時間內(nèi)購買到自己所需的圖書。但書目的繁多,給人們在繁忙的工作生活中購書帶來了很大的麻煩,于是網(wǎng)上購書便成了人們向往的事情,此系統(tǒng)的開發(fā)為人們帶來了很大的方便,使他們足不出戶就可以輕輕松松地買到自己想要的書,既省時又省力。本次畢業(yè)設(shè)計的題目就是網(wǎng)上書店系統(tǒng)。論文就畢業(yè)設(shè)計的內(nèi)容,系統(tǒng)地闡述了整個網(wǎng)上書店系統(tǒng)的功能及實現(xiàn)。實現(xiàn)了從商品管理,商品分類和查詢,到購物車實現(xiàn),用戶訂單處理,再到管理員系統(tǒng)?;旧蠈崿F(xiàn)了電子商務(wù)的功能流程,能夠?qū)崿F(xiàn)用戶與商家在網(wǎng)上進行商品交易。本系統(tǒng)界面簡單直觀,易于操作和使用

2、,交互性強,完全基于internet網(wǎng)絡(luò)。經(jīng)過分析,我們使用 sun公司的jsp開發(fā)工具,利用其提供的各種面向?qū)ο蟮拈_發(fā)工具,尤其是數(shù)據(jù)窗口這一能方便而簡潔操縱數(shù)據(jù)庫的智能化對象,首先在短時間內(nèi)建立系統(tǒng)應(yīng)用原型,然后,對初始原型系統(tǒng)進行需求迭代,不斷修正和改進,直到形成滿意的可行系統(tǒng)。關(guān)鍵詞:網(wǎng)上書店;購物車;電子商務(wù);jsp on-line bookstoreabstractwith the development of network information, network in people's lives more and more widely applied. there

3、 is a growing want in the shortest time possible to purchase books they need. however, many titles to people working in the busy life of the book is a big trouble, so book online has become a matter of people yearn for, the development of this system for people a lot of convenience, so that their ho

4、mes can easily want to buy their own books, is both time and effort. this graduation project's topic is on-line bookstore. the present paper on graduation project's content, elaborated systematically the entire on-line books management system management system's function and realizes. ha

5、s realized from the merchandise control, the classification of goods and the inquiry, realizes to the shopping cart, user order form processing, arrives at the manager system. basically has realized the electronic commerce function flow, can realize the user and the business on-line carries on the c

6、ommodity exchange. this system contact surface simple direct-viewing, simplify operation and use, interactive is strong, completely based on the internet network. after analysis, we use sun's jsp development tools, provided use of its object-oriented development tools, in particular, the data wi

7、ndow can be convenient and simple manipulation of the intelligent object databases, first of all establish a system in a short period of time prototype, and then, on the demand for the initial iteration the prototype system, and constantly revised and improved, until the formation of a viable system

8、 satisfaction.keywords:on-line bookstore;the shopping cart; the business on-line carries;jsp不要刪除行尾的分節(jié)符,此行不會被打印- i -目錄摘要iabstractii第1章 緒論11.1 課題背景11.2 國內(nèi)外研究現(xiàn)狀11.3 研究方法2第2章 開發(fā)工具jsp簡介32.1 java server page 簡介32.2 jsp運行原理32.3 jsp頁面的組成42.4 jsp運行環(huán)境42.5 javabean技術(shù)介紹5第3章 系統(tǒng)需求分析63.1 系統(tǒng)說明63.2 系統(tǒng)功能簡介6第4章 系統(tǒng)設(shè)計74

9、.1 功能模塊74.2 系統(tǒng)設(shè)計思想84.3 系統(tǒng)總體流程94.4 系統(tǒng)架設(shè)94.4.1 開發(fā)環(huán)境94.4.2 建立站點104.5 數(shù)據(jù)庫設(shè)計10第5章 系統(tǒng)實現(xiàn)145.1 編寫javabean145.1.1 數(shù)據(jù)庫操作的javabean的實現(xiàn)145.1.2 字符串處理的javabean的實現(xiàn)145.1.3 保存購物信息的javabean的實現(xiàn)155.2 系統(tǒng)前臺主要功能模塊實現(xiàn)155.2.1 系統(tǒng)前臺首頁設(shè)計155.2.2 重點推薦展臺的實現(xiàn)過程155.2.3 新書上架實現(xiàn)過程175.2.4 圖書分類實現(xiàn)過程175.2.5 用戶管理實現(xiàn)過程185.2.6 購物車實現(xiàn)過程195.2.7 生成訂

10、單實現(xiàn)過程225.2.8 訂單查詢實現(xiàn)過程235.2.9 銷售排行實現(xiàn)過程235.3 系統(tǒng)后臺主要功能模塊設(shè)計245.3.1 后臺登陸實現(xiàn)過程245.3.2 圖書管理頁面實現(xiàn)過程245.3.3 用戶管理實現(xiàn)過程265.3.4 訂單管理實現(xiàn)過程275.3.5 公告管理實現(xiàn)過程285.3.6 推出系統(tǒng)實現(xiàn)過程28第6章 系統(tǒng)測試296.1 測試環(huán)境296.2 測試結(jié)果29結(jié)論31致謝32參考文獻33附錄a34附錄b37附錄c39千萬不要刪除行尾的分節(jié)符,此行不會被打印。在目錄上點右鍵“更新域”,然后“更新整個目錄”。打印前,不要忘記把上面“abstract”這一行后加一空行- iii -第1章 緒

11、論1.1 課題背景隨著internet國際互聯(lián)網(wǎng)的發(fā)展,越來越多的企業(yè)開始建造自己的網(wǎng)站?;趇nternet的信息服務(wù),商務(wù)服務(wù)已經(jīng)成為現(xiàn)代企業(yè)一項不可缺少的內(nèi)容。很多企業(yè)都已不滿足于建立一個簡單的僅僅能夠發(fā)布信息的靜態(tài)網(wǎng)站。現(xiàn)代企業(yè)需要的是一個功能強大的,能提供完善的電子商務(wù)服務(wù)的動態(tài)商務(wù)網(wǎng)站。jsp是sun公司推出的一種網(wǎng)站開發(fā)技術(shù),sun公司借助自己在java上的不凡造詣,又把人們引進jsp時代,jsp即java server page,它可以在servlet和javabean的支持下,完成功能強大的web應(yīng)用程序。jsp網(wǎng)站架設(shè)將成為未來網(wǎng)站架設(shè)的趨勢,而國內(nèi)電子購物網(wǎng)站多數(shù)是用as

12、p,php技術(shù)實現(xiàn)的,而基于jsp的優(yōu)秀網(wǎng)站較少。所以,在我的畢業(yè)設(shè)計中,我采用了jsp作為開發(fā)工具,構(gòu)建了一個能實現(xiàn)簡單的電子商務(wù)的小型動態(tài)商務(wù)網(wǎng)站網(wǎng)上書店系統(tǒng)。該系統(tǒng)能實現(xiàn)用戶的注冊、登錄功能;能夠?qū)崿F(xiàn)商品的查詢,訂購等功能。該系統(tǒng)基本上具備一個網(wǎng)上商品銷售系統(tǒng)應(yīng)該具備的功能,該設(shè)計項目基本上體現(xiàn)了構(gòu)建一個動態(tài)商務(wù)網(wǎng)站所需要的技術(shù),可以說,目前的大型商務(wù)網(wǎng)站也就是我們這個小型網(wǎng)站在內(nèi)容上的擴充和重復(fù)。1.2 國內(nèi)外研究現(xiàn)狀伴隨著internet向我們大踏步走來,國內(nèi)外網(wǎng)上交易已開始逐步普及,電子商務(wù)將成為21世紀主流的商業(yè)模式。網(wǎng)上書店作為電子商務(wù)中的一種,是隨著這些網(wǎng)絡(luò)技術(shù)的發(fā)展而出現(xiàn)的

13、一種新型圖書銷售渠道。它通過人與電子通信方式的結(jié)合,依靠計算機網(wǎng)絡(luò),以通訊技術(shù)為基礎(chǔ),實現(xiàn)圖書銷售的網(wǎng)上交易。網(wǎng)上書店同傳統(tǒng)的店面書店相比,網(wǎng)上書店的經(jīng)營方式和銷售渠道是全新的;它24小時的全天候和全方位服務(wù)是店面書店所不能比及的;成本低廉更是開設(shè)網(wǎng)上書店的主要原因。而與其他商品相比,書籍運送幾乎不怕碰撞碎裂,不具時效性;同時書本具有功能單一,形式簡單,易于判斷和選擇而獨具優(yōu)勢,最適合于網(wǎng)上交易;再次是單價低,降低了消費者第一次在網(wǎng)絡(luò)購物的門檻,所以網(wǎng)上書店成了電子商務(wù)的先鋒?,F(xiàn)在這一切正在朝著更人性化的方向發(fā)展。隨著internet技術(shù)的迅速發(fā)展和日益普及,市場競爭日益激烈,利用網(wǎng)絡(luò)進行服務(wù)

14、和管理已經(jīng)成為一種趨勢.網(wǎng)絡(luò)的發(fā)展給用戶帶來了很大的方便, 風(fēng)起云涌的網(wǎng)站在炒足了"概念"之后,都紛紛轉(zhuǎn)向了"務(wù)實",而"務(wù)實"比較鮮明的特點之一:是絕大多數(shù)的網(wǎng)站都在試圖做實實在在的"網(wǎng)上交易",所謂網(wǎng)上交易就是利用計算機技術(shù)、網(wǎng)絡(luò)技術(shù)和遠程通信技術(shù),實現(xiàn)整個商務(wù)(買賣)過程中的電子化、數(shù)字化和網(wǎng)絡(luò)化,它具有如下優(yōu)勢:1.更廣闊的環(huán)境:人們不受時間的限制,不受空間的限制,不受傳統(tǒng)購物的諸多限制,可以隨時隨地在網(wǎng)上交易。2.更廣闊的市場:在網(wǎng)上這個世界將會變得很小,一個商家可以面對全球的消費者,而一個消費者可以在全

15、球的任何一家超市購物。 3.更快速的流通和低廉的價格:網(wǎng)上超市減少了商品流通的中間環(huán)節(jié),節(jié)省了大量的開支,從而也大大降低了商品流通和交易的成本。4.更符合時代的要求:如今人們越來越追求時尚、講究個性、注重購物的環(huán)境, 網(wǎng)上購物更能體現(xiàn)個性化的購物過程。1.3 研究方法本次畢業(yè)設(shè)計應(yīng)首先分析淘寶網(wǎng)、易趣網(wǎng)等購物網(wǎng)站的相關(guān)功能,結(jié)合本次畢業(yè)設(shè)計的相關(guān)要求寫出需求分析;其次,綜合運用以前所學(xué)的相關(guān)知識(包括計算機網(wǎng)絡(luò)技術(shù)、信息安全、jsp等相關(guān)知識等),選擇所熟悉的開發(fā)工具進行本畢業(yè)設(shè)計的開發(fā);在設(shè)計中以需求分析為基礎(chǔ),寫出系統(tǒng)開發(fā)計劃、實現(xiàn)流程及相關(guān)問題的實現(xiàn)方法。第2章 開發(fā)工具jsp簡介2.1

16、 java server page 簡介jsp(java server pages)是一種建立在servlet規(guī)范提供的功能之上的動態(tài)網(wǎng)頁技術(shù),和asp類似,它們都是在通常的網(wǎng)頁文件中嵌入腳本代碼,用于產(chǎn)生動態(tài)內(nèi)容,不過jsp文件中嵌入的是java代碼和jsp標記。jsp文件在用戶第一次請求時,會被編譯成servlet,然后由這個servlet處理用戶的請求,所以jsp也可以看成是運行時的servlet。1.servlet是java對cgi的回應(yīng)。它們在服務(wù)器上執(zhí)行和解釋瀏覽器的請求,承擔(dān)客戶端和其他應(yīng)用程序之間的中間層的角色。servlet主要是把動態(tài)的內(nèi)容混合到靜態(tài)的內(nèi)容中以產(chǎn)生html。

17、2.jsp頁面在html元素中潛入java腳本代碼和jsp標記,使得文件長度變短,格式更加清晰。另一方面,jsp把靜態(tài)和動態(tài)的內(nèi)容分離開來,實現(xiàn)了內(nèi)容和表示的分離。3.使用jsp,不需要單獨配置每一個文件,只要擴展名是.jsp,jsp容器(也是servlet容器)就會自動識別,將其轉(zhuǎn)換為servlet為客戶端服務(wù)。術(shù)語web容器和jsp容器是同義的。2.2 jsp運行原理在jsp第一次獲得來自于客戶端瀏覽器的請求時,jsp文件將被jsp引擎(jsp engine)轉(zhuǎn)換成一個servlet,即將“.jsp”文件編譯成java class文件。當(dāng)servlet引擎接收到請求后,如果設(shè)置了使用最新的

18、jsp,它就會去找jsp文件,檢查該文件在上次編譯后是否改動過。如果改動過,就會重新編譯生成新的servlet,最終將請求轉(zhuǎn)交給編譯好的servlet引擎執(zhí)行。在編譯時如果發(fā)現(xiàn)jsp文件有任何語法錯誤,轉(zhuǎn)換過程將中斷,并向客戶端發(fā)出出錯信息;如果編譯成功,則所轉(zhuǎn)換產(chǎn)生的servlet代碼被編譯,然后該servlet被jsp引擎加載到內(nèi)存中。此時jsp引擎還請求了jspinit()方法的執(zhí)行,并對此servlet初始化。jspinit()方法在servlet的生命周期中只被請求一次,然后將被調(diào)用來處理客戶端的請求和回復(fù)操作。對于所有隨后對該jsp文件的請求,服務(wù)器將檢查該jsp文件自最后一次被存

19、取后是否經(jīng)過修改。如果沒有修改,則將請求交還給還在內(nèi)存中的servlet的jspservice()方法,執(zhí)行回復(fù)操作。由于servlet始終駐于內(nèi)存,所以響應(yīng)是非常快的。jsp頁面在第一次訪問時由于要轉(zhuǎn)化和編譯,運行速度較慢,但是當(dāng)?shù)诙卧L問該頁時,由于文件已經(jīng)被編譯成字節(jié)碼文件了,所以速度非常得快。2.3 jsp頁面的組成jsp頁面看上去像標準的html和xml頁面,并附帶有jsp引擎能夠處理和解析執(zhí)行的代碼與組件。通常,jsp代碼和組件用于創(chuàng)建在最終頁面上顯示的文本。通常來說,jsp頁面包括編譯指令,聲明,表達式等內(nèi)容。1.編譯指令:使用jsp編譯指令(% 和 %內(nèi)的)來指定所使用的腳本語

20、言,servlet實現(xiàn)的接口,servlet擴展的類,servlet導(dǎo)入的軟件包。jsp指令的一般語法形式為:<% 指令名=“值”%>。2.聲明:用于聲明合法的變量和方法。與任何語言相同,jsp語言使用變量來保存數(shù)據(jù)。這些變量用declaration元素聲明,聲明的語法為<%! declaration(s) %>。當(dāng)頁面被初始化的時候,jsp頁面中的所有聲明都被初始化。除了簡單的變量,方法也能被聲明。聲明不對當(dāng)前的輸出流產(chǎn)生任何影響。3.表達式:通過計算表達式所得到的結(jié)果來表示某個值。表達式的形式為:<%=expression>。表達式求值的結(jié)果被強制轉(zhuǎn)換為

21、一個字符串,并插入到當(dāng)前的輸出流中。2.4 jsp運行環(huán)境要運行jsp(注意,不是瀏覽jsp頁面),需要有支持jsp的服務(wù)器。這里分2種情況:一種是自身就支持jsp的服務(wù)器,如jrun,weblogic,jswdk等;而另一種則是在不支持jsp的服務(wù)器上安裝jsp引擎的插件,如在iis,apache等服務(wù)器上安裝websphere,tomcat,resin等插件。其中主流服務(wù)器是weblogic和tomcat.tomcat服務(wù)器是apache group jakarta小組開發(fā)的一個免費服務(wù)器軟件,適合于嵌入apache中使用,而且,它的源代碼可以免費獲得,你可以自由地對它進行擴充。訪問的地址

22、/tomacat/index.html, tomcat服務(wù)器的兼容性很好,如weblogic服務(wù)器采用其為web服務(wù)器引擎,jbuilder將其作為標準的測試服務(wù)器,sun公司也將其作為jsp技術(shù)應(yīng)用的示例服務(wù)器。不足之處是它的配置比較麻煩,而且有一些安全性的問題沒有解決。但是tomcat服務(wù)器有眾多大軟件公司的支持,而且服務(wù)器的性能穩(wěn)定,其發(fā)展前景很好。2.5 javabean技術(shù)介紹javabean技術(shù)是一種基于java的組件技術(shù),javabean組件可以用來執(zhí)行復(fù)雜的計算任務(wù),或負責(zé)與數(shù)據(jù)庫的交互以及數(shù)據(jù)的提取等,是解決代碼重用問題的一種策

23、略。以前的組件無法實現(xiàn)真正的代碼重用,其主要原因就是它們對于處理平臺的依賴和對開發(fā)語言的依賴過重。由于java語言在這些方面所具有的特點和優(yōu)勢,使得基于它的軟件javabean組件技術(shù)倍受人們的關(guān)注。它的任務(wù)就是:一次編寫,可以在任何地方執(zhí)行,可以在任何地方重用。javabean組件可以在任何地方?jīng)_用包括了可以在應(yīng)用程序、其他組件、文檔、web站點和應(yīng)用程序構(gòu)造器工具等多種方案中再利用。為了創(chuàng)建和使用java軟件組件,javabean被實現(xiàn)為一種獨立于平臺和結(jié)構(gòu)的應(yīng)用程序接口,它的實現(xiàn)可忽略內(nèi)部的結(jié)構(gòu)及細節(jié)問題,只需要定義其外部的特征及對外功能就行。其中,屬性、方法和事件三種接口可以獨立對外進

24、行開發(fā)。javabean的實質(zhì)就是一個.class文件,也可以成為類文件。javabean以binary格式保存,可以保護java源代碼不容易被他人抄襲。第3章 系統(tǒng)需求分析3.1 系統(tǒng)說明本系統(tǒng)是一個中小型的電子商務(wù)系統(tǒng)-網(wǎng)上書店,可以為各類用戶提供方便的在線買書環(huán)境,符合目前國內(nèi)流行的電子商務(wù)模式。用戶可以在系統(tǒng)中實現(xiàn)注冊、瀏覽圖書、搜索查詢圖書、下訂單、處理訂單等功能;管理員可以通過用戶管理、訂單管理、圖書管理、公告管理、投票管理等管理功能來對系統(tǒng)進行維護更新。3.2 系統(tǒng)功能簡介網(wǎng)上書店是一個典型的jsp數(shù)據(jù)庫開發(fā)應(yīng)用程序,由前臺商品展示及銷售、后臺管理2部分組成。1.前臺商品展示及銷

25、售該部分主要包括新書上架、重點推薦、銷售排行、購物車、會員管理、收銀臺及訂單查詢、商品查詢等。2.后臺管理該部分主要對商城內(nèi)的一些基礎(chǔ)數(shù)據(jù)進行有效管理,包括圖書管理、用戶管理、訂單管理、公告管理等。第4章 系統(tǒng)設(shè)計4.1 功能模塊網(wǎng)上書店的前臺功能結(jié)構(gòu)如圖4-1所示。前臺圖書展臺收銀臺會員管理購物車網(wǎng)上調(diào)查重點推薦新書上架訂單查詢銷售排行圖書分類瀏覽網(wǎng)上調(diào)查查看調(diào)查結(jié)果添加至購物車清空購物車移出圖書查看購物車填寫訂單信息購書結(jié)帳會員注冊會員資料修改會員登錄訂單查詢圖4-1 前臺功能結(jié)構(gòu)圖網(wǎng)上書店的后臺功能結(jié)構(gòu)如圖4-2所示。后臺圖書管理用戶管理訂單管理公告管理投票管理退出查看圖書信息添加圖書信

26、息修改圖書信息刪除圖書信息查看用戶信息凍結(jié)/解凍查看訂單信息執(zhí)行訂單查看公告信息添加公告信息刪除公告信息瀏覽投票項目添加投票項目刪除投票項目退出后臺管理圖4-2 后臺功能結(jié)構(gòu)圖4.2 系統(tǒng)設(shè)計思想本系統(tǒng)采用三層架構(gòu)設(shè)計,它的工作原理如圖4-3所示。圖4-3 三層架構(gòu)拓撲圖采用三層構(gòu)架以后,用戶界面層通過統(tǒng)一的接口向業(yè)務(wù)層發(fā)送請求,業(yè)務(wù)層按自己的邏輯規(guī)則將請求處理之后進行數(shù)據(jù)庫操作,然后將數(shù)據(jù)庫返回的數(shù)據(jù)封裝成類的形式返回給用戶界面層。這樣用戶界面層甚至可以不知道數(shù)據(jù)庫的結(jié)構(gòu),它只要維護與業(yè)務(wù)層之間的接口即可。4.3 系統(tǒng)總體流程圖4-4 用戶流程圖由于后臺管理流程圖與用戶流程圖基本相同,因此只

27、例出如圖4-4用戶流程圖。4.4 系統(tǒng)架設(shè)4.4.1 開發(fā)環(huán)境硬件平臺:cpu:p41.8ghz;內(nèi)存:256mb以上;軟件平臺:操作系統(tǒng):windows 2000 server;windows xp;數(shù)據(jù)庫:sql server 2000;開發(fā)工具包:jdk version1.5;jsp服務(wù)器:tomcat 5.5;瀏覽器:ie5.0及以上版本,推薦使用ie6.0;分辨率:最佳效果1024×768;jdbc驅(qū)動: jdbcodbc driver。4.4.2 建立站點在tomcat 5.5webapps文件夾下以網(wǎng)上書店系統(tǒng)的名稱bookshop建立文件夾,然后在bookshop下建

28、立web-inf(注意全部是大寫)文件夾,最后在web-inf下建立classes文件夾,lib文件夾及web.xml保存類文件,需要的包保存儲信息及站點的信息。4.5 數(shù)據(jù)庫設(shè)計本系統(tǒng)數(shù)據(jù)庫采用sql server 2000數(shù)據(jù)庫,系統(tǒng)數(shù)據(jù)庫名稱為db_bookmanage,共包含8張表,根據(jù)項目的需求建立相應(yīng)的數(shù)據(jù)表的設(shè)計結(jié)果如下面所示:表4-1 圖書信息表tb_bookinfo字段名數(shù)據(jù)類型長度允許空說明isbnvarchar15圖書isbn號,主鍵booknamevarchar200圖書名typevarchar50圖書類別名稱publishervarchar100出版社名稱writer

29、varchar100作者introducetext16yes圖書簡介pricemoney8價格pdatevarchar50yes出版日期covervarchar100yes圖書的封面文件名稱intimedatetime8圖書信息錄入時間newbookint4標志是否為新書commendint4yes標志是否推薦該圖書,1為推薦,默認值為0表不推薦表4-2 用戶信息表tb_member字段名數(shù)據(jù)類型長度允許空說明idint4主鍵自動編號,用戶id號usernamevarchar4no用戶名truenamevarchar20no用戶的真實姓名passwordvarchar20用戶密碼cityvar

30、char20所在城市addressvarchar100聯(lián)系地址postcodevarchar6郵政編碼cardnovarchar24yes證件號碼cardtypevarchar20yes證件類型gradeint4yes用戶等級amount money8yes消費金額telvarchar20yes聯(lián)系電話emailvarchar100email地址freezeint4yes是否被凍結(jié),為1表示被凍結(jié),為0表示未被凍結(jié)表4-3 訂單信息明細表tb_order_detail字段名數(shù)據(jù)類型長度允許空說明idbigint8訂單信息明細的自動編號orderidbigint8訂單號isbnvarchar20

31、圖書isbn號pricemoney8單價numerint4購買數(shù)量表4-4 訂單信息主表tb_order字段名數(shù)據(jù)類型長度允許空說明order idbigint8自動編號,訂單編號bnumbersmallint2品種數(shù)usernamevarchar15用戶名truenamevarchar15用戶真實姓名addressvarchar100聯(lián)系地址postcodevarchar10郵政編碼telvarchar20聯(lián)系電話emailvarchar100e-mail地址payvarchar20付款方式carryvarchar20運送方式rebatefloat8折扣orderdatesmalldatet

32、in4訂單日期bzvarchar200yes備注信息enforceint4yes標志是否被執(zhí)行,值1表示已被執(zhí)行,為0表示未被執(zhí)行表4-5 折扣信息表tb_rebate字段名數(shù)據(jù)類型長度允許空說明gradevarchar20自動編號,等級amountmoney8消費金額rebatefloat8打折比率表4-6 管理員信息表tb_manager字段名數(shù)據(jù)類型長度允許空說明idint4自動編號managervarchar30管理員名稱pwdvarchar30 密碼表4-7 公告信息表tb_bbs字段名數(shù)據(jù)類型長度允許空說明idint4自動編號contentvarchar4000公告內(nèi)容intime

33、datetime8 yes公告的內(nèi)容,默認值為getdate()表4-8 投票信息表tb_poll字段名數(shù)據(jù)類型長度允許空說明idint4自動編號optionnamevarchar50投票項目pollint4票數(shù),默認為0第5章 系統(tǒng)實現(xiàn)5.1 編寫javabean根據(jù)系統(tǒng)的需求編寫需要的javabean。下面將給出網(wǎng)上書店需要的javabean的編寫過程。5.1.1 數(shù)據(jù)庫操作的javabean的實現(xiàn)在系統(tǒng)開發(fā)過程中經(jīng)常需要對數(shù)據(jù)庫操作,這就需要連接數(shù)據(jù)庫和操作數(shù)據(jù)庫(包括數(shù)據(jù)的插入,更新,刪除和查詢等),數(shù)據(jù)庫操作的javabean是一個公共類,通常包括連接數(shù)據(jù)庫的方法getconnect

34、ion、執(zhí)行查詢語句的方法executequery、執(zhí)行更新操作的方法executeupdate、關(guān)閉數(shù)據(jù)庫連接的方法close。因此程序開發(fā)就可以將連接數(shù)據(jù)庫和操作數(shù)據(jù)庫的代碼寫成了一個javabean “conndb.java”,編寫完成后將其源代碼放到tomcat 5.5webappsbooksupermarketweb-infsrcbeans文件夾中。1.指定javabean“conndb”保存的包,并導(dǎo)入所需的類包,并將其保存到“beans”包中。2.在構(gòu)造方法conndb中定義該類中所需的變量。通常將方法中常用的變量均放在構(gòu)造方法中。3.創(chuàng)建執(zhí)行查詢語句的方法executequer

35、y,返回值為resultset結(jié)果集。4.創(chuàng)建執(zhí)行更新操作的方法executeupdate,返回值為int型的整數(shù),代表更新的行數(shù)。5.創(chuàng)建執(zhí)行更新操作,并返回該操作中自動編號字段的自動編號的方法executeupdate_id。6.創(chuàng)建關(guān)閉數(shù)據(jù)庫連接的方法close。7.編譯conndb.java,用“javac conndb.java”,生成conndb.class,將其放到tomcat 5.5webappsbookshopweb-infclassesbeans文件夾中。5.1.2 字符串處理的javabean的實現(xiàn)字符串處理的javabean是解決程序中經(jīng)常出現(xiàn)的有關(guān)字符串處理問題的方法

36、的類。包括將數(shù)據(jù)庫中及頁面中有中文問題的字符串進行正確的顯示和存儲的方法chstr和將字符串中的回車換行、空格及html標記符正確顯示的方法convertstr兩個方法。下面是編寫網(wǎng)上圖書超市的字符串處理的javabean“chstr”的詳細過程。1.編寫解決輸出中文亂碼問題的方法chstr。2.接著編寫顯示文本中的回車換行、空格及保證html標記的正常輸出的方法convertstr。5.1.3 保存購物信息的javabean的實現(xiàn)在購物車程序中需要使用一個bookelement對象保存所選圖書信息,生成該對象的javabean “bookelenent.java”程序代碼。5.2 系統(tǒng)前臺主

37、要功能模塊實現(xiàn)5.2.1 系統(tǒng)前臺首頁設(shè)計根據(jù)前期的分析及客戶的要求,網(wǎng)上書店的前臺主要包括重點推薦展臺,新書上架,圖書分類,圖書查詢,用戶管理,購物車,訂單生成,訂單查詢和銷售排行等模塊。在網(wǎng)上書店前臺首頁的運行結(jié)果如下圖5-1所示。圖5-1 首頁5.2.2 重點推薦展臺的實現(xiàn)過程1.在網(wǎng)站前臺的居中位置,分欄列出了推薦的圖書信息,主要包括圖書封面,名稱,出版社,作者及定價等信息。同時列置了“添加至購物車”按鈕和“查看”按鈕,分別用于將圖書添加至購物車和查看圖書的詳細信息。重點推薦圖書信息同圖書基本信息同時保存在圖書信息表tb_bookinfo中,以字段commend標識,當(dāng)commend字

38、段的值為1時,代表該圖書為重點推薦圖書。查詢重點推薦圖書的代碼如下:<%resultset rs_book=conndb.executequery("select * from tb_bookinfo where commend=1");%>這里需要注意的是,“添加購物車”按鈕只有在用戶登錄后才可以顯示,即是只有登錄的用戶才可以購買圖書。2.根據(jù)圖書的isbn號查詢圖書的詳細信息,圖書詳細頁面的運行結(jié)果如圖5-2所示。圖5-2 圖書簡介在book_detail.jsp頁面中首先查詢符合isbn值的圖書信息,關(guān)鍵代碼如下:<%resultset rs=con

39、ndb.executequery("select * from tb_bookinfo where isbn='"+request.getparameter("isbn")+"'");%>將查詢結(jié)果顯示到頁面中,此時需要對“圖書簡介”進行處理,以便正確顯示回車換行和空格符。關(guān)鍵代碼如下:<% if(rs.next() /注意:此處只能按照字段的順序讀取 string isbn=rs.getstring("isbn"); string bookname=rs.getstring("

40、;bookname");string publisher=rs.getstring("publisher");string writer=rs.getstring("writer");string introduce=chstr.convertstr(rs.getstring("introduce");int price=rs.getint("price");string pdate=rs.getstring("pdate");string cover=rs.getstring(&qu

41、ot;cover"); %> /此處省略了顯示圖書信息的html代碼 <%>5.2.3 新書上架實現(xiàn)過程在前臺首頁中,單擊“新書上架”超鏈接可以進入到新書上架頁面newbook.jsp,運行結(jié)果如圖5-3所示。圖5-3 新書上架上架新書消息保存在圖書信息表tb_bookinfo中,以字段newbook標志,當(dāng)newbook字段的值為1時,代表該圖書為上架新書。上架新書頁面關(guān)鍵代碼:<%resultset rs_newbook=conndb.executequery("select * from tb_bookinfo where newbook=1

42、order by intime desc");%>5.2.4 圖書分類實現(xiàn)過程為了方便用戶查詢所需圖書信息,在網(wǎng)站中設(shè)置了圖書分類顯示模塊。單擊導(dǎo)航條中的“圖書分類”超鏈接即可進入圖書分類顯示頁面,在該頁面左的“圖書分類列表”中列出數(shù)據(jù)庫中的全部圖書類別,用戶單擊即可在右顯示該圖書信息列表,單擊書名可以查看相應(yīng)圖書的詳細信息,如果用戶已經(jīng)登錄,還可以直接將圖書信息添加到購物車中,圖書分類顯示頁面的運行結(jié)果如圖5-4所示。圖5-4 圖書分類在圖書分類頁面booksort.jsp左的“圖書分類列表”中列出了數(shù)據(jù)庫中的全部圖書類別,查詢圖書類別主要通過select語句的group b

43、y字句實現(xiàn),具體過程:<%resultset rs_type=conndb.executequery("select type from tb_bookinfo group by type");%>顯示圖書分類信息時,需要注意的是,不能再使用while語句,而應(yīng)該使用dowhile語句,否則少一條記錄,這是因為在指定圖書默認類別時,已經(jīng)應(yīng)用rs_type.next()語句將記錄指針移動到下一條記錄了,顯示圖書分類信息的關(guān)鍵代碼:<%rs_type.first();do/此處必須用do.while,否則會少一條記錄string type=rs_type.ge

44、tstring("type");%> /此處省略填寫訂單信息代碼<%while (rs_type.next();%>在圖書分類頁面booksort.jsp的右側(cè)的圖書列表中將顯示指定類別的圖書信息。當(dāng)用戶沒有選擇類別,可以通過獲取類別結(jié)果集rs_type中的第一條記錄的值指定默認類別,否則應(yīng)用request對象的getparameter方法來獲取選擇的類別并查詢,部分代碼:string ptype=""if (request.getparameter("type")!=null)ptype=chstr.chstr(r

45、equest.getparameter("type");elseif(rs_type.next()ptype=rs_type.getstring("type");elseresponse.sendredirect("index.jsp");resultset rs_book=conndb.executequery("select * from tb_bookinfo where type='"+ptype+"'");%>5.2.5 用戶管理實現(xiàn)過程用戶管理主要包括用戶注冊,

46、用戶登錄,用戶個人資料修改,由于用戶個人資料修改比較簡單,不多做說明。1.用戶注冊為了統(tǒng)一管理,系統(tǒng)規(guī)定只有會員才能購買圖書,所以要購買圖書的新用戶必須先進行用戶注冊。用戶注冊的入口位置在網(wǎng)站首頁的左側(cè)。用戶點擊“注冊”即可進入用戶注冊頁面,如圖5-5所示。圖5-5 用戶注冊網(wǎng)站要求用戶名必須唯一,用戶可以先看自己的用戶名是否被注冊。由于是網(wǎng)絡(luò)程序,所以注冊后在保存用戶信息時候,還需要再次對注冊用戶進行檢測。如果不存在,則保存該用戶信息。否則提示該名用戶已經(jīng)被注冊,請重新注冊。保存用戶注冊信息頁面register_deal.jsp。2.用戶登錄用戶登錄窗口如圖5-6所示。 圖5-6 用戶登錄如

47、果用戶輸入的用戶名存在,并且凍結(jié)字段的值不為1,則判斷用戶輸入的密碼是否正確,如果密碼也正確,則成功登錄,否則提示登錄失敗。5.2.6 購物車實現(xiàn)過程購物車主要包括所選圖書的添加,查看購物車,單件圖書購買數(shù)量的修改,清空購物車4部分。1.添加到購物車cart_add.jsp主要采用vector類型的變量cart來存儲購物數(shù)據(jù)的,被保存在session中,然后將圖書信息保存到cart中,主要代碼:string isbn=chstr.chstr(request.getparameter("isbn");string sql="select * from tb_book

48、info where isbn='"+isbn+"'"resultset rs=conndb.executequery(sql);float price=0;if(rs.next()price=rs.getint("price");bookelement mybookelement=new bookelement();mybookelement.isbn=isbn;mybookelement.price=price;mybookelement.number=1;boolean flag=true;vector cart=(vec

49、tor)session.getattribute("cart");if(cart=null)cart=new vector();elsefor(int i=0;i<cart.size();i+)bookelement bookitem=(bookelement)cart.elementat(i);/當(dāng)cart中已經(jīng)存在所添加的圖書信息時,只將數(shù)量加1if(bookitem.isbn.equals(mybookelement.isbn) /此處必須用equals方法,不能用=bookitem.number+;cart.setelementat(bookitem,i);f

50、lag=false;if(flag)cart.addelement(mybookelement);session.setattribute("cart",cart);/將cart保存到session中rs.close();response.sendredirect("cart_see.jsp");%>2.查看購物車查看購物車頁面cart_see.jsp的頂部首先需要判斷購物車是否為空,如果為空將頁面直接跳轉(zhuǎn)到購物車為空頁面cart_null.jsp,否則顯示購物車信息。顯示購物車信息主要是將保存在session中的數(shù)據(jù)利用for語句輸出到ie中,同

51、時根據(jù)圖書的定價,購買數(shù)量自動計算每種圖書的金額和購物車中的全部圖書的合計金額。代碼如下:vector cart=(vector)session.getattribute("cart");if(cart=null | cart.size()=0)response.sendredirect("cart_null.jsp");else/此處插入顯示購物車信息的代碼,將在下面給出%> /此處省略填寫訂單信息代碼<%float sum=0;float pric=0;string isbn=""string bookname=&qu

52、ot;"string publisher=""for(int i=0;i<cart.size();i+)/此處獲取購物車中的一條圖書信息bookelement bookitem=(bookelement)cart.elementat(i);sum=sum+bookitem.number*bookitem.price;isbn=(string)bookitem.isbn;if (isbn!="")resultset rs_book=conndb.executequery("select * from tb_bookinfo whe

53、re isbn='"+isbn+"'");if (rs_book.next()bookname=rs_book.getstring("bookname");%> /此處省略填寫訂單信息代碼 <script language="javascript"><!-function check()if(isnan(form1.num<%=i%>.value)alert("請不要輸入非法字符");return false;history.back();if(form

54、1.num<%=i%>.value="")alert("請輸入修改的數(shù)量");return false;history.back();->圖5-7 購物車如圖5-7由于在購物車中并沒有保存圖書的名稱,所以在獲取圖書信息時,還需根據(jù)圖書的isbn號重新到數(shù)據(jù)表中查圖書名稱,代碼如下: resultset rs_newbook=conndb.executequery("select * from tb_bookinfo where isbn=“+ isbn+”);if(re_book.next()bookname=re_book.

55、getstring(“bookname”);3.從購物車中移去指定圖書實現(xiàn)從購物車中移去指定圖書可以通過vector類的removeelementat(int index)方法實現(xiàn),非常方便。頁面cart_move.jsp代碼為:vector cart=(vector)session.getattribute("cart");trystring id=request.getparameter("id");int id=integer.parseint(id);cart.removeelementat(id);/移去指定圖書信息session.setatt

56、ribute("cart",cart);response.sendredirect("cart_see.jsp");catch(exception e)%>4.清空購物車實現(xiàn)的方法很簡單,只需要將保存在session中的購物信息清空即可,清空購物車頁面cart_clear.jsp代碼為:session.removeattribute("cart");response.sendredirect("cart_null.jsp");5.2.7 生成訂單實現(xiàn)過程生成訂單時,不但要保存用戶訂單中所購買的圖書信息和訂單信息,同時還需要返回一個可供用戶隨時查詢的唯一訂單號。用戶查看購物車頁面中的“去收銀臺結(jié)帳”超連接即可進入到收銀臺頁面填寫訂單信息,在該頁面中系統(tǒng)會根據(jù)用戶登錄的用戶名自動填寫用戶基本信息,除用戶名不可更改外,其他的均可修改,收銀臺頁面的運行結(jié)果如圖5-8所示。圖5-8 收銀臺在收銀臺頁面cart_checkout.jsp中,首先應(yīng)用判斷用戶是否已經(jīng)購物,然后再判斷用戶是否登錄,如果用戶沒有購物或是沒有登錄都將給予提示并返回到網(wǎng)站首頁。關(guān)鍵代碼為:<%if(session.getattribute("

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論