web課程設(shè)計(jì)---jsp編寫網(wǎng)上購(gòu)書系統(tǒng)_第1頁(yè)
已閱讀1頁(yè),還剩25頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p><b>  本科課程設(shè)計(jì)說明書</b></p><p>  學(xué)生姓名: </p><p>  學(xué) 號(hào): </p><p>  學(xué)  院:

2、 </p><p>  專業(yè)年級(jí): 2008級(jí)信息與計(jì)算科學(xué)二班 </p><p>  課 程: Web網(wǎng)頁(yè)課程設(shè)計(jì) </p><p>  設(shè)計(jì)(論文)題目: JSP編寫網(wǎng)上購(gòu)書系統(tǒng) </p><p>  指導(dǎo)教師: kk

3、 </p><p><b>  2011年6月</b></p><p><b>  中 文 摘 要</b></p><p>  這次課程設(shè)計(jì)通過一個(gè)小型網(wǎng)上購(gòu)書系統(tǒng)的實(shí)例,來(lái)熟悉Web的網(wǎng)頁(yè)制作,我們采用的是JSP的模式來(lái)制作動(dòng)態(tài)的網(wǎng)頁(yè),并將其與數(shù)據(jù)庫(kù)連接來(lái)實(shí)現(xiàn)一定的功能。本次課程設(shè)計(jì)只是創(chuàng)建了一個(gè)簡(jiǎn)

4、單的網(wǎng)上購(gòu)書系統(tǒng),但從功能上來(lái)說,是比較完備的。并且將所學(xué)的一些知識(shí)都運(yùn)用其中,比如數(shù)據(jù)庫(kù)及數(shù)據(jù)庫(kù)的連接,軟件工程制作圖形,一些界面設(shè)計(jì)及網(wǎng)頁(yè)制作等等。</p><p>  關(guān)鍵字:Javascript 網(wǎng)上購(gòu)書系統(tǒng) 數(shù)據(jù)庫(kù) 連接</p><p><b>  英 文 摘 要</b></p><p>  This course design

5、 through a small online bookstores system example, to become familiar with the Web pages, we use is the JSP model to make dynamic Web pages, with the database connection to achieve a certain function. This course design

6、is to create a simple online bookstores system, but from the function, it is relatively complete. And some of the knowledge learned with among them, such as database and the connection, and software engineering make grap

7、hics, some interface design and web pages,</p><p><b>  目 錄</b></p><p><b>  1 系統(tǒng)概述1</b></p><p>  1.1 系統(tǒng)功能與應(yīng)用背景1</p><p>  1.2 系統(tǒng)預(yù)覽2</p>

8、<p>  1.3 系統(tǒng)特點(diǎn)2</p><p><b>  2 系統(tǒng)設(shè)計(jì)3</b></p><p>  2.1 系統(tǒng)設(shè)計(jì)思想3</p><p>  2.2 系統(tǒng)功能模塊劃分3</p><p><b>  3 數(shù)據(jù)庫(kù)設(shè)計(jì)5</b></p><p>  3.1

9、 數(shù)據(jù)庫(kù)需求分析5</p><p>  3.2數(shù)據(jù)庫(kù)概念結(jié)構(gòu)設(shè)計(jì)5</p><p>  3.3數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì)7</p><p>  3.4 數(shù)據(jù)庫(kù)的生成與配置9</p><p>  4 代碼的編寫10</p><p>  4.1 數(shù)據(jù)庫(kù)連接的代碼編寫10</p><p>  4.

10、2 登陸后界面的代碼編寫12</p><p>  4.3圖書詳細(xì)信息的代碼編寫13</p><p>  4.4購(gòu)物車管理的代碼編寫14</p><p>  4.5訂單確認(rèn)的代碼編寫16</p><p><b>  5 程序調(diào)試20</b></p><p>  5.1 客戶登陸20<

11、;/p><p>  5.2 點(diǎn)購(gòu)買圖書鏈接20</p><p>  5.3 訂單確認(rèn)21</p><p>  5.4 查看圖書詳細(xì)資料21</p><p><b>  6 總 結(jié)22</b></p><p><b>  參考文獻(xiàn)23</b></p><

12、;p><b>  1 系統(tǒng)概述</b></p><p>  1.1 系統(tǒng)功能與應(yīng)用背景</p><p>  互聯(lián)網(wǎng)以前所未有的速度發(fā)展,成為與報(bào)紙、廣播、電視相比肩的第四媒體,同時(shí)正以其便捷的信息傳輸形式改變著人們的消費(fèi)模式,利用簡(jiǎn)單、快捷、低成本的電子通信方式,買賣雙方不謀面就可以進(jìn)行各種商貿(mào)活動(dòng),走向商業(yè)的互聯(lián)網(wǎng)已經(jīng)成為網(wǎng)絡(luò)經(jīng)濟(jì)的大勢(shì)所趨。</p>

