網上購書系統(tǒng)畢業(yè)論文_第1頁
已閱讀1頁,還剩47頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、<p><b>  畢業(yè)設計論文</b></p><p><b>  題目:網上購書系統(tǒng)</b></p><p>  二級學院 商學院 </p><p>  專 業(yè) 電子商務 </p><p>

2、;  年 級 2008級 </p><p>  學生姓名 </p><p>  學 號 </p><p>  指導教師

3、 </p><p>  完稿時間 2012.4.29</p><p><b>  網上購書系統(tǒng)</b></p><p>  摘要:本網上購書系統(tǒng)是一個基于Internet,采用了B2C(Business to Consumers)模式,并根據現有的網上購物系統(tǒng)的現狀而設計開發(fā)的電子商務平臺。它不但可以擴

4、大商家的規(guī)模和市場影響力,而且可以</p><p>  減少企業(yè)的經營成本,提高工作效率。</p><p>  本文首先介紹了網上購書系統(tǒng)的開發(fā)背景,然后論述網上購書系統(tǒng)的現狀和發(fā)展,較詳細地論述了系統(tǒng)的分析,設計和實現。</p><p>  本系統(tǒng)主要為用戶提供了注冊和登錄,查看書籍,購物車管理,確認購買書籍信息管理,生成訂單管理; 為管理員提供了書籍管理,修改書

5、籍管理,訂單管理等。</p><p>  在設計方面,本系統(tǒng)采用B/S三層 結構,主要應用了JSP技術和Servlet技術進行動態(tài)頁面的設計,從系統(tǒng)的安全性和代碼的可重用性方面考慮,后臺數據庫選用了Mysql數據庫。</p><p>  關鍵詞 購書系統(tǒng)、B/S三層結構(刪掉)、JSP、Servlet、Mysql</p><p><b>  目錄</

6、b></p><p>  1. 網上購書系統(tǒng)緒論3</p><p>  1.1 系統(tǒng)開發(fā)背景3</p><p>  1.1.1網上書店系統(tǒng)發(fā)展3</p><p>  1.1.2網上書店系統(tǒng)發(fā)展現狀3</p><p>  1.1.3網上書店的優(yōu)越性4</p><p>  1.2 系

7、統(tǒng)實現的目標4</p><p>  2. 網上購書系統(tǒng)分析4</p><p>  2.1系統(tǒng)設計目標4</p><p>  2.2系統(tǒng)的可行性分析4</p><p>  2.3系統(tǒng)設計的特點5</p><p>  2.4系統(tǒng)的功能需求分析5</p><p>  2.5系統(tǒng)設計的總體規(guī)

8、則6</p><p>  3.系統(tǒng)主要架構及開發(fā)技術6</p><p>  3.1基于B/S的體系結構6</p><p>  3.2開發(fā)技術的選擇7</p><p><b>  4.系統(tǒng)設計7</b></p><p>  4.1系統(tǒng)功能模塊設計7</p><p>

9、;  4.1.1前臺功能和后臺功能模塊7</p><p>  4.1.2注冊功能流程8</p><p>  4.1.3用戶登錄流程9</p><p>  4.1.4書籍查看流程10</p><p>  4.1.5購物車流程11</p><p>  4.1.6書籍管理流程12</p><p

10、>  5.系統(tǒng)功能的具體實現12</p><p>  5.1系統(tǒng)數據庫表的基本設計14</p><p>  5.1.1 E-R圖15</p><p>  5.1.2所用表16</p><p>  5.2 功能總體說明19</p><p>  5.2.1功能頁面結構19</p><p

11、>  5.2.2主要功能流程圖:19</p><p>  5.3各功能模塊的實現20</p><p>  5.3.1登錄和注冊功能模塊20</p><p>  5.3.2查看書籍模塊23</p><p>  5.3.3查看書籍詳情信息模塊23</p><p>  5.3.4購物車功能模塊26</

12、p><p>  5.3.5確認信息模塊30</p><p>  5.3.6生成訂單模塊33</p><p>  5.3.7 后臺管理模塊34</p><p>  5.3.8書籍管理功能模塊的圖片如下:36</p><p>  5.3.9訂單管理功能模塊42</p><p>  6.開發(fā)平臺

13、與開發(fā)工具43</p><p>  6.1網上購書系統(tǒng)的開發(fā)軟件44</p><p>  6.6.1 Dreamweaver44</p><p>  1.6.2 Mysql45</p><p><b>  總結與展望45</b></p><p><b>  參考文獻46<

14、;/b></p><p><b>  致 謝46</b></p><p><b>  目錄格式需設置</b></p><p>  1. 網上購書系統(tǒng)緒論</p><p>  1.1 系統(tǒng)開發(fā)背景</p><p>  1.1.1網上書店系統(tǒng)發(fā)展

15、 第一章 需另起一頁,且在正面開始打??;其余各章需另起一面</p><p>  Internet的迅速發(fā)展正以前所未有的深度和廣度影響和改善著人類生活的各個方面,越來越多的人開始意識到Internet 所蘊含的經濟價值的無窮商機,并積極投身于電子商務活動。實際上,電子商務是一些商業(yè)行為的電子化,例如網上書店,網上貿易,就網上書店來說,網上書店是目前應用最廣,最成功的典范之一,網上書店的崛起對傳統(tǒng)的圖

