版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 中南林業(yè)科技大學(xué)</b></p><p><b> 本科課程設(shè)計說明書</b></p><p> 學(xué)生姓名: 夏 x </p><p> 學(xué) 號: 20083727 </
2、p><p> 學(xué) 院: 理 學(xué) 院 </p><p> 專業(yè)年級: 2008級信息與計算科學(xué)二班 </p><p> 課 程: Web網(wǎng)頁課程設(shè)計 </p><p> 設(shè)計(論文)題目: JSP編寫網(wǎng)上購書系
3、統(tǒng) </p><p> 指導(dǎo)教師: kk </p><p><b> 2011年6月</b></p><p><b> 中 文 摘 要</b></p><p> 這次課程設(shè)計通過一個小型網(wǎng)上購書系統(tǒng)的實例,來熟悉Web的網(wǎng)頁制
4、作,我們采用的是JSP的模式來制作動態(tài)的網(wǎng)頁,并將其與數(shù)據(jù)庫連接來實現(xiàn)一定的功能。本次課程設(shè)計只是創(chuàng)建了一個簡單的網(wǎng)上購書系統(tǒng),但從功能上來說,是比較完備的。并且將所學(xué)的一些知識都運用其中,比如數(shù)據(jù)庫及數(shù)據(jù)庫的連接,軟件工程制作圖形,一些界面設(shè)計及網(wǎng)頁制作等等。</p><p> 關(guān)鍵字:Javascript 網(wǎng)上購書系統(tǒng) 數(shù)據(jù)庫 連接</p><p><b> 英 文
5、 摘 要</b></p><p> This course design 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 connec
6、tion to achieve a certain function. This course design 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
7、 and the connection, and software engineering make graphics, some interface design and web pages,</p><p><b> 目 錄</b></p><p><b> 1 系統(tǒng)概述1</b></p><p> 1.1 系
8、統(tǒng)功能與應(yīng)用背景1</p><p> 1.2 系統(tǒng)預(yù)覽2</p><p> 1.3 系統(tǒng)特點2</p><p><b> 2 系統(tǒng)設(shè)計3</b></p><p> 2.1 系統(tǒng)設(shè)計思想3</p><p> 2.2 系統(tǒng)功能模塊劃分3</p><p>&
9、lt;b> 3 數(shù)據(jù)庫設(shè)計5</b></p><p> 3.1 數(shù)據(jù)庫需求分析5</p><p> 3.2數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計5</p><p> 3.3數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計7</p><p> 3.4 數(shù)據(jù)庫的生成與配置9</p><p> 4 代碼的編寫10</p>
10、<p> 4.1 數(shù)據(jù)庫連接的代碼編寫10</p><p> 4.2 登陸后界面的代碼編寫12</p><p> 4.3圖書詳細(xì)信息的代碼編寫13</p><p> 4.4購物車管理的代碼編寫14</p><p> 4.5訂單確認(rèn)的代碼編寫16</p><p><b> 5
11、 程序調(diào)試20</b></p><p> 5.1 客戶登陸20</p><p> 5.2 點購買圖書鏈接20</p><p> 5.3 訂單確認(rèn)21</p><p> 5.4 查看圖書詳細(xì)資料21</p><p><b> 6 總 結(jié)22</b></p>
12、;<p><b> 參考文獻23</b></p><p><b> 1 系統(tǒng)概述</b></p><p> 1.1 系統(tǒng)功能與應(yīng)用背景</p><p> 互聯(lián)網(wǎng)以前所未有的速度發(fā)展,成為與報紙、廣播、電視相比肩的第四媒體,同時正以其便捷的信息傳輸形式改變著人們的消費模式,利用簡單、快捷、低成本的電子
13、通信方式,買賣雙方不謀面就可以進行各種商貿(mào)活動,走向商業(yè)的互聯(lián)網(wǎng)已經(jīng)成為網(wǎng)絡(luò)經(jīng)濟的大勢所趨。</p><p> 在提出電子商務(wù)的概念短短幾年的時間里,這一概念已經(jīng)在全球各地被廣泛接受。根據(jù)買方和賣方的不同,電子商務(wù)市場可以劃分為4種類型:B2B,B2C,C2B,C2C。就規(guī)模而言,B2B和B2C居于主導(dǎo)地位。眼下電子商務(wù)網(wǎng)站正如雨后春筍般地大量涌現(xiàn),企業(yè)網(wǎng)絡(luò)化已經(jīng)成為一種時尚。</p><p
14、> 該系統(tǒng)的在線書店主要完成的功能如下。</p><p><b> 1.客戶界面部分</b></p><p> (1)圖書選購(可按分類方式查找圖書,或通過關(guān)鍵字進行查詢)。</p><p><b> (2)購物車功能。</b></p><p> ?。?)查看圖書詳細(xì)情況。</p
15、><p><b> ?。?)用戶注冊。</b></p><p><b> ?。?)用戶登陸。</b></p><p> (6)查看用戶訂單信息。</p><p><b> 2.管理界面部分</b></p><p> (1)現(xiàn)有圖書管理:修改、刪除、查看
16、。</p><p> ?。?)用戶管理:查看、修改、刪除。</p><p> (3)訂單管理:查看訂單清單,更新訂單付款,出貨狀態(tài),刪除訂單。</p><p><b> ?。?)添加新圖書。</b></p><p> ?。?)添加圖書分類。</p><p><b> 1.2 系統(tǒng)預(yù)覽
17、</b></p><p> 如圖 1-1所示是打開網(wǎng)站的第一個界面。從圖中可以看成,客戶不用登陸就可以瀏覽、查看圖書詳細(xì)資料,可以按關(guān)鍵字/分類查詢圖書,也可以方便快捷的轉(zhuǎn)到系統(tǒng)的其他功能模塊。</p><p><b> 1-1 系統(tǒng)主頁面</b></p><p><b> 1.3 系統(tǒng)特點</b><
18、;/p><p> 本系統(tǒng)具有一下特點。</p><p> 1.界面模塊化:本系統(tǒng)在界面設(shè)計上都采用了模塊化的處理思想,把很多頁面共有部分集成一個模塊,例如頁面的頭、尾和導(dǎo)航條,這樣在開發(fā)時,遇到這些相似頁面部分就不需要重新編寫,而只要以一句:<%@include file=”top.jsp”%>重用這部分即可,大大提高了開發(fā)效率。</p><p> 2
19、.三層結(jié)構(gòu)設(shè)計:本系統(tǒng)采用三層結(jié)構(gòu)設(shè)計,即程序邏輯結(jié)構(gòu)分為用戶界面層、業(yè)務(wù)邏輯處理層和數(shù)據(jù)存儲層。三層在實際的物理結(jié)構(gòu)上也是獨立的,業(yè)務(wù)邏輯處理層采用JavaBean實現(xiàn),用戶界面與業(yè)務(wù)邏輯分離,系統(tǒng)的安全性、可維護性、重用性和可擴展性都大大提高。</p><p> 3.面向?qū)ο笤O(shè)計:在系統(tǒng)中將用戶、圖書等都封裝成相應(yīng)的類,同時每個類都有自己對應(yīng)的操作類,從而再次提高了對數(shù)據(jù)庫操作的安全性和程序的可擴展性。&l
20、t;/p><p> 4.人性化設(shè)計:本系統(tǒng)導(dǎo)航的另一個亮點就是導(dǎo)航明晰。這樣,不管客戶位于本“書店”的哪個角落,都不會迷路。</p><p><b> 2 系統(tǒng)設(shè)計</b></p><p> 2.1 系統(tǒng)設(shè)計思想</p><p><b> 1.頁面模塊化</b></p><p
21、> 本系統(tǒng)把頁面中一些常用的部分集成為模塊,例如界面的頭部,這樣設(shè)計新的頁面時如果有重復(fù)出現(xiàn)的部分,只需要拿現(xiàn)成的模塊來組裝就可以了。</p><p><b> 2.三層結(jié)構(gòu)架構(gòu)</b></p><p> 采用三層架構(gòu)以后,用戶界面層通過統(tǒng)一的接口向業(yè)務(wù)層發(fā)送請求,業(yè)務(wù)層按自己的邏輯規(guī)則將請求處理之后進行數(shù)據(jù)庫操作。然后將數(shù)據(jù)庫返回的數(shù)據(jù)封裝成類的形式返回
22、給用戶界面層。這樣用戶界面層甚至可以不知道數(shù)據(jù)庫的結(jié)構(gòu),它只要維護與業(yè)務(wù)層之間的接口即可。這種方式在一定程度上增加了數(shù)據(jù)庫的安全性,同時也降低了對用戶界面層開發(fā)人員的要求。</p><p> JavaBean通過返回對象的形式來返回數(shù)據(jù),在類的內(nèi)部可以規(guī)定哪些數(shù)據(jù)可訪問,哪些數(shù)據(jù)是只讀的等,從而通過封裝數(shù)據(jù)達到再一次提高數(shù)據(jù)安全性的目的。</p><p> 2.2 系統(tǒng)功能模塊劃分&l
23、t;/p><p> 根據(jù)系統(tǒng)功能分析,可以畫系統(tǒng)的功能模塊圖,本例從客戶界面、管理界面分別對功能模塊圖加以描述??蛻艚缑娴南到y(tǒng)功能模塊圖如2-1所示。</p><p> 圖2-1 客戶界面系統(tǒng)功能模塊圖</p><p> 管理界面的系統(tǒng)功能模塊圖如圖2-2所示。</p><p> 圖2-2 管理界面的系統(tǒng)功能模塊圖</p>
24、<p><b> 3 數(shù)據(jù)庫設(shè)計</b></p><p> 數(shù)據(jù)庫在一個信息管理系統(tǒng)中占有非常重要的地位,數(shù)據(jù)庫結(jié)構(gòu)設(shè)計的好環(huán)境直接應(yīng)用系統(tǒng)的效率,以及實現(xiàn)的效果產(chǎn)生影響。合理的數(shù)據(jù)庫結(jié)構(gòu)設(shè)計可以提高數(shù)據(jù)存儲的效率,保證數(shù)據(jù)的完整和一致。</p><p> 3.1 數(shù)據(jù)庫需求分析</p><p> 用戶的需求具體體現(xiàn)在各種信息
25、的提供、保存、更新和查詢,這就要求數(shù)據(jù)庫結(jié)構(gòu)能充分滿足各種信息的輸出和輸入。收集基本數(shù)據(jù)、數(shù)據(jù)結(jié)構(gòu)及數(shù)據(jù)處理的流程,組成一份詳盡的數(shù)據(jù)字典,為后面的具體設(shè)計打下基礎(chǔ)。</p><p> 通過上述系統(tǒng)功能分析,有如下的需求信息。</p><p> 用戶分一般用戶和管理員用戶。</p><p> 訂單分單張詳細(xì)訂單和總訂單。</p><p>
26、; 每一本圖書都從屬于一種類型。</p><p> 一個用戶可以購買多本圖書。</p><p> 一個用戶對應(yīng)一張訂單列表。</p><p> 一個列表對應(yīng)多張訂單。</p><p> 經(jīng)過上面系統(tǒng)功能分析和需求總結(jié),考慮到將來功能上的擴展,設(shè)計如下所示的數(shù)據(jù)項和數(shù)據(jù)結(jié)果。</p><p> 管理員信息,包
27、括數(shù)據(jù)項:用戶名、密碼。</p><p> 普通用戶,包括數(shù)據(jù)項:用戶ID、用戶名、密碼等。</p><p> 圖書,包括數(shù)據(jù)項:圖書編號、圖書名稱分類編號等。</p><p> 圖書分類,包括數(shù)據(jù)項:分類編號、分類名稱。</p><p> 訂單列表,包括數(shù)據(jù)項:訂單編號、圖書編號、購書數(shù)量。</p><p>
28、 訂單,包括數(shù)據(jù)項:訂單編號、用戶編號、下單時間等。</p><p> 3.2數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計</p><p> 得到上面的數(shù)據(jù)項和數(shù)據(jù)結(jié)構(gòu)以后,就可以設(shè)計出能夠滿足用戶需求的各種實體,以及它們之間的關(guān)系,為后面的邏輯結(jié)構(gòu)設(shè)計打下基礎(chǔ)。本實例根據(jù)上面的設(shè)計規(guī)劃出的實體有:管理員信息實體、用戶信息實體、圖書實體、圖書分類實體、訂單實體、訂單列表實體。</p><p
29、> 實體之間關(guān)系的E-R圖如圖3-1所示。</p><p> 圖3-1 實體之間關(guān)系的E-R圖</p><p> 管理員信息實體的E-R圖如圖3-2所示。</p><p> 用戶信息實體的E-R圖如圖3-3所示。</p><p> 圖3-2 圖 3-3</
30、p><p> 圖書實體的E-R圖如圖3-4所示。</p><p> 圖書分類實體的E-R圖如圖3-5所示。</p><p> 圖3-4 圖3-5</p><p> 訂單實體的E-R圖如圖3-6所示。</p><p> 訂單列表實體的E-R圖如圖3-7所示。
31、</p><p> 圖3-6 圖3-7</p><p> 3.3數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計</p><p> 數(shù)據(jù)的概念結(jié)構(gòu)設(shè)計完畢后,現(xiàn)在可以將上面的數(shù)據(jù)庫概念結(jié)構(gòu)轉(zhuǎn)化為某種數(shù)據(jù)庫系統(tǒng)所支持的實際數(shù)據(jù)模型,也就是數(shù)據(jù)庫的邏輯結(jié)構(gòu)。</p><p> 該系統(tǒng)使用的是SQL2005,
32、在線書店數(shù)據(jù)庫中的各個表的設(shè)計結(jié)果如下面的表格所示。每個表格表示在數(shù)據(jù)庫中的一個表。表3-1記錄了書店現(xiàn)有的圖書信息。</p><p><b> 表 3-1 圖書表</b></p><p> 如表3-2所示為bookadmin管理員信息表,記錄管理員的賬號密碼。</p><p><b> 表3-2 管理員表</b>&
33、lt;/p><p> 如表3-3所示為shop_user書店用戶信息表,記錄書店所有用戶的詳細(xì)信息。</p><p> 表3-3 用戶信息表</p><p> 如表3-4所示為order 訂單詳細(xì)表,記錄商店所有用戶的詳細(xì)信息。</p><p> 表3-4 訂單詳細(xì)表</p><p> 如表3-5 為tb_wor
34、d訂單信息總表,記錄某個用戶留言。</p><p> 表3-5 訂單信息表</p><p> 如表3-6為bookclass圖書分類表,記錄書店現(xiàn)有的圖書分類。</p><p> 表3-6 圖書分類表</p><p> 表3-7為allorders訂單信息總表,記錄某個用戶的訂單總信息。</p><p> 表
35、3-7 訂單信息表</p><p> 3.4 數(shù)據(jù)庫的生成與配置</p><p> 經(jīng)過前面的需求分析和概念結(jié)構(gòu)設(shè)計以后,得到數(shù)據(jù)庫的邏輯結(jié)構(gòu)。現(xiàn)在就可以再SQL2005中創(chuàng)建數(shù)據(jù)表了。</p><p><b> 4 代碼的編寫</b></p><p> 4.1 數(shù)據(jù)庫連接的代碼編寫</p><
36、;p><b> 代碼如下:</b></p><p> package com.yxq.toolsbean;</p><p> import java.sql.Connection;</p><p> import java.sql.DriverManager;</p><p> import java.s
37、ql.ResultSet;</p><p> import java.sql.SQLException;</p><p> import java.sql.Statement;</p><p> public class DB {</p><p> private Connection con = null;</p>&
38、lt;p> private Statement stm=null; </p><p> /* 通過構(gòu)造方法加載數(shù)據(jù)庫驅(qū)動 */</p><p> public DB(){</p><p><b> try {</b></p><p> Class.forName("sun.jdbc.odbc.J
39、dbcOdbcDriver"); </p><p> } catch (Exception e) {</p><p> e.printStackTrace();</p><p> System.out.println("加載數(shù)據(jù)庫驅(qū)動失??!");</p><p><b> } </
40、b></p><p><b> }</b></p><p> /* 創(chuàng)建數(shù)據(jù)庫連接 */</p><p> public void createCon() {</p><p><b> try {</b></p><p> con = DriverManage
41、r.getConnection("jdbc:odbc:tang");</p><p> } catch (Exception e) {</p><p> e.printStackTrace();</p><p> System.out.println("獲取數(shù)據(jù)庫連接失??!");</p><p>
42、<b> }</b></p><p><b> }</b></p><p> /* 獲取Statement對象 */</p><p> public void getStm(){</p><p> createCon();</p><p><b> tr
43、y {</b></p><p> stm=con.createStatement();</p><p> } catch (SQLException e) {</p><p> e.printStackTrace();</p><p> System.out.println("創(chuàng)建Statement對象失敗!&q
44、uot;);</p><p><b> }</b></p><p><b> }</b></p><p><b> /** </b></p><p> * @功能 對數(shù)據(jù)庫的增加、修改和刪除的操作</p><p> * @參數(shù) sql為要執(zhí)行的
45、SQL語句</p><p> * @返回值 boolean型值 </p><p><b> */</b></p><p> public boolean executeUpdate(String sql) {</p><p> System.out.println(sql);</p><p&g
46、t; boolean mark=false;</p><p><b> try {</b></p><p><b> getStm();</b></p><p> int iCount = stm.executeUpdate(sql);</p><p> if(iCount>0)
47、 </p><p> mark=true; </p><p><b> else</b></p><p> mark=false;</p><p> } catch (Exception e) {</p><p> e.printStackTra
48、ce();</p><p> mark=false;</p><p><b> }</b></p><p> return mark;</p><p><b> }</b></p><p> /* 查詢數(shù)據(jù)庫 */</p><p> pub
49、lic ResultSet executeQuery(String sql) {</p><p> ResultSet rs=null;</p><p><b> try {</b></p><p><b> getStm();</b></p><p><b> try {<
50、/b></p><p> rs = stm.executeQuery(sql);</p><p> } catch (Exception e) {</p><p> e.printStackTrace();</p><p> System.out.println("查詢數(shù)據(jù)庫失敗!");</p>
51、<p><b> }</b></p><p> } catch (Exception e) {</p><p> e.printStackTrace(); </p><p><b> }</b></p><p> return rs;</p>&
52、lt;p><b> }</b></p><p> /* 關(guān)閉數(shù)據(jù)庫的操作 */</p><p> public void closed() {</p><p> if(stm!=null)</p><p><b> try {</b></p><p> st
53、m.close();</p><p> } catch (SQLException e) {</p><p> e.printStackTrace();</p><p> System.out.println("關(guān)閉stm對象失?。?quot;);</p><p><b> }</b></p>
54、;<p> if(con!=null)</p><p><b> try {</b></p><p> con.close();</p><p> } catch (SQLException e) {</p><p> e.printStackTrace();</p><p&g
55、t; System.out.println("關(guān)閉con對象失??!");</p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> 4.2 登陸后界面的代碼編寫</p&
56、gt;<p><b> 代碼如下:</b></p><p> <%@ page language="java" impor="bookstore.bean.*" pageEncoding="GBK"%></p><p> <%String userName=(String
57、)session.getAttribute("username");%></p><p><b> <html></b></p><p> <head></head></p><p><b> <body></b></p><
58、;p> <table width="%80" border="1" cellpadding="0" cellspacing="0"></p><p> <tr><td width="100%" height="100" valign="botto
59、m"></p><p> <img src="images/book_003.gif" /></p><p> <%if(userName==null)</p><p> out.println("歡迎你客人");</p><p><b> else&
60、lt;/b></p><p> out.println("歡迎你"+userName);%></p><p> </td></tr></table></p><p> <table width="80%" border="1" cellpaddin
61、g="0" cellspacing="0" style="border-collapse:collapse;" bordercolor="#CCCCCC" height="400"><tr></p><p> <td width="100%" height="
62、38" valign="top" bgcolor="#6699FF"> 最新圖書</td></tr><tr><td height="362" valign="top" style="border-collapse:collapse;" bordercolor="#CCCC
63、CC"></p><p> <tr><td width="25" height="15px" align="center">書 名</td></p><p> <td width="18%" align="center">
64、定 價</td></p><p> <td width="18%" align="center">會員價</td></p><p> <td width="25%" align="center">作 者</td></p><
65、p> <td width="14%" align="center">詳細(xì)</td></tr></p><p> <%//獲取書店最新發(fā)布的圖書集合</p><p> BookBean bookBean=new BookBean();</p><p> Vector vec
66、Book =null;</p><p> vecBook=bookBean.getLatelyBook(10);</p><p> if(vecBook!=null)</p><p><b> {</b></p><p> for(int i=0;i<vecBook.size();i++){</p&g
67、t;<p> bookBean=(BookBean) vecBook.get(i);</p><p><b> %></b></p><p><b> <TR></b></p><p> <td height="25" align="center&
68、quot;><%=bookBean.getBookName()%></td></p><p> <td height="25" align="center"><%=bookBean.getPrice()%></td></p><p> <td height="25&
69、quot; align="center"><%=bookBean.getSalePrice()%></td></p><p> <td height="25" align="center"><%=bookBean.getAuthor()%></td></p><p
70、> <td height="25" align="center"></p><p> <a href="showDetail.jsp?bookId=<%=bookBean.getBookId()%>"></p><p> <img src="images/view.g
71、if" border="0" width="25" height="25" /></a></td></p><p><b> </TR></b></p><p><b> <%}}%></b></p>&l
72、t;p> </table></td></tr></p><p><b> </table></b></p><p><b> </body></b></p><p><b> </html></b></p>
73、;<p> 4.3 圖書詳細(xì)信息的代碼編寫</p><p><b> 代碼如下:</b></p><p> <table cellspacing="0" cellpadding="0" width="625" align="center" border="
74、;0" height="492"></p><p><b> <tbody></b></p><p> <tr><td width="600" height="291"></p><p><b> <%</
75、b></p><p> BookBean book=new BookBean();</p><p> book=book.getBookDetail(new Integer(bookId).intValue());</p><p><b> %></b></p><p> <td valign=
76、"top" width="100"><img height="150" alt="圖書封面" src="<%book.getImage()%>" width="100" align="left" border="1" </p><p&g
77、t; valign="middle" /></td></p><p> <td><b>書名:</b><font color=blue><b><%=book.getBookName()%></b></font><br /></p><p>
78、<b>作者:</b><font color="#0000FF"><%=bookgetAuthor()%></font> <br /></p><p> <b>出版社:</b><font class="small"><%=book.getPublish()%&g
79、t;</font></p><p><b> </td></b></p><p><b> </tr></b></p><p><b> </tbody></b></p><p><b> </table&
80、gt;</b></p><p> <table width="620" border="0" cospan="3"></p><p> <tbody><tr></p><p> <td><b>定價:</b><fo
81、nt color="#FF0000"><%=book.getPrice()%>元</font></td></p><p> <td><b>本站價格:</b><font color="#FF0000"><%=book.getSalePrice()%>元</font&g
82、t;</td></tr><tr></p><p> <td align="left" colspan="2" height="36"><A href="addCart.jsp?bookId=<%=book.getBookId()%>"><img heigh
83、t="17" src="images/order.gif"</p><p> width="115" height="36" border="0" /></A></td></tr></p><p> </tbody></td&g
84、t;</tr></p><p> <tr bgcolor="#ececda"></p><p> <td width="621" height="26" bgcolor="#336699"></p><p> <DIV align=&quo
85、t;left"><font color="#FFFFFF"><I>內(nèi)容簡介</I></font></DIV></td></tr></p><p><b> <tr></b></p><p> <TD width="62
86、0" height="145"></p><p> <UL><P><font class="p9"><%=book.getBookDesc()%></p><p> </font></P></UL></TD></tr><
87、;/p><p> <TR><TD height="30"><hr /></TD></TR></tbody></table></tr></tbody></table></p><p> 4.4 購物車管理的代碼編寫</p><p>
88、;<b> 代碼如下:</b></p><p> <TABLE border="1" width="80%" cellspacing="0" align="center" bordercolor="#CCCCCC"></p><p><b>
89、 <TR></b></p><p> <TD width="40%" align="center">書名</TD></p><p> <TD width="20%" align="center">單價</TD></p>&
90、lt;p> <TD width="20%" align="center">數(shù)量</TD></p><p> <TD width="20%" align="center">刪除此項</TD></p><p><b> </TR>&l
91、t;/b></p><p> <% Cookie[] cookies=request.getCookies();</p><p> BookBean bookBean=new BookBean();</p><p> for(int i=0;i<cookies.length;i++)</p><p><b>
92、 {</b></p><p> String strBookId=cookies[i].getName();</p><p> System.out.println("strBookId:"+strBookId);</p><p> String num=cookies[i].getValue();</p>&l
93、t;p> if(strBookId.startswith("ISBN"))</p><p><b> {</b></p><p> bookBean=bookBean.getBookDetail((new Integer(strBookId.substring(4))).intValue());</p><p>
94、<b> %></b></p><p><b> <TR></b></p><p> <TD width="258"><A href="showDetail.jsp?bookId=<%bookBean.getBookId()%>"></p&g
95、t;<p> <%=bookBean.getBookName()%></A></TD></p><p> <TD width="62"><%=bookBean.getPrice()%></TD></p><p> <TD width="36">&l
96、t;input size="5" type="text" maxlength="5" value="<%=num%>" name="num" readonly /></TD></p><p> <TD width="43"></p>&l
97、t;p> <A href="delBook.jsp?bookId=<%=bookBean.getBookId()%>">刪除</p><p><b> </A></TD></b></p><p><b> </TR></b></p><
98、p><b> <%}}%></b></p><p> </TABLE><BR /></p><p> <TABLE border="0" width="80" align="center"></p><p> <tbo
99、dy><BR /></p><p> <TD width="19%" align="center"><A href="indexContent.jsp">繼續(xù)選購</p><p><b> </A></TD></b></p>
100、<p> <TD width="24%" align="center"><A href="emptycart.jsp">清空購物車</p><p><b> </A></TD></b></p><p> <TD width="27
101、%" align="center">修改數(shù)量</TD></p><p> <TD width="30" align="center"><A href="paymentMode.jsp">提交訂單</A></TD></p><p>
102、</TR></tbody></TABLE></p><p> 4.5 訂單確認(rèn)的代碼編寫</p><p><b> 代碼如下:</b></p><p> <BODY bgcolor="#ffffff" leftmargin="0" topmargin=&qu
103、ot;0"></p><p> <table cellspacing="0" cellpadding="0" width="80%" align="center" border="0"></p><p><b> <tbody></
104、b></p><p><b> <tr></b></p><p> <td valign="top" align="center" width="15%"></p><p> <table cellspacing="0" c
105、ellpadding="0" width="64" border="0"></p><p> <tbody><tr><td></td></tr></tbody></table></td></p><p> <td val
106、ign="top"><br /><table cellspacing="0" cellpadding="0" width="90%" align="left" border="0" height="483"></p><p> <tbod
107、y><tr><td height="95"></p><p> <table cellspacing="0" cellpadding="0" border="0"></p><p> <tbody><tr></tr></tb
108、ody></table></td></p><p> <tr><td align="right" width="90%" height="124"></p><p><b> <%</b></p><p> UserBe
109、an userBeaen=new UserBean();</p><p> userBean=userBean.getUserInfo(userName);</p><p><b> %></b></p><p> <table cellspacing="0" cellpadding="0&quo
110、t; width="100%" align="right" border="0" height="58"></p><p> <tbody><tr></p><p> <td align="left" colspan="2" hei
111、ght="28"><font color="#0d7999">您的注冊信息:</font></td></p><p><b> </tr><tr></b></p><p> <td valign="top" align="r
112、ight" width="15%" height="1"><B>姓名: </B></td></p><p> <td width="35%" height="1"><%=userBeaen.getRealName()%></td></p&g
113、t;<p><b> </tr><tr></b></p><p> <td valign="top" align="right" width="15%" height="17"><B>聯(lián)系地址:</B></td></p
114、><p> <td width="35%" height="17" <%=userBeaen.getAddress()%></td></p><p><b> </tr><tr></b></p><p> <td valign="to
115、p" align="right" width="15%" height="17"><B>郵政編碼:</B></td></p><p> <td width="35%" height="17"><%=userBean.getPostCode()%
116、></td></p><p><b> </tr><tr></b></p><p> <td valign="top" align="right" width="15%" height="21"><B>電話: </
117、B></td></p><p> <td width="35%" height="21"><%=userBean.getPhone()%></td></p><p> </tr></tbody></table></td></tr>&l
118、t;tr></p><p> <td height="5"></td></tr><tr></p><p> <td width="600" bgcolor="#dcf0d5" height="22"></p><p>
119、 <table cellspacing="1" cellpadding="1" width="600" border="0"></p><p> <tbody><tr bgcolor="#dcf0d5"></p><p> <td align=
120、"center" width="290"><B><font color="#005574"> 書名</font></B></td></p><p> <td align="center" width="90"><B><
121、font color="#005574">數(shù) 量 </font></B></td></p><p> <td align="right" width="110"><B><font color="#005574">單 價 </font><
122、;/B></td></p><p> <td align="right" width="110"><B><font color="#005574">小 計 </font></B></td></tr></tbody></table&g
123、t;</td></tr></p><p> <tr><td width="600" height="22"></p><p> <table cellspacing="1" cellpadding="1" border="0">
124、<tbody></p><p><b> <%</b></p><p> Cookie[] cookies=request.getCookies()</p><p> BookBean bookBean=new BookBean();</p><p> OrderBean orderBean=n
125、ew OrderBean();</p><p> int iOrderNum=orderBean.getMaxorderId()+1;</p><p> int iCounts=0;</p><p> double fTotal=0.0;</p><p> for(int i=0;i<cookies.length;i++)<
126、;/p><p><b> {</b></p><p> String strBookId=cookies[i].getName();</p><p> String strNum=cookies[i].getValue();</p><p> if(strBookId.startsWith("ISBN&qu
127、ot;))</p><p><b> {</b></p><p> iCounts=new Integer(strNum).intValue();</p><p> System.out.println("isbn:");</p><p> bookBean=bookBean.getBookD
128、etail((new Integer(strBookId.substring(4))).intValue());</p><p><b> %></b></p><p><b> <tr></b></p><p> <td align="left" width="
129、290"><%=bookBean.getBookName()%></td></p><p> <td align="center" width="80"><%=strNum%></td></p><p> <td align="right" wi
130、dth="110"><B><%=bookBean.getSalePrice()%>元</B></td></p><p> <td align="right" width="110"><B><%=bookBean.getSalePrice()*iCounts%>元&
131、lt;/B></td></tr></p><p><b> <%</b></p><p> fTotal+=bookBean.getSalePrice()*iCounts;</p><p><b> }}%></b></p><p> </t
132、body></table></td></tr></p><p> <td width="600" height="127"></p><p> <HR color="#dcf0d5" size="1" /></p><p&
133、gt; <table cellspacing="1" cellpadding="0" width="210" align="right" border="0"></p><p><b> <tbody></b></p><p><b&g
134、t; <tr></b></p><p> <td><B><font color="#0d7999">合 計:</font></B></td></p><p> <td align="right"><B><font>
135、;<%=fTotal%>元</font></B></td></tr></p><p><b> <tr></b></p><p> <td colspan="2"></p><p> <HR color="#dcf0d5
136、" size="1" /></p><p> </td></tr></p><p><b> <tr></b></p><p> <td><B><font class="p9" color="#0d7999&
137、quot;>送貨方式:</font></B></td></p><p> <td align="right"><B><font class="p9"><%=strDeliv%></font></B></td></tr></p>
138、;<p><b> <tr></b></p><p> <td><B><font class="p9" color="#0d7999">付款方式:</font></B></td></p><p> <td align=&
139、quot;right"><B><font class="p9"></p><p> <%=strPayment%></font></B></td></tr></tbody></table></td></tr></p><p&g
140、t; <td width="600" bgcolor="#dcf0d5" height="20"></p><p> <table width="600" align="right" bgcolor="#dcf0d5"></p><p><
141、;b> <tbody></b></p><p><b> <tr></b></p><p> <td width="80"></td></p><p> <td class="large" align="center
142、"><font color="#0d7999"><B>您的訂單號碼是:></B></font></td></p><p> <td class="p8" align="left" width="170"><%=iOrderNum%&g
143、t;</td></tr></p><p> </tbody></table></td></tr><tr></p><p> <td align="center" width="600" height="39"></p>
144、<p> <table><tbody></p><p><b> <tr></b></p><p> <td align="center" width="290"><A href="indexContent.jsp"></p&
145、gt;<p> <img alt="繼續(xù)購書" src="images/boo_5.gif" border="0" width="69" height="25" /></A></td></p><p> <td align="center&quo
146、t; width="300"></p><p> <A href="createOrder.jsp?deliv%>&payment=<%=strPayment%>&orderNum=<%=iOrderNum%>"></p><p> <img alt="生成訂單&qu
147、ot; src="images/book_6.gif" border="0" width="76" height="31" /></A></p><p> </td></tr></tbody></table></td></tr></tbo
148、dy></tbody></td></tr></tbody></table></p><p><b> </body></b></p><p><b> 5 程序調(diào)試</b></p><p><b> 5.1 客戶登陸</b&
149、gt;</p><p> 圖5.1 登陸后的頁面</p><p> 5.2 點購買圖書鏈接</p><p> 圖5.2 點購買圖書鏈接后的頁面</p><p><b> 5.3 訂單確認(rèn)</b></p><p><b> 圖5.3 訂單確認(rèn)</b></p>
150、;<p> 5.4 查看圖書詳細(xì)資料</p><p><b> 6 總 結(jié)</b></p><p> 在應(yīng)用程序的設(shè)計過程中,無論是初學(xué)者還是編程老手,在編寫程序的時候總避免不了各式各樣錯誤的發(fā)生。為了能夠快速確定錯誤的原因,盡快地排除程序邏輯錯誤,通常把程序錯誤劃分為三種類型:語法錯誤,運行錯誤和邏輯錯誤。在本次網(wǎng)上書店系統(tǒng)的程序設(shè)計中,也發(fā)現(xiàn)了
151、一些錯誤,通過查閱參考文獻資料和老師的精心指導(dǎo),逐一改正了錯誤,使程序基本達到了設(shè)計意圖和設(shè)計功能。</p><p> 而且這次課程設(shè)計還涉及到一些美工,由于我們是理科生,對美工實在是不精通,所以界面做得就不夠美觀了。在課程設(shè)計過程中要通過自己的自學(xué)舉一反三的過程來完成整個課程設(shè)計,從陌生到熟悉,最終還是完成得讓自己比較滿意,而且通過錢幾個學(xué)期的課程設(shè)計,積累了點經(jīng)驗,就不會像以前一樣面對課程設(shè)計的題目無從下手
溫馨提示
- 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)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- web課程設(shè)計---jsp編寫網(wǎng)上購書系統(tǒng)
- 網(wǎng)上購書系統(tǒng)課程設(shè)計
- 網(wǎng)上購書系統(tǒng)課程設(shè)計
- 網(wǎng)上購書系統(tǒng)課程設(shè)計.doc
- 基于jsp的網(wǎng)上購書系統(tǒng)
- 基于JSP的網(wǎng)上購書系統(tǒng).pdf
- jsp網(wǎng)上購書系統(tǒng)畢業(yè)論文
- 基于jsp的網(wǎng)上購書系統(tǒng)設(shè)計與實現(xiàn)
- [jsp畢設(shè)]jsp網(wǎng)上購書系統(tǒng)源代碼
- 數(shù)據(jù)庫課程設(shè)計報告---網(wǎng)上購書系統(tǒng)
- 軟件工程課程設(shè)計---網(wǎng)上購書系統(tǒng)需求分析
- 【全套設(shè)計下載】jsp網(wǎng)上購書系統(tǒng)設(shè)計(源代碼+論文)
- 基于jsp的網(wǎng)上購書系統(tǒng) 任務(wù)書
- 網(wǎng)上購書系統(tǒng)畢業(yè)設(shè)計
- 畢業(yè)設(shè)計----網(wǎng)上購書系統(tǒng)
- 網(wǎng)上購書系統(tǒng)設(shè)計和實現(xiàn).doc
- 網(wǎng)上購書系統(tǒng)畢業(yè)論文
- 基于JSP的購書系統(tǒng)的設(shè)計與實現(xiàn).pdf
- jsp課程設(shè)計---網(wǎng)上購物系統(tǒng)
- 基于.net的網(wǎng)上購書系統(tǒng)設(shè)計與實現(xiàn)
評論
0/150
提交評論