13、;<p>  在提出電子商務(wù)的概念短短幾年的時(shí)間里,這一概念已經(jīng)在全球各地被廣泛接受。根據(jù)買方和賣方的不同,電子商務(wù)市場(chǎng)可以劃分為4種類型:B2B,B2C,C2B,C2C。就規(guī)模而言,B2B和B2C居于主導(dǎo)地位。眼下電子商務(wù)網(wǎng)站正如雨后春筍般地大量涌現(xiàn),企業(yè)網(wǎng)絡(luò)化已經(jīng)成為一種時(shí)尚。</p><p>  該系統(tǒng)的在線書店主要完成的功能如下。</p><p><b> 

14、 1.客戶界面部分</b></p><p> ?。?)圖書選購(gòu)(可按分類方式查找圖書,或通過關(guān)鍵字進(jìn)行查詢)。</p><p><b>  (2)購(gòu)物車功能。</b></p><p> ?。?)查看圖書詳細(xì)情況。</p><p><b> ?。?)用戶注冊(cè)。</b></p>

15、<p><b> ?。?)用戶登陸。</b></p><p> ?。?)查看用戶訂單信息。</p><p><b>  2.管理界面部分</b></p><p> ?。?)現(xiàn)有圖書管理:修改、刪除、查看。</p><p> ?。?)用戶管理:查看、修改、刪除。</p>&l

16、t;p>  (3)訂單管理:查看訂單清單,更新訂單付款,出貨狀態(tài),刪除訂單。</p><p><b> ?。?)添加新圖書。</b></p><p> ?。?)添加圖書分類。</p><p><b>  1.2 系統(tǒng)預(yù)覽</b></p><p>  如圖 1-1所示是打開網(wǎng)站的第一個(gè)界面。從圖

17、中可以看成,客戶不用登陸就可以瀏覽、查看圖書詳細(xì)資料,可以按關(guān)鍵字/分類查詢圖書,也可以方便快捷的轉(zhuǎn)到系統(tǒng)的其他功能模塊。</p><p><b>  1-1 系統(tǒng)主頁(yè)面</b></p><p><b>  1.3 系統(tǒng)特點(diǎn)</b></p><p>  本系統(tǒng)具有一下特點(diǎn)。</p><p>  1.

18、界面模塊化:本系統(tǒng)在界面設(shè)計(jì)上都采用了模塊化的處理思想,把很多頁(yè)面共有部分集成一個(gè)模塊,例如頁(yè)面的頭、尾和導(dǎo)航條,這樣在開發(fā)時(shí),遇到這些相似頁(yè)面部分就不需要重新編寫,而只要以一句:<%@include file=”top.jsp”%>重用這部分即可,大大提高了開發(fā)效率。</p><p>  2.三層結(jié)構(gòu)設(shè)計(jì):本系統(tǒng)采用三層結(jié)構(gòu)設(shè)計(jì),即程序邏輯結(jié)構(gòu)分為用戶界面層、業(yè)務(wù)邏輯處理層和數(shù)據(jù)存儲(chǔ)層。三層在實(shí)際的

19、物理結(jié)構(gòu)上也是獨(dú)立的,業(yè)務(wù)邏輯處理層采用JavaBean實(shí)現(xiàn),用戶界面與業(yè)務(wù)邏輯分離,系統(tǒng)的安全性、可維護(hù)性、重用性和可擴(kuò)展性都大大提高。</p><p>  3.面向?qū)ο笤O(shè)計(jì):在系統(tǒng)中將用戶、圖書等都封裝成相應(yīng)的類,同時(shí)每個(gè)類都有自己對(duì)應(yīng)的操作類,從而再次提高了對(duì)數(shù)據(jù)庫(kù)操作的安全性和程序的可擴(kuò)展性。</p><p>  4.人性化設(shè)計(jì):本系統(tǒng)導(dǎo)航的另一個(gè)亮點(diǎn)就是導(dǎo)航明晰。這樣,不管客戶位

20、于本“書店”的哪個(gè)角落,都不會(huì)迷路。</p><p><b>  2 系統(tǒng)設(shè)計(jì)</b></p><p>  2.1 系統(tǒng)設(shè)計(jì)思想</p><p><b>  1.頁(yè)面模塊化</b></p><p>  本系統(tǒng)把頁(yè)面中一些常用的部分集成為模塊,例如界面的頭部,這樣設(shè)計(jì)新的頁(yè)面時(shí)如果有重復(fù)出現(xiàn)的部分,只

21、需要拿現(xiàn)成的模塊來(lái)組裝就可以了。</p><p><b>  2.三層結(jié)構(gòu)架構(gòu)</b></p><p>  采用三層架構(gòu)以后,用戶界面層通過統(tǒng)一的接口向業(yè)務(wù)層發(fā)送請(qǐng)求,業(yè)務(wù)層按自己的邏輯規(guī)則將請(qǐng)求處理之后進(jìn)行數(shù)據(jù)庫(kù)操作。然后將數(shù)據(jù)庫(kù)返回的數(shù)據(jù)封裝成類的形式返回給用戶界面層。這樣用戶界面層甚至可以不知道數(shù)據(jù)庫(kù)的結(jié)構(gòu),它只要維護(hù)與業(yè)務(wù)層之間的接口即可。這種方式在一定程度上