16、書流通體系產生了強烈的沖擊,有效地縮短了圖書流通發(fā)行環(huán)節(jié),將擴大讀者,圖書,出版者,發(fā)行者緊密地結合在一起,大大提高了圖書流通率。 </p><p>  1.1.2網上書店系統(tǒng)發(fā)展現狀 </p><p>  西方國家網上書店概況:世界上第一家網上書店是1991年在美國聯(lián)機公司AOL采購網絡上建立的“閱讀美國書店”,目前最負勝名的是美國西雅圖亞馬孫圖書公司的亞馬孫網上書店。它創(chuàng)建于1995年

17、,供書品達310余萬種年,顧客達500萬人次,其價格優(yōu)惠20-50%。金融結算制度完善,配送服務高效。實現了零庫存運轉。英國網上書店較著名的有Internet書店,德國的網上書店主要有圖書在線網上書店。 注明出處</p><p>  國內網上書店的概況:自從亞馬孫網上書店成功后,中國的網上書店也建立起來。中國最早的網上書店是1997年在杭州新華書店誕生的,在經過年余的艱苦經營,接待了400多位訪問者后,悄然引退,

18、而進入1998年后,作為中國書業(yè)傳統(tǒng)經營力量的新華書店,正式宣布進入網絡領域,先試第九屆全國書市首次開通書店網站,后來在1998年12月30日上海書城成為國內首家正規(guī)的網上書店,讀者在家中可以上網完成瀏覽,選購,付款的全過程。1999年是網上書店迅速發(fā)展的一年,商業(yè)公司不斷進入網上書店有超過幾百家,有自己網站的公司有40多家,這個數目還不斷增加。注明出處</p><p>  1.1.3網上書店的優(yōu)越性 </

19、p><p>  網上書店在價格,時效性,品種,查詢方式等方面都有優(yōu)勢。網上書店是一種直銷方式,在到書速度和價格上都有優(yōu)勢,網上書店的書目數據是任何訂購書目是無法比擬的,網上書店的數目除書名,著者,價格等信息外,還有封面,內容簡介,目次,評論等詳細信息。同時網上書店的目錄查詢功能也是傳統(tǒng)的按某種分類規(guī)則編排的圖書征訂目錄無法比擬的,(改用實體書店)其以關鍵詞或主題從網上檢索某類文獻,查準率與查全率都有一定的保障。另外還

20、有一些書更是以網站包銷或總代理的形式進行銷售,這就意味著一種全新的電子商務模式的開始。</p><p>  1.2 系統(tǒng)實現的目標(本論文的主要任務)</p><p>  現在流行的網上購書系統(tǒng)不僅要有漂亮的網頁,更有嚴謹的規(guī)劃,注重每一個細節(jié)的環(huán)節(jié)。這樣才能使得電子交易時避免不必要錯誤發(fā)生,我使用HTML、JSP等技術來編輯網頁,并運用JDBC技術把數據庫和動態(tài)網頁相關聯(lián)。傳統(tǒng)的管理信息

21、系統(tǒng)信息獲取方法是由專業(yè)文字錄入人員將信息輸入到管理系統(tǒng)的數據庫中,這種方法在數據量不大時有很多的應用場合。當數據量比較大,并且有較強的專業(yè)性,錄入的費用和出錯的可能性都相應上升。本設計在實際應用中的解決方案是建立網站,以及自己的數據庫,使得所需商品信息可以及時的保存、更新,可以更好的及時了解書籍的買賣情況。(修改,移到第二章 2.1)</p><p>  2. 網上購書系統(tǒng)分析</p><p

22、><b>  2.1系統(tǒng)設計目標</b></p><p>  本購書系統(tǒng)由于需要演示程序,故為了演示方便,采用JSP/Servlet+Mysql+tomcat的架構實現,此系統(tǒng)分為前后臺管理和后臺管理。前臺管理是友好的操作界面,供用戶瀏覽,查詢使用。包括瀏覽書籍、查詢書籍、訂購書籍。購物車等功能;后臺管理是提供管理員的,其中包括:書籍管理、用戶管理、使管理員從繁瑣的手工操作中解脫出來,

23、并提高了辦公效率。(修改,移到1.2中)</p><p>  2.2系統(tǒng)的可行性分析</p><p>  系統(tǒng)可行性分析的目的就是要用最小的代價在盡可能短的時間內確定問題是否能夠解決,系統(tǒng)方案在經濟上、技術上和操作上等是否可以實現和接受。因此,可行性研究實質上是要進行一次大大壓縮簡化了的系統(tǒng)分析和設計的過程,也就是在較高層次上以較抽象的方式進行系統(tǒng)分析和設計的過程。</p>

24、<p>  1)四級標題(1)技術可行性</p><p>  本系統(tǒng)運行在windows上,硬件上不存在問題。實現技術上,采用較經典的基于MVC的web框架;web層使用具有Apache的一個開源框架,數據庫使用Mysql5.1版。部署在Tomcat上運行。所有這些技術和產品都已較為成熟,技術可行性應該是沒有問題的。</p><p><b> ?。?)經濟可行性<

25、/b></p><p>  從緒論中的可以看到,網上書店從計劃到系統(tǒng)實現,我們所使用的所有技術都是免費開源的。從硬件角度來看,一個小型的網上書店只需要一臺裝有windows系統(tǒng)的電腦,這樣就可以滿足要求,可以說運行的成本是十分低廉的;但同時帶來的效益完全可以有利可圖。因此經濟上也是可行的。</p><p><b>  (3)操作可行性</b></p>

26、<p>  本系統(tǒng)的界面操作都較為簡潔、方便,完全可以滿足一般人群的操作需求。不用太多的計算機知識,友好的圖形和提示可以上新手盡快上手。</p><p><b>  (4)法律可行性</b></p><p>  該平臺是作為畢業(yè)設計與商業(yè)無關,又因為是自主開發(fā)設計,因此不會構成他人利益沖突和侵權,在法律上是可行的。</p><p>

27、;  綜上所述,本購書系統(tǒng)中技術上、經濟上、操作上和法律上都是可行的。</p><p>  2.3系統(tǒng)設計的特點</p><p>  我所設計和開發(fā)的網上購書系統(tǒng)試經過很長時間的調查和分析才開始具體實施的,它的主要特點是改變了以往的購物只能過現實的書店才能達到的結果,采用Web技術,借助于Internet 互聯(lián)網廣泛應用技術,達到資源共享,提高以往購書(建議改為實體書店)的局限性,縮短人們

28、的時間和提高工作效率,具有較好的交互性,從而實現信息化,規(guī)范化,系統(tǒng)化,網絡化的平臺,使整個購書活動過程簡單、方便、易行。</p><p>  2.4系統(tǒng)的功能需求分析</p><p>  本設計把頁面中一些常用的部分集成模塊,這樣設計新的頁面是如果有重復出現的部分,只需要拿現成的模塊來組裝就可以了。設計對數據庫的調用采用三層架構設計,對于需要連接數據庫的頁面,通過統(tǒng)一的數據庫調用管理,給

29、頁面分配連接,這樣就方便了對數據庫的 調用和管理,同時使得對數據庫的調用不會產生擁塞,并且在一定程度上增加了數據庫的安全性。網上購書系統(tǒng)要求模擬現實中的買書場景,我們以此來進行需求分析。</p><p><b> ?。?)基本業(yè)務功能</b></p><p>  用戶可以注冊登錄網站,可以對自己的個人信息進行修改,瀏覽查找自己所需要的書籍,在線購書,添加到購物車,在購

30、物車中可以添加刪除數據,查看購物車中內容,下訂單并整理。</p><p> ?。?)基本數據維護功能 把1,2改成從系統(tǒng)的幾類用戶功能分析入手</p><p>  管理員可以對所有書籍進行管理,包括添加、刪除、更新等操作;對會員可以進行查看、修改、刪除等操作;圖書管理和訂單處理。</p><p>  分析完畢后,應該有分析結果,也就是說應該有系統(tǒng)的功能結構圖<

31、;/p><p>  2.5系統(tǒng)設計的總體規(guī)則</p><p>  我自己做的系統(tǒng)的主要設計規(guī)則有:注意以下敘述不專業(yè),要有點文采,記住你現在是在寫論文</p><p>  簡單性:在實現平臺的功能的同時,盡量讓平臺操作簡單易懂,這對于一個網站來說是非</p><p>  常重要的。 比如說上面的話,你就應該寫在系統(tǒng)界面友好,比較人性化等</

32、p><p>  針對性:該平臺設計是網上購書系統(tǒng)及后臺管理的定向開發(fā)設計,所以具有專業(yè)突出和很強的針對性。實用性:該平臺能完成電子書籍展示和管理員管理的基本信息,具有良好的實用性。</p><p>  3.系統(tǒng)主要架構及開發(fā)技術</p><p>  3.1基于B/S的體系結構 </p><p>  網上購書這種基于Web的系統(tǒng),傳統(tǒng)的C/S架構

33、已經不能滿足大量用戶的訪問和操作,B/S基于瀏覽器的架構則是目前網絡系統(tǒng)應用的主流,用戶通過瀏覽器向分布在網絡上的許多服務器發(fā)出請求,服務器對瀏覽器的請求進行處理,將用戶所需信息返回到瀏覽器。B/S 結構簡化了客戶機的工作,客戶機只需配置少量的客戶端軟件。服務器將擔負更多的工作,對數據庫的訪問和應用程序的執(zhí)行將在服務器上完成。瀏覽器發(fā)出請求,而其余如數據請求、加工、結果返回以及動態(tài)網頁生成等工作全部有Web Sever 完成。實際上B/