22、增加了數(shù)據(jù)庫(kù)的安全性,同時(shí)也降低了對(duì)用戶界面層開發(fā)人員的要求。</p><p>  JavaBean通過返回對(duì)象的形式來(lái)返回?cái)?shù)據(jù),在類的內(nèi)部可以規(guī)定哪些數(shù)據(jù)可訪問,哪些數(shù)據(jù)是只讀的等,從而通過封裝數(shù)據(jù)達(dá)到再一次提高數(shù)據(jù)安全性的目的。</p><p>  2.2 系統(tǒng)功能模塊劃分</p><p>  根據(jù)系統(tǒng)功能分析,可以畫系統(tǒng)的功能模塊圖,本例從客戶界面、管理界面分

23、別對(duì)功能模塊圖加以描述。客戶界面的系統(tǒng)功能模塊圖如2-1所示。</p><p>  圖2-1 客戶界面系統(tǒng)功能模塊圖</p><p>  管理界面的系統(tǒng)功能模塊圖如圖2-2所示。</p><p>  圖2-2 管理界面的系統(tǒng)功能模塊圖</p><p><b>  3 數(shù)據(jù)庫(kù)設(shè)計(jì)</b></p><p&

24、gt;  數(shù)據(jù)庫(kù)在一個(gè)信息管理系統(tǒng)中占有非常重要的地位,數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)的好環(huán)境直接應(yīng)用系統(tǒng)的效率,以及實(shí)現(xiàn)的效果產(chǎn)生影響。合理的數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)可以提高數(shù)據(jù)存儲(chǔ)的效率,保證數(shù)據(jù)的完整和一致。</p><p>  3.1 數(shù)據(jù)庫(kù)需求分析</p><p>  用戶的需求具體體現(xiàn)在各種信息的提供、保存、更新和查詢,這就要求數(shù)據(jù)庫(kù)結(jié)構(gòu)能充分滿足各種信息的輸出和輸入。收集基本數(shù)據(jù)、數(shù)據(jù)結(jié)構(gòu)及數(shù)據(jù)處理的

25、流程,組成一份詳盡的數(shù)據(jù)字典,為后面的具體設(shè)計(jì)打下基礎(chǔ)。</p><p>  通過上述系統(tǒng)功能分析,有如下的需求信息。</p><p>  用戶分一般用戶和管理員用戶。</p><p>  訂單分單張?jiān)敿?xì)訂單和總訂單。</p><p>  每一本圖書都從屬于一種類型。</p><p>  一個(gè)用戶可以購(gòu)買多本圖書。&l

26、t;/p><p>  一個(gè)用戶對(duì)應(yīng)一張訂單列表。</p><p>  一個(gè)列表對(duì)應(yīng)多張訂單。</p><p>  經(jīng)過上面系統(tǒng)功能分析和需求總結(jié),考慮到將來(lái)功能上的擴(kuò)展,設(shè)計(jì)如下所示的數(shù)據(jù)項(xiàng)和數(shù)據(jù)結(jié)果。</p><p>  管理員信息,包括數(shù)據(jù)項(xiàng):用戶名、密碼。</p><p>  普通用戶,包括數(shù)據(jù)項(xiàng):用戶ID、用戶名、

27、密碼等。</p><p>  圖書,包括數(shù)據(jù)項(xiàng):圖書編號(hào)、圖書名稱分類編號(hào)等。</p><p>  圖書分類,包括數(shù)據(jù)項(xiàng):分類編號(hào)、分類名稱。</p><p>  訂單列表,包括數(shù)據(jù)項(xiàng):訂單編號(hào)、圖書編號(hào)、購(gòu)書數(shù)量。</p><p>  訂單,包括數(shù)據(jù)項(xiàng):訂單編號(hào)、用戶編號(hào)、下單時(shí)間等。</p><p>  3.2數(shù)據(jù)

28、庫(kù)概念結(jié)構(gòu)設(shè)計(jì)</p><p>  得到上面的數(shù)據(jù)項(xiàng)和數(shù)據(jù)結(jié)構(gòu)以后,就可以設(shè)計(jì)出能夠滿足用戶需求的各種實(shí)體,以及它們之間的關(guān)系,為后面的邏輯結(jié)構(gòu)設(shè)計(jì)打下基礎(chǔ)。本實(shí)例根據(jù)上面的設(shè)計(jì)規(guī)劃出的實(shí)體有:管理員信息實(shí)體、用戶信息實(shí)體、圖書實(shí)體、圖書分類實(shí)體、訂單實(shí)體、訂單列表實(shí)體。</p><p>  實(shí)體之間關(guān)系的E-R圖如圖3-1所示。</p><p>  圖3-1 實(shí)體