34、S體系結構是把二層C/S結構的事務處理邏輯模塊從客戶機的任務中分離出來,由Web服務器單獨組成一層來負擔其任務,這樣客戶機的壓力減輕了,把負荷分配給了Web服務器。這種三層體系結構如圖3-1所示</p><p>  3.2開發(fā)技術的選擇 </p><p>  合理的選擇開發(fā)技術,對于網站開發(fā)的完成情況有著非常重要的影響。要開發(fā)一個網站,首先要選擇一個動態(tài)網頁開發(fā)技術。我覺得在傳統(tǒng)的HTM

35、L代碼中,利用HTML標簽的擴展,構成頁面,JSP的綜合實力是最強的,所以就選擇基于JAVA的JSP技術/Servlet技術和javascript腳本語言等作為動態(tài)網頁的開發(fā)技術。</p><p>  接著介紹Jsp的優(yōu)點和mysql的優(yōu)點</p><p><b>  4.系統(tǒng)設計</b></p><p>  通過上述分析,在建網上購書系統(tǒng)之前

36、,先對數據庫進行分析,設計好系統(tǒng)的功能模塊,并建好系統(tǒng)所需的數據庫及要用到的一些表。</p><p>  4.1系統(tǒng)功能模塊設計</p><p>  4.1.1前臺功能和后臺功能模塊 </p><p>  根據上述各項功能的分析,可以畫客戶界面、管理員界面的功能模塊圖。功能模塊分為用戶功能模塊和管理員功能模塊,用戶登陸后的主要功能是實現網上購書,管理員功能模塊主要是

37、實現管理員對書店的管理,如用戶管理、圖書管理、訂單管理等。</p><p>  功能圖不精練,我想你應該從不同用戶身份有不同的功能來畫這個圖,而且這個圖有點累贅,買書一定要用戶注冊嗎?也許我就是看客,也要注冊嗎?</p><p>  此圖應該在2.4功能圖中有所體現,改變一下形式后放在2.4中</p><p>  圖4-2 管理員界面后臺系統(tǒng)管理功能模塊</p

38、><p><b>  將此圖與上圖合并</b></p><p>  4.1.2注冊功能流程象這種細節(jié)介紹,應該是先給界面,再給其功能,然后給流程圖,最后給出代碼2)最好讓系統(tǒng)設計與實現合為一章來寫</p><p>  如圖4-1-2所示:圖需重畫</p><p><b>  圖4-1-2</b><

39、/p><p><b>  注冊的具體實現為:</b></p><p>  點擊主頁面的用戶注冊選項后,會彈出一個注冊信息頁面,用戶需要如實填寫用戶名,密碼,真實姓名,E_mail,電話,地址,郵編等各項信息,提交后,系統(tǒng)進行檢測判斷該用戶名是否注冊過,如果已經存在則彈出新頁面,提示用戶該用戶名已經注冊過,如果沒有則進行下一步判斷,用戶輸入的兩次密碼是否一致,然后依次往后判

40、斷用戶所填的各項信息是否符合要求,直到所有信息均正確無誤,系統(tǒng)將提示用戶注冊成功,用戶登陸后,就可以進行有效的購物了。</p><p>  4.1.3用戶登錄流程 (照上面的修改,以下亦同)</p><p>  如圖4-1-3所示:</p><p><b>  圖4-1-3</b></p><p>  用戶登錄,首先要有

41、一個提供用戶登錄的表單。用戶登錄的表單應該嵌入整體的結構中。在實際的應用中,可以這樣設計,如果用戶沒有登錄,則在頁面中顯示用戶登錄的選項,用戶要有一個用戶名和密碼。商務網站需要很高的穩(wěn)定性和安全性,因此對用戶名不允許使用惡意的代碼作為用戶命。同時對密碼也要求保密,將密碼加密后再存入數據庫。</p><p>  4.1.4書籍查看流程(照上面的修改,以下亦同)</p><p>  如圖4-1

42、-4所示:</p><p><b>  圖4-1-4</b></p><p>  書籍查看功能使用進入書籍列表進行選擇書籍,節(jié)省時間,提高效率,查看書籍詳情,滿意則進入下訂單 。</p><p>  4.1.5購物車流程(照上面的修改,以下亦同)</p><p>  如圖4-1-5所示:</p>

43、<p><b>  圖4-1-5</b></p><p>  購物車具體的實現可采用這種形式:1.列出商品的列表,使用戶能夠自由選擇所需要的書籍。2.當用戶在點擊"添加到購物車“的鏈接時,執(zhí)行如下功能:</p><p>  檢查用戶購物車類是否存在。如不存在,則建立,并注冊;在有用戶購物車類存在的情況下,</p><p>

44、;  檢查該類中是否有該書籍。如存在,則書籍數量相應加1;如沒有該書籍,則將該書籍添加到該購物車中。</p><p>  4.1.6書籍管理流程</p><p>  如圖4-1-6所示 </p><p><b>  圖4-1-6</b></p><p>  在該功能里管理員可以進行不需要的書籍的刪除,在這里管理員當然也可

45、以瀏覽到書籍的詳細信息。并且比普通用戶在瀏覽書籍里所看到的書籍信息多一個該書籍在數據庫中。</p><p>  5.系統(tǒng)功能的具體實現 (與第4章合在一塊寫)</p><p>  5.1系統(tǒng)數據庫表的基本設計</p><p>  數據庫在一個信息管理系統(tǒng)中占有非常重要的地位,數據庫結構設計的好壞將直接對應用系統(tǒng)的效率,以及實現的效果產生影響。合理的數據庫結構設計可以

46、提高數據存儲的效率,保證數據的完整和一致。用戶的需求具體體現在各種信息的提供,保存,更新和查詢,這就要求數據庫結構能充分滿足各種信息的輸出和輸入.收集基本數據,數據結構以及數據處理的流程。</p><p>  通過上述系統(tǒng)功能分析,針對一般在線書店的需求,總結出如下需求信息。</p><p>  用戶分一般用戶和管理員。</p><p>  訂單只能生成總的訂單。&

47、lt;/p><p>  每一本圖書都從屬一種類型。</p><p>  一個用戶可以購買多本圖書。</p><p>  一個用戶對應一張定單列表。</p><p>  根據上面的設計規(guī)劃出的實體有:管理員信息實體、用戶信息實體、圖書實體、圖書分類實體、訂單實體、訂單列表實體。</p><p>  5.1.1 E-R圖<

48、;/p><p><b>  什么是E—R圖?</b></p><p>  圖2-1 實體之間關系E-R圖</p><p><b>  這叫實體——屬性圖</b></p><p>  圖2-2 管理員信息E-R圖</p><p>  圖2-3訂單列表E-R圖</p>

49、<p>  圖2-4 圖書E-R圖</p><p>  圖2-5 訂單列表E-R圖</p><p>  圖2-6 用戶信息E-R圖</p><p>  圖2-7 訂單E-R圖</p><p>  能否把以2.1-2.6合為一張實質性的E-R圖</p><p>  圖2-8 綜合E-R圖</p>

50、<p>  5.1.2所用表 (以下放入2.6中,數據庫的設計,三線表)</p><p>  下面是設計中要使用的所有表:</p><p> ?。?)表名:userinfo用于存儲用戶詳細信息信息</p><p>  表5-1userinfo用戶信息列表</p><p> ?。?)表名:goods用于存儲圖書信息</p>

51、<p>  表5-2 goods圖書信息 (圖書號就是最好的主鍵)</p><p> ?。?)表名:orders 用于存儲用戶訂單信息 (以下兩表有問題,難道一張訂單只賣一種書嗎?我買幾本不同的書,哪得開N個訂單嗎?)</p><p>  表3-1 orders訂單信息表</p><p> ?。?)表名:orderdetail用于存儲用戶購物車訂單信

52、息</p><p>  表3-4 orderdetail購物車訂單列表</p><p>  5.2 功能總體說明</p><p>  5.2.1功能頁面結構</p><p>  (1)前臺功能頁面</p><p>  主頁面框架: Index.jsp ,head.jsp,left.jsp,tail.jsp,right

53、.jsp</p><p>  商品展示:Right.jsp,showDetail.jsp</p><p>  購物車:showMyCar.jsp</p><p>  登錄注冊:Shopping.jsp,reg.jsp</p><p>  確認信息:Shopping1.jsp</p><p>  生成訂單:Shoppin

54、g2.jsp</p><p>  (2) 后臺功能頁面</p><p>  主頁面框架:Main.jsp,lefts.jsp,center.jsp,down.jsp,top.jsp,middel.jsp</p><p>  商品管理:tab/goods.jsp,editoradd.jsp</p><p>  訂單管理:tab/order.js

55、p</p><p>  登錄: login.jsp</p><p>  5.2.2主要功能流程圖:(以管理員和顧客等不同用戶分開寫一個注冊和一個登錄,下圖可以不要了,或畫一流程圖解釋代碼,注冊和登錄成功后,各干什么,為什么兩個都是shopping.jsp)</p><p>  5.3各功能模塊的實現</p><p>  5.3.1登錄和注冊功

56、能模塊</p><p>  當用戶想購買自己想要的商品就必須要登錄才能完成整個購買的過程,當用戶沒有賬號和密碼時就可以點擊用戶注冊按鈕進行注冊,登錄的頁面如下:</p><p>  實現整個登錄過程的代碼塊如下:</p><p>  當你注冊成功時,根據用戶名和密碼進行登錄,必須是正確的用戶名和密碼,否則登錄不成功,當你輸入用戶名和密碼,會通過<form ac