29、之間關(guān)系的E-R圖</p><p>  管理員信息實(shí)體的E-R圖如圖3-2所示。</p><p>  用戶信息實(shí)體的E-R圖如圖3-3所示。</p><p>  圖3-2 圖 3-3</p><p>  圖書實(shí)體的E-R圖如圖3-4所示。</p><p>

30、;  圖書分類實(shí)體的E-R圖如圖3-5所示。</p><p>  圖3-4 圖3-5</p><p>  訂單實(shí)體的E-R圖如圖3-6所示。</p><p>  訂單列表實(shí)體的E-R圖如圖3-7所示。</p><p>  圖3-6

31、 圖3-7</p><p>  3.3數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì)</p><p>  數(shù)據(jù)的概念結(jié)構(gòu)設(shè)計(jì)完畢后,現(xiàn)在可以將上面的數(shù)據(jù)庫(kù)概念結(jié)構(gòu)轉(zhuǎn)化為某種數(shù)據(jù)庫(kù)系統(tǒng)所支持的實(shí)際數(shù)據(jù)模型,也就是數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu)。</p><p>  該系統(tǒng)使用的是SQL2005,在線書店數(shù)據(jù)庫(kù)中的各個(gè)表的設(shè)計(jì)結(jié)果如下面的表格所示。每個(gè)表格表示在數(shù)據(jù)庫(kù)中的一個(gè)表。表3-1記錄了書店現(xiàn)有的圖

32、書信息。</p><p><b>  表 3-1 圖書表</b></p><p>  如表3-2所示為bookadmin管理員信息表,記錄管理員的賬號(hào)密碼。</p><p><b>  表3-2 管理員表</b></p><p>  如表3-3所示為shop_user書店用戶信息表,記錄書店所有用戶

33、的詳細(xì)信息。</p><p>  表3-3 用戶信息表</p><p>  如表3-4所示為order 訂單詳細(xì)表,記錄商店所有用戶的詳細(xì)信息。</p><p>  表3-4 訂單詳細(xì)表</p><p>  如表3-5 為tb_word訂單信息總表,記錄某個(gè)用戶留言。</p><p>  表3-5 訂單信息表</

34、p><p>  如表3-6為bookclass圖書分類表,記錄書店現(xiàn)有的圖書分類。</p><p>  表3-6 圖書分類表</p><p>  表3-7為allorders訂單信息總表,記錄某個(gè)用戶的訂單總信息。</p><p>  表3-7 訂單信息表</p><p>  3.4 數(shù)據(jù)庫(kù)的生成與配置</p>

35、<p>  經(jīng)過前面的需求分析和概念結(jié)構(gòu)設(shè)計(jì)以后,得到數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu)。現(xiàn)在就可以再SQL2005中創(chuàng)建數(shù)據(jù)表了。</p><p><b>  4 代碼的編寫</b></p><p>  4.1 數(shù)據(jù)庫(kù)連接的代碼編寫</p><p><b>  代碼如下:</b></p><p>  

36、package com.yxq.toolsbean;</p><p>  import java.sql.Connection;</p><p>  import java.sql.DriverManager;</p><p>  import java.sql.ResultSet;</p><p>  import java.sql.SQL

37、Exception;</p><p>  import java.sql.Statement;</p><p>  public class DB {</p><p>  private Connection con = null;</p><p>  private Statement stm=null; </p><p

38、>  /* 通過構(gòu)造方法加載數(shù)據(jù)庫(kù)驅(qū)動(dòng) */</p><p>  public DB(){</p><p><b>  try {</b></p><p>  Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); </p><p>  } catch (E

39、xception e) {</p><p>  e.printStackTrace();</p><p>  System.out.println("加載數(shù)據(jù)庫(kù)驅(qū)動(dòng)失敗!");</p><p><b>  } </b></p><p><b>  }</b></p&

40、gt;<p>  /* 創(chuàng)建數(shù)據(jù)庫(kù)連接 */</p><p>  public void createCon() {</p><p><b>  try {</b></p><p>  con = DriverManager.getConnection("jdbc:odbc:tang");</p>

41、<p>  } catch (Exception e) {</p><p>  e.printStackTrace();</p><p>  System.out.println("獲取數(shù)據(jù)庫(kù)連接失??!");</p><p><b>  }</b></p><p><b>  }