57、tion="LoginCl" method="post"></form>把username,password,operSign提交到后臺的LoginCl類中進行驗證,如果用戶名和密碼正確就可以跳轉到主頁面,實現登錄功能的代碼如下:</p><p>  String operSign=ParamUtil.getString(request, "op

58、erSign");</p><p>  String username=ParamUtil.getString(request, "username");</p><p>  String passwd=ParamUtil.getString(request, "password");</p><p>  if(op

59、erSign.equalsIgnoreCase("prosceniumlogin"))</p><p><b>  {</b></p><p>  if(ubb.checkUser(passwd, username))</p><p><b>  {</b></p><p>  

60、if(ub.getGrade()==1)</p><p><b>  {</b></p><p>  request.getSession().setAttribute("userinfo", ub);</p><p>  MyCarBO mcb=(MyCarBO)request.getSession().getAttrib

61、ute("mycar");</p><p>  ArrayList al=mcb.showMyCar();</p><p>  request.setAttribute("mycarinfo", al);</p><p>  if(al!=null)</p><p><b>  {</b

62、></p><p>  request.getRequestDispatcher("shopping1.jsp").forward(request, response);</p><p><b>  }</b></p><p><b>  }else</b></p><p>

63、;<b>  {</b></p><p>  request.getRequestDispatcher("shopping.jsp").forward(request, response);</p><p><b>  }</b></p><p><b>  }else</b>&l

64、t;/p><p><b>  {</b></p><p>  request.getRequestDispatcher("shopping.jsp").forward(request, response);</p><p><b>  }</b></p><p><b> 

65、 注冊頁面如下:</b></p><p>  當用戶沒有用戶名和密碼時,需要在登錄頁面點擊用戶注冊按鈕跳轉到注冊頁面進行注冊,注冊的實現代碼如下:</p><p>  當用戶單擊注冊按鈕時,會同<form action="LoginCl" method="post"></form>表單把所有信息都提交到后臺logi

66、nCl類中進行插入用戶信息表中,實現代碼如下:</p><p>  String operSign=ParamUtil.getString(request, "operSign");</p><p>  String username=ParamUtil.getString(request, "username");</p><p

67、>  String passwd=ParamUtil.getString(request, "password");</p><p>  String truename=ParamUtil.getString(request, "truename");</p><p>  String email=ParamUtil.getString(req

68、uest, "email");</p><p>  String phone=ParamUtil.getString(request, "phone");</p><p>  String address=ParamUtil.getString(request, "address");</p><p>  

69、String postcode=ParamUtil.getString(request, "postcode");</p><p>  String grade=ParamUtil.getString(request, "grade");</p><p>  UserBean userBean=new UserBean();</p>&

70、lt;p>  UserBeanBO ubb=new UserBeanBO();</p><p>  if(operSign.equalsIgnoreCase("reg"))</p><p><b>  {</b></p><p>  userBean.setUsername(username);</p>

71、<p>  userBean.setPasswd(passwd);</p><p>  userBean.setTruename(truename);</p><p>  userBean.setEmail(email);</p><p>  userBean.setPhone(phone);</p><p>  userBean.

72、setAddress(address);</p><p>  userBean.setPostcode(postcode);</p><p>  userBean.setGrade(Integer.parseInt(grade));</p><p>  boolean b=ubb.insertUserInfo(userBean);</p><p&

73、gt;<b>  if(b)</b></p><p>  {request.getRequestDispatcher("shopping.jsp").forward(request, response);</p><p><b>  }</b></p><p><b>  }</b>

74、;</p><p>  5.3.2查看書籍模塊</p><p>  書籍主要分為幾小類,如哲學,管理學,計算機。</p><p>  當你想查看哲學類圖書時,只要點擊“哲學”超鏈接(“管理學”,“計算機”超鏈接同樣)就會出現如圖所示:</p><p>  當你想實現查看哲學,管理學,計算機等功能時,你只需要通過超鏈接把書籍類型的值傳遞(typ

75、e)傳到right.jsp中,并把其作為參數,然后調用GoodsBeanBO類中的方法,getGoodsByPage這個方法就能得到不同類型的圖書,實現代碼如下:</p><p>  GoodsBeanBO gbb=new GoodsBeanBO();</p><p>  Hashtable typeParam=new Hashtable();</p><p>  

76、String s_pageNow=ParamUtil.handleSpaceAndNull((String)request.getAttribute("pageNow"));</p><p>  String type=ParamUtil.getString(request,"type");//圖書類型</p><p>  if(type.equal

77、sIgnoreCase(""))</p><p><b>  {</b></p><p>  type=ParamUtil.handleSpaceAndNull((String)request.getAttribute("type"));</p><p><b>  }</b><

78、;/p><p>  int pageNow=1;</p><p>  if(!s_pageNow.equalsIgnoreCase(""))</p><p><b>  {</b></p><p>  pageNow=Integer.parseInt(s_pageNow);</p><

79、p><b>  }</b></p><p>  ArrayList al=gbb.getGoodsByPage(pageNow,type);</p><p>  int pageCount=gbb.getPageCount(type);</p><p>  這就是在right.jsp中的代碼。</p><p>  

80、5.3.3查看書籍詳情信息模塊</p><p>  當你點擊書籍名稱超鏈接時,就是進入書籍詳細信息模塊,也就是說你可以看到該書籍的整個信息包括作者,價格等。書籍詳細信息模塊如圖所示。</p><p>  在該頁面中你可以查看自己該書籍的信息并進行購買。還可以返回購物大廳。</p><p>  以上功能的代碼實現:</p><p>  當你點擊

81、書籍列表中的書籍名稱的超鏈接時,會執(zhí)行ShowGoodsClServlet并傳flag和該商品的goodsId兩個參數到showGoodsClServlet中并通過</p><p>  String flag=ParamUtil.getString(request,”flag”);</p><p>  String goodsId=ParamUtil.getString(request,”

82、goodsId”);</p><p><b>  進行獲取。</b></p><p><b>  實現代碼如下:</b></p><p>  if(flag.equals("showDetail"))</p><p>  {goodsId=request.getParameter

83、("id");</p><p>  GoodsBean gb=goodsBeanBO.getgoodsBeanById(goodsId);</p><p>  int clickNum=gb.getClickNum();</p><p>  goodsBean.setClickNum(clickNum+1);</p><p&g

84、t;  goodsBean.setGoodsId(Integer.parseInt(goodsId));</p><p>  goodsBeanBO.updateGoodsById(goodsBean);</p><p>  request.setAttribute("goodsInfo", gb);</p><p>  request.getR

85、equestDispatcher("showDetail.jsp").forward(request, response);</p><p><b>  }</b></p><p>  5.3.4購物車功能模塊</p><p>  自己想要購買的書籍添加到購物車里面,當你點擊查看書籍詳情列表中的按鈕時就會把要購買的書籍添加到

86、購物車中,在購物車中可以實現刪除,修改數量,全部刪除,查看書籍詳細等操作。購物車如圖所示:</p><p>  實現刪除,刪除全部商品,修改數量,查看等代碼如下:</p><p><b>  刪除的實現代碼。</b></p><p><b>  當你點擊刪除超鏈接</b></p><p>  <

87、;a href="ShoppingClServlet?flag=delGoods&goodsId=<%=gb.getGoodsId() %>">刪除</a>時就會執(zhí)行ShoppingClServlet并把該商品goodsId和flag標記傳到ShoppingClServlet中并通過</p><p>  String flag=ParamUtil.getS

88、tring(request,”flag”);</p><p>  String goodsId=ParamUtil.getString(request,”goodsId”);</p><p>  進行獲取。刪除操作的代碼塊如下:</p><p>  MyCarBO mcb=(MyCarBO)request.getSession().getAttribute(&quo

89、t;mycar");</p><p>  public void delGoods(String goodsId)</p><p><b>  {</b></p><p>  hm.remove(goodsId);</p><p><b>  }</b></p><p&

90、gt;  以下在ShoppingClServlet這段代碼是調用了MyCarBo中的delGoods方法刪除hasbMap集合類所存在數據</p><p>  if(flag.equals("delGoods"))</p><p><b>  {</b></p><p>  mcb.delGoods(goodsId);<

91、;/p><p><b>  }</b></p><p>  查看操作實現代碼如下:</p><p><b>  當你點擊查看超鏈接</b></p><p>  <a href="ShowGoodsClServlet?flag=showDetail&id=<%=gb.getG

92、oodsId() %>">查看</a>時,就會把flag和goodsId傳到ShowGoodsClServlet中,執(zhí)行相應的代碼塊,實現的代碼塊如下:</p><p>  String flag=ParamUtil.getString(request, "flag");//</p><p>  if(flag.equals("

93、;showDetail"))</p><p><b>  {</b></p><p>  goodsId=request.getParameter("id");</p><p>  GoodsBean gb=goodsBeanBO.getgoodsBeanById(goodsId);</p><

94、p>  int clickNum=gb.getClickNum();</p><p>  goodsBean.setClickNum(clickNum+1);</p><p>  goodsBean.setGoodsId(Integer.parseInt(goodsId));</p><p>  goodsBeanBO.updateGoodsById(good

95、sBean);</p><p>  request.setAttribute("goodsInfo", gb);</p><p>  request.getRequestDispatcher("showDetail.jsp").forward(request, response);</p><p><b>  }&l

96、t;/b></p><p>  然后跳轉到showDetail.jsp中</p><p>  修改數量實現代碼如下:</p><p>  修改數量通過<form action=” ShoppingClServlet?flag=updateGoodsNum” method=”post”>form表單進行提交,提交到ShoppingClServlet中

97、,并根據flag標記找到相應的代碼塊進行運行,代碼塊如下:</p><p>  String flag=request.getParameter("flag");</p><p>  String goodsId=request.getParameter("goodsId");</p><p>  if(flag.equals

98、("updateGoodsNum"))</p><p><b>  {</b></p><p>  String goodsid[]=request.getParameterValues("goodsId");</p><p>  String newNum[]=request.getParameterV

99、alues("newNum");</p><p>  for(int i=0;i<goodsid.length;i++)</p><p><b>  {</b></p><p>  mcb.upGoods(goodsid[i], newNum[i]);</p><p><b>  }&

100、lt;/b></p><p><b>  }</b></p><p>  該代碼塊中調用了MyCarBO類中的方法upGoods(goodsid[i], newNum[i])進行修改數量。</p><p>  刪除全部實現代碼如下:</p><p>  當點擊刪除全部的按鈕時,會通過觸發(fā)javascript方法&l