42、</b></p><p>  /* 獲取Statement對(duì)象 */</p><p>  public void getStm(){</p><p>  createCon();</p><p><b>  try {</b></p><p>  stm=con.createState

43、ment();</p><p>  } catch (SQLException e) {</p><p>  e.printStackTrace();</p><p>  System.out.println("創(chuàng)建Statement對(duì)象失??!");</p><p><b>  }</b></p

44、><p><b>  }</b></p><p><b>  /** </b></p><p>  * @功能 對(duì)數(shù)據(jù)庫(kù)的增加、修改和刪除的操作</p><p>  * @參數(shù) sql為要執(zhí)行的SQL語(yǔ)句</p><p>  * @返回值 boolean型值 </p>

45、<p><b>  */</b></p><p>  public boolean executeUpdate(String sql) {</p><p>  System.out.println(sql);</p><p>  boolean mark=false;</p><p><b>  

46、try {</b></p><p><b>  getStm();</b></p><p>  int iCount = stm.executeUpdate(sql);</p><p>  if(iCount>0) </p><p>  mark=true;

47、 </p><p><b>  else</b></p><p>  mark=false;</p><p>  } catch (Exception e) {</p><p>  e.printStackTrace();</p><p>  mark=false;</p><

48、p><b>  }</b></p><p>  return mark;</p><p><b>  }</b></p><p>  /* 查詢數(shù)據(jù)庫(kù) */</p><p>  public ResultSet executeQuery(String sql) {</p><

49、;p>  ResultSet rs=null;</p><p><b>  try {</b></p><p><b>  getStm();</b></p><p><b>  try {</b></p><p>  rs = stm.executeQuery(sql)

50、;</p><p>  } catch (Exception e) {</p><p>  e.printStackTrace();</p><p>  System.out.println("查詢數(shù)據(jù)庫(kù)失?。?quot;);</p><p><b>  }</b></p><p>  

51、} catch (Exception e) {</p><p>  e.printStackTrace(); </p><p><b>  }</b></p><p>  return rs;</p><p><b>  }</b></p><p>  /*

52、 關(guān)閉數(shù)據(jù)庫(kù)的操作 */</p><p>  public void closed() {</p><p>  if(stm!=null)</p><p><b>  try {</b></p><p>  stm.close();</p><p>  } catch (SQLException

53、e) {</p><p>  e.printStackTrace();</p><p>  System.out.println("關(guān)閉stm對(duì)象失敗!");</p><p><b>  }</b></p><p>  if(con!=null)</p><p><b&g

54、t;  try {</b></p><p>  con.close();</p><p>  } catch (SQLException e) {</p><p>  e.printStackTrace();</p><p>  System.out.println("關(guān)閉con對(duì)象失?。?quot;);</p&g

55、t;<p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  4.2 登陸后界面的代碼編寫</p><p><b>  代碼如下:</b></p><

56、;p>  <%@ page language="java" impor="bookstore.bean.*" pageEncoding="GBK"%></p><p>  <%String userName=(String)session.getAttribute("username");%></p

57、><p><b>  <html></b></p><p>  <head></head></p><p><b>  <body></b></p><p>  <table width="%80" border="1&

58、quot; cellpadding="0" cellspacing="0"></p><p>  <tr><td width="100%" height="100" valign="bottom"></p><p>  <img src="ima

59、ges/book_003.gif" /></p><p>  <%if(userName==null)</p><p>  out.println("歡迎你客人");</p><p><b>  else</b></p><p>  out.println("歡迎你&q

60、uot;+userName);%></p><p>  </td></tr></table></p><p>  <table width="80%" border="1" cellpadding="0" cellspacing="0" style="b

61、order-collapse:collapse;" bordercolor="#CCCCCC" height="400"><tr></p><p>  <td width="100%" height="38" valign="top" bgcolor="#6699FF&q

62、uot;> 最新圖書</td></tr><tr><td height="362" valign="top" style="border-collapse:collapse;" bordercolor="#CCCCCC"></p><p>  <tr><td wid

63、th="25" height="15px" align="center">書 名</td></p><p>  <td width="18%" align="center">定 價(jià)</td></p><p>  <td width=&quo

64、t;18%" align="center">會(huì)員價(jià)</td></p><p>  <td width="25%" align="center">作 者</td></p><p>  <td width="14%" align="center&

65、quot;>詳細(xì)</td></tr></p><p>  <%//獲取書店最新發(fā)布的圖書集合</p><p>  BookBean bookBean=new BookBean();</p><p>  Vector vecBook =null;</p><p>  vecBook=bookBean.getL

66、atelyBook(10);</p><p>  if(vecBook!=null)</p><p><b>  {</b></p><p>  for(int i=0;i<vecBook.size();i++){</p><p>  bookBean=(BookBean) vecBook.get(i);</

67、p><p><b>  %></b></p><p><b>  <TR></b></p><p>  <td height="25" align="center"><%=bookBean.getBookName()%></td>&l

68、t;/p><p>  <td height="25" align="center"><%=bookBean.getPrice()%></td></p><p>  <td height="25" align="center"><%=bookBean.getSa

69、lePrice()%></td></p><p>  <td height="25" align="center"><%=bookBean.getAuthor()%></td></p><p>  <td height="25" align="center&q

70、uot;></p><p>  <a href="showDetail.jsp?bookId=<%=bookBean.getBookId()%>"></p><p>  <img src="images/view.gif" border="0" width="25" heig

71、ht="25" /></a></td></p><p><b>  </TR></b></p><p><b>  <%}}%></b></p><p>  </table></td></tr></p>

72、<p><b>  </table></b></p><p><b>  </body></b></p><p><b>  </html></b></p><p>  4.3 圖書詳細(xì)信息的代碼編寫</p><p><b

73、>  代碼如下:</b></p><p>  <table cellspacing="0" cellpadding="0" width="625" align="center" border="0" height="492"></p><p>

74、;<b>  <tbody></b></p><p>  <tr><td width="600" height="291"></p><p><b>  <%</b></p><p>  BookBean book=new BookBean(

75、);</p><p>  book=book.getBookDetail(new Integer(bookId).intValue());</p><p><b>  %></b></p><p>  <td valign="top" width="100"><img height

76、="150" alt="圖書封面" src="<%book.getImage()%>" width="100" align="left" border="1" </p><p>  valign="middle" /></td></p>

77、;<p>  <td><b>書名:</b><font color=blue><b><%=book.getBookName()%></b></font><br /></p><p>  <b>作者:</b><font color="#0000FF"

78、;><%=bookgetAuthor()%></font> <br /></p><p>  <b>出版社:</b><font class="small"><%=book.getPublish()%></font></p><p><b>  </td&

79、gt;</b></p><p><b>  </tr></b></p><p><b>  </tbody></b></p><p><b>  </table></b></p><p>  <table width=&qu

80、ot;620" border="0" cospan="3"></p><p>  <tbody><tr></p><p>  <td><b>定價(jià):</b><font color="#FF0000"><%=book.getPrice()%&

81、gt;元</font></td></p><p>  <td><b>本站價(jià)格:</b><font color="#FF0000"><%=book.getSalePrice()%>元</font></td></tr><tr></p><p>

82、  <td align="left" colspan="2" height="36"><A href="addCart.jsp?bookId=<%=book.getBookId()%>"><img height="17" src="images/order.gif"</p

83、><p>  width="115" height="36" border="0" /></A></td></tr></p><p>  </tbody></td></tr></p><p>  <tr bgcolor=&quo

84、t;#ececda"></p><p>  <td width="621" height="26" bgcolor="#336699"></p><p>  <DIV align="left"><font color="#FFFFFF">&

85、lt;I>內(nèi)容簡(jiǎn)介</I></font></DIV></td></tr></p><p><b>  <tr></b></p><p>  <TD width="620" height="145"></p><p>

86、  <UL><P><font class="p9"><%=book.getBookDesc()%></p><p>  </font></P></UL></TD></tr></p><p>  <TR><TD height="30&qu

87、ot;><hr /></TD></TR></tbody></table></tr></tbody></table></p><p>  4.4 購(gòu)物車管理的代碼編寫</p><p><b>  代碼如下:</b></p><p>  <T

88、ABLE border="1" width="80%" cellspacing="0" align="center" bordercolor="#CCCCCC"></p><p><b>  <TR></b></p><p>  <TD widt

89、h="40%" align="center">書名</TD></p><p>  <TD width="20%" align="center">單價(jià)</TD></p><p>  <TD width="20%" align="cent

90、er">數(shù)量</TD></p><p>  <TD width="20%" align="center">刪除此項(xiàng)</TD></p><p><b>  </TR></b></p><p>  <% Cookie[] cookies=r

91、equest.getCookies();</p><p>  BookBean bookBean=new BookBean();</p><p>  for(int i=0;i<cookies.length;i++)</p><p><b>  {</b></p><p>  String strBookId=co

92、okies[i].getName();</p><p>  System.out.println("strBookId:"+strBookId);</p><p>  String num=cookies[i].getValue();</p><p>  if(strBookId.startswith("ISBN"))<

93、/p><p><b>  {</b></p><p>  bookBean=bookBean.getBookDetail((new Integer(strBookId.substring(4))).intValue());</p><p><b>  %></b></p><p><b>

94、;  <TR></b></p><p>  <TD width="258"><A href="showDetail.jsp?bookId=<%bookBean.getBookId()%>"></p><p>  <%=bookBean.getBookName()%></A&

95、gt;</TD></p><p>  <TD width="62"><%=bookBean.getPrice()%></TD></p><p>  <TD width="36"><input size="5" type="text" maxlen

96、gth="5" value="<%=num%>" name="num" readonly /></TD></p><p>  <TD width="43"></p><p>  <A href="delBook.jsp?bookId=<%=book

97、Bean.getBookId()%>">刪除</p><p><b>  </A></TD></b></p><p><b>  </TR></b></p><p><b>  <%}}%></b></p><p

98、>  </TABLE><BR /></p><p>  <TABLE border="0" width="80" align="center"></p><p>  <tbody><BR /></p><p>  <TD width=&

99、quot;19%" align="center"><A href="indexContent.jsp">繼續(xù)選購(gòu)</p><p><b>  </A></TD></b></p><p>  <TD width="24%" align="cen

100、ter"><A href="emptycart.jsp">清空購(gòu)物車</p><p><b>  </A></TD></b></p><p>  <TD width="27%" align="center">修改數(shù)量</TD><

101、/p><p>  <TD width="30" align="center"><A href="paymentMode.jsp">提交訂單</A></TD></p><p>  </TR></tbody></TABLE></p><

102、p>  4.5 訂單確認(rèn)的代碼編寫</p><p><b>  代碼如下:</b></p><p>  <BODY bgcolor="#ffffff" leftmargin="0" topmargin="0"></p><p>  <table cellspac

103、ing="0" cellpadding="0" width="80%" align="center" border="0"></p><p><b>  <tbody></b></p><p><b>  <tr></b&g

104、t;</p><p>  <td valign="top" align="center" width="15%"></p><p>  <table cellspacing="0" cellpadding="0" width="64" border=&q

105、uot;0"></p><p>  <tbody><tr><td></td></tr></tbody></table></td></p><p>  <td valign="top"><br /><table cellspacin

106、g="0" cellpadding="0" width="90%" align="left" border="0" height="483"></p><p>  <tbody><tr><td height="95"></p&g

107、t;<p>  <table cellspacing="0" cellpadding="0" border="0"></p><p>  <tbody><tr></tr></tbody></table></td></p><p>  

108、<tr><td align="right" width="90%" height="124"></p><p><b>  <%</b></p><p>  UserBean userBeaen=new UserBean();</p><p>  user

109、Bean=userBean.getUserInfo(userName);</p><p><b>  %></b></p><p>  <table cellspacing="0" cellpadding="0" width="100%" align="right" borde

110、r="0" height="58"></p><p>  <tbody><tr></p><p>  <td align="left" colspan="2" height="28"><font color="#0d7999"

111、;>您的注冊(cè)信息:</font></td></p><p><b>  </tr><tr></b></p><p>  <td valign="top" align="right" width="15%" height="1"&g

112、t;<B>姓名: </B></td></p><p>  <td width="35%" height="1"><%=userBeaen.getRealName()%></td></p><p><b>  </tr><tr></b>

113、</p><p>  <td valign="top" align="right" width="15%" height="17"><B>聯(lián)系地址:</B></td></p><p>  <td width="35%" height=&q

114、uot;17" <%=userBeaen.getAddress()%></td></p><p><b>  </tr><tr></b></p><p>  <td valign="top" align="right" width="15%" h

115、eight="17"><B>郵政編碼:</B></td></p><p>  <td width="35%" height="17"><%=userBean.getPostCode()%></td></p><p><b>  </tr&

116、gt;<tr></b></p><p>  <td valign="top" align="right" width="15%" height="21"><B>電話: </B></td></p><p>  <td width=&qu

117、ot;35%" height="21"><%=userBean.getPhone()%></td></p><p>  </tr></tbody></table></td></tr><tr></p><p>  <td height="5&qu

118、ot;></td></tr><tr></p><p>  <td width="600" bgcolor="#dcf0d5" height="22"></p><p>  <table cellspacing="1" cellpadding="

119、;1" width="600" border="0"></p><p>  <tbody><tr bgcolor="#dcf0d5"></p><p>  <td align="center" width="290"><B>&l

120、t;font color="#005574"> 書名</font></B></td></p><p>  <td align="center" width="90"><B><font color="#005574">數(shù) 量 </font><

121、;/B></td></p><p>  <td align="right" width="110"><B><font color="#005574">單 價(jià) </font></B></td></p><p>  <td align=&

122、quot;right" width="110"><B><font color="#005574">小 計(jì) </font></B></td></tr></tbody></table></td></tr></p><p>  <tr&g

123、t;<td width="600" height="22"></p><p>  <table cellspacing="1" cellpadding="1" border="0"><tbody></p><p><b>  <%</

124、b></p><p>  Cookie[] cookies=request.getCookies()</p><p>  BookBean bookBean=new BookBean();</p><p>  OrderBean orderBean=new OrderBean();</p><p>  int iOrderNum=ord

125、erBean.getMaxorderId()+1;</p><p>  int iCounts=0;</p><p>  double fTotal=0.0;</p><p>  for(int i=0;i<cookies.length;i++)</p><p><b>  {</b></p><

126、;p>  String strBookId=cookies[i].getName();</p><p>  String strNum=cookies[i].getValue();</p><p>  if(strBookId.startsWith("ISBN"))</p><p><b>  {</b></p&

127、gt;<p>  iCounts=new Integer(strNum).intValue();</p><p>  System.out.println("isbn:");</p><p>  bookBean=bookBean.getBookDetail((new Integer(strBookId.substring(4))).intValue())

128、;</p><p><b>  %></b></p><p><b>  <tr></b></p><p>  <td align="left" width="290"><%=bookBean.getBookName()%></td&g

129、t;</p><p>  <td align="center" width="80"><%=strNum%></td></p><p>  <td align="right" width="110"><B><%=bookBean.getSaleP

130、rice()%>元</B></td></p><p>  <td align="right" width="110"><B><%=bookBean.getSalePrice()*iCounts%>元</B></td></tr></p><p><

131、;b>  <%</b></p><p>  fTotal+=bookBean.getSalePrice()*iCounts;</p><p><b>  }}%></b></p><p>  </tbody></table></td></tr></p>

132、<p>  <td width="600" height="127"></p><p>  <HR color="#dcf0d5" size="1" /></p><p>  <table cellspacing="1" cellpadding=&q

133、uot;0" width="210" align="right" border="0"></p><p><b>  <tbody></b></p><p><b>  <tr></b></p><p>  <td&g

134、t;<B><font color="#0d7999">合 計(jì):</font></B></td></p><p>  <td align="right"><B><font><%=fTotal%>元</font></B></td>&l

135、t;/tr></p><p><b>  <tr></b></p><p>  <td colspan="2"></p><p>  <HR color="#dcf0d5" size="1" /></p><p>  &

136、lt;/td></tr></p><p><b>  <tr></b></p><p>  <td><B><font class="p9" color="#0d7999">送貨方式:</font></B></td></p&

137、gt;<p>  <td align="right"><B><font class="p9"><%=strDeliv%></font></B></td></tr></p><p><b>  <tr></b></p>

138、<p>  <td><B><font class="p9" color="#0d7999">付款方式:</font></B></td></p><p>  <td align="right"><B><font class="p9&qu

139、ot;></p><p>  <%=strPayment%></font></B></td></tr></tbody></table></td></tr></p><p>  <td width="600" bgcolor="#dcf0d5&

140、quot; height="20"></p><p>  <table width="600" align="right" bgcolor="#dcf0d5"></p><p><b>  <tbody></b></p><p><

141、;b>  <tr></b></p><p>  <td width="80"></td></p><p>  <td class="large" align="center"><font color="#0d7999"><B&g

142、t;您的訂單號(hào)碼是:></B></font></td></p><p>  <td class="p8" align="left" width="170"><%=iOrderNum%></td></tr></p><p>  </tbo

143、dy></table></td></tr><tr></p><p>  <td align="center" width="600" height="39"></p><p>  <table><tbody></p><p

144、><b>  <tr></b></p><p>  <td align="center" width="290"><A href="indexContent.jsp"></p><p>  <img alt="繼續(xù)購(gòu)書" src="

145、images/boo_5.gif" border="0" width="69" height="25" /></A></td></p><p>  <td align="center" width="300"></p><p>  <

146、A href="createOrder.jsp?deliv%>&payment=<%=strPayment%>&orderNum=<%=iOrderNum%>"></p><p>  <img alt="生成訂單" src="images/book_6.gif" border="0&qu

147、ot; width="76" height="31" /></A></p><p>  </td></tr></tbody></table></td></tr></tbody></tbody></td></tr></tbody>

148、;</table></p><p><b>  </body></b></p><p><b>  5 程序調(diào)試</b></p><p><b>  5.1 客戶登陸</b></p><p>  圖5.1 登陸后的頁(yè)面</p><p&

149、gt;  5.2 點(diǎn)購(gòu)買圖書鏈接</p><p>  圖5.2 點(diǎn)購(gòu)買圖書鏈接后的頁(yè)面</p><p><b>  5.3 訂單確認(rèn)</b></p><p><b>  圖5.3 訂單確認(rèn)</b></p><p>  5.4 查看圖書詳細(xì)資料</p><p><b>

150、;  6 總 結(jié)</b></p><p>  在應(yīng)用程序的設(shè)計(jì)過程中,無(wú)論是初學(xué)者還是編程老手,在編寫程序的時(shí)候總避免不了各式各樣錯(cuò)誤的發(fā)生。為了能夠快速確定錯(cuò)誤的原因,盡快地排除程序邏輯錯(cuò)誤,通常把程序錯(cuò)誤劃分為三種類型:語(yǔ)法錯(cuò)誤,運(yùn)行錯(cuò)誤和邏輯錯(cuò)誤。在本次網(wǎng)上書店系統(tǒng)的程序設(shè)計(jì)中,也發(fā)現(xiàn)了一些錯(cuò)誤,通過查閱參考文獻(xiàn)資料和老師的精心指導(dǎo),逐一改正了錯(cuò)誤,使程序基本達(dá)到了設(shè)計(jì)意圖和設(shè)計(jì)功能。</

151、p><p>  而且這次課程設(shè)計(jì)還涉及到一些美工,由于我們是理科生,對(duì)美工實(shí)在是不精通,所以界面做得就不夠美觀了。在課程設(shè)計(jì)過程中要通過自己的自學(xué)舉一反三的過程來(lái)完成整個(gè)課程設(shè)計(jì),從陌生到熟悉,最終還是完成得讓自己比較滿意,而且通過錢幾個(gè)學(xué)期的課程設(shè)計(jì),積累了點(diǎn)經(jīng)驗(yàn),就不會(huì)像以前一樣面對(duì)課程設(shè)計(jì)的題目無(wú)從下手了。</p><p>  做課程設(shè)計(jì)不僅讓我修補(bǔ)了以前學(xué)習(xí)的漏洞,也讓我知道一個(gè)道理:

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫(kù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論