101、t;script type="text/javascript"></p><p><b>  <!--</b></p><p>  function delAll()</p><p><b>  {</b></p><p>  window.open("Sh

102、oppingClServlet?flag=delAll","_self");</p><p><b>  }</b></p><p><b>  --></b></p><p><b>  </script></b></p><p&g

103、t;  執(zhí)行ShopingClServlet中的刪除購物車中的全部商品,實現代碼塊如下:</p><p>  else if(flag.equals("delAll"))</p><p><b>  {</b></p><p>  mcb.clear();</p><p>  }刪除HashMap中的

104、所有數據</p><p>  5.3.5確認信息模塊</p><p><b>  如圖所示:</b></p><p>  當你登錄成功時,就會跳到確認信息頁面,查看自己的信息是否要修改或者是否有錯誤。</p><p>  該頁面主要要實現完成訂單和修改個人信息,返回更改購物車等功能,</p><p&g

105、t;  實現完成訂單的代碼如下:</p><p>  該功能通過點擊javascript方法</p><p>  function finishOrder()</p><p>  {window.location.href="<%=path%>/OrderCl"</p><p>  }來操作OrderCl中實現

106、完成訂單功能的后臺代碼塊,</p><p>  后臺代碼塊如下:在OrderClServlet類中</p><p>  MyCarBO mcb=(MyCarBO)request.getSession().getAttribute("mycar");</p><p>  long userId=((UserBean)request.getSessi

107、on().getAttribute("userinfo")).getUserId();</p><p>  OrderInfoBean oib=obb.addOrder(mcb, userId+"");</p><p>  if(oib!=null)</p><p>  {request.setAttribute("

108、detailBean", oib);</p><p>  request.getRequestDispatcher("shopping2.jsp").forward(request, response);</p><p><b>  }else</b></p><p><b>  {</b>&

109、lt;/p><p>  ArrayList al=mcb.showMyCar();</p><p>  request.setAttribute("mycarinfo", al);</p><p>  request.getRequestDispatcher("shopping1.jsp").forward(request, re

110、sponse);</p><p><b>  }</b></p><p>  實現修改個人信息的代碼如下:</p><p>  通過<form action="UserClServlet" method="post"></p><p>  </form>把修

111、改的個人信息提交到UserClServlet進行處理,實現的代碼如下</p><p>  UserBean ub=new UserBean();</p><p>  UserBeanBO ubb=new UserBeanBO();</p><p>  String username=request.getParameter("username")

112、;</p><p>  String truename=request.getParameter("truename");</p><p>  String address=request.getParameter("address");</p><p>  String phone=request.getParameter(

113、"phone");</p><p>  String email=request.getParameter("email");</p><p>  String postcode=request.getParameter("postcode");</p><p>  String userId=reques

114、t.getParameter("userId");</p><p>  int userIds=Integer.parseInt(userId);</p><p>  if(username!=null&&!username.equals(""))</p><p>  {ub.setUsername(usern

115、ame);</p><p><b>  }</b></p><p>  if(truename!=null&&!truename.equals(""))</p><p>  {ub.setTruename(truename);</p><p><b>  }</b>

116、;</p><p>  if(address!=null&&!address.equals(""))</p><p>  {ub.setAddress(address);</p><p><b>  }</b></p><p>  if(phone!=null&&!ph

117、one.equals(""))</p><p>  {ub.setPhone(phone);</p><p><b>  }</b></p><p>  if(email!=null&&!email.equals(""))</p><p>  {ub.setEmai

118、l(email);</p><p><b>  }</b></p><p>  if(postcode!=null&&!postcode.equals(""))</p><p>  {ub.setPostcode(postcode);</p><p><b>  }</

119、b></p><p>  if(userId!=null&&!userId.equals(""))</p><p>  {ub.setUserId(userIds);</p><p><b>  }</b></p><p>  if(ubb.Update(ub))</p&g

120、t;<p>  {request.getRequestDispatcher("success.jsp").forward(request, response);</p><p><b>  }else</b></p><p><b>  {</b></p><p>  MyCarBO mc

121、b=(MyCarBO)request.getSession().getAttribute("mycar");</p><p>  ArrayList al=mcb.showMyCar();</p><p>  request.setAttribute("mycarinfo", al);</p><p>  request.ge

122、tRequestDispatcher("shopping1.jsp").forward(request, response);</p><p><b>  }</b></p><p>  實現返回更改購物車的實現代碼如下:</p><p>  該功能通過觸發(fā)javascript的方法function showMyCar(go

123、odsId)</p><p>  {window.open("ShoppingClServlet?flag=addGoods&goodsId="+goodsId,"_self");</p><p>  }進行執(zhí)行ShoppingClServlet類中的代碼塊,實現代碼塊如下所示:</p><p>  String go

124、odsId=request.getParameter("goodsId");</p><p>  String flag=request.getParameter("flag");</p><p>  if(flag.equals("addGoods"))</p><p><b>  {</

125、b></p><p>  GoodsBean gb=goodsBeanBO.getgoodsBeanById(goodsId);</p><p>  int clickNum=gb.getClickNum();</p><p>  goodsBean.setClickNum(clickNum+1);</p><p>  goodsBea

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論