基于Struts框架的網(wǎng)上書店畢業(yè)論文_第1頁(yè)
基于Struts框架的網(wǎng)上書店畢業(yè)論文_第2頁(yè)
基于Struts框架的網(wǎng)上書店畢業(yè)論文_第3頁(yè)
基于Struts框架的網(wǎng)上書店畢業(yè)論文_第4頁(yè)
基于Struts框架的網(wǎng)上書店畢業(yè)論文_第5頁(yè)
已閱讀5頁(yè),還剩31頁(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、目 錄前 言1第1章 系統(tǒng)開發(fā)技術(shù)3§1.1 mvc模式簡(jiǎn)介3§1.2 struts是實(shí)現(xiàn)mvc模式的框架4第2章 需求分析5§2.1 用戶需求分析5§2.1.1 圖書查詢需求5§2.1.2 購(gòu)物車管理需求5§2.1.3 訂單處理需求5§2.1.4 會(huì)員注冊(cè)需求5§2.2 網(wǎng)上書店系統(tǒng)的用例圖5第3章 系統(tǒng)總體設(shè)計(jì)7§3.1 uml活動(dòng)關(guān)系圖7§3.2 系統(tǒng)組成8§3.3 功能設(shè)計(jì)8§3.3.1 圖書信息管理8§3.3.2 購(gòu)物車管理8§3.3.3 會(huì)員注

2、冊(cè)8§3.3.4 訂單處理9第4章 數(shù)據(jù)庫(kù)設(shè)計(jì)與實(shí)現(xiàn)10§4.1 數(shù)據(jù)庫(kù)的需求分析10§4.2 數(shù)據(jù)庫(kù)的邏輯設(shè)計(jì)10§4.3 數(shù)據(jù)表基本結(jié)構(gòu)12§4.4 創(chuàng)建數(shù)據(jù)表腳本13第5章 系統(tǒng)實(shí)現(xiàn)過程16§5.1 開發(fā)平臺(tái)16§5.2 系統(tǒng)各組件實(shí)現(xiàn)16§5.2.1 用戶表示層16§5.2.2 業(yè)務(wù)邏輯層19§5.2.3 控制處理層24第6章 系統(tǒng)測(cè)試與運(yùn)行27§6.1 系統(tǒng)測(cè)試27§6.1.1 配置測(cè)試環(huán)境27§6.2 測(cè)試結(jié)果28結(jié) 論32參考文獻(xiàn)33致 謝35前 言隨

3、著internet信息技術(shù)的高速發(fā)展和個(gè)人、企業(yè)上網(wǎng)的迅速普及,企業(yè)的www網(wǎng)站在商業(yè)活動(dòng)中發(fā)揮著越來越大的作用,在信息時(shí)代,建立一個(gè)功能強(qiáng)大、界面美觀的電子商務(wù)網(wǎng)站,建立電子商務(wù)系統(tǒng)平臺(tái),對(duì)企業(yè)的發(fā)展是至關(guān)重要的。所謂電子商務(wù),是指各種具有商業(yè)活動(dòng)能力的實(shí)體(生產(chǎn)企業(yè)、商貿(mào)企業(yè)、金融機(jī)構(gòu)、政府機(jī)構(gòu)、個(gè)人消費(fèi)者等)利用網(wǎng)絡(luò)和先進(jìn)的數(shù)字化傳媒技術(shù)進(jìn)行的各項(xiàng)商業(yè)貿(mào)易活動(dòng)。其中特別要強(qiáng)調(diào)的特點(diǎn),一是其商業(yè)背景,二是網(wǎng)絡(luò)化和數(shù)字化。簡(jiǎn)言之,電子商務(wù)就是通過電子網(wǎng)絡(luò)渠道達(dá)成的商務(wù)活動(dòng)。電子商務(wù)是計(jì)算機(jī)網(wǎng)絡(luò)的第二次革命,它通過電子手段建立新的經(jīng)濟(jì)秩序,不僅涉及電子技術(shù)和商業(yè)交易本身,而且涉及諸如金融、稅務(wù)

4、、教育等社會(huì)其他層面。對(duì)于電子商務(wù)的研究始于20世紀(jì)70年代末,而其實(shí)施要更晚些,實(shí)施又分為兩步,其中電子數(shù)據(jù)交換(electronic data interchange,edi)始于20世紀(jì)80年代中期,internet上的電子商務(wù)始于20世紀(jì)90年代初期。電子商務(wù)活動(dòng)相應(yīng)分成兩大類:企業(yè)組織-企業(yè)組織(business-business,b2b)型和企業(yè)組織-消費(fèi)者(business-consumer,b2c)型。根據(jù)統(tǒng)計(jì),目前電子商務(wù)活動(dòng)中80%的收屬于b2b型商務(wù)活動(dòng),這由于企業(yè)組織的信息化程度和技術(shù)水平比個(gè)體消費(fèi)者明顯要高,主要面向的是企業(yè)與企業(yè),為企業(yè)提供進(jìn)行采購(gòu)、銷售和結(jié)算等業(yè)務(wù)

5、的平臺(tái)。b2c則是我們最熟悉的,它直接面向終端的大眾消費(fèi)者。它通常也有兩種形式,一種是類似一個(gè)大的超市,里面擺放著大量的商品,提供給消費(fèi)者直接去選擇購(gòu)買;而另一種形式則類似一個(gè)大商城,商城中有許多柜臺(tái),用戶可以直接到柜臺(tái)選擇和購(gòu)買自己中意的東西,然后去結(jié)算,這種商城只提供柜臺(tái)和相關(guān)的服務(wù),并收取相應(yīng)的柜臺(tái)使用費(fèi)。一般意義上,一個(gè)完整的電子商務(wù)系統(tǒng)包括信息流、資金流與物流三個(gè)要素,三者相輔相成。信息流就是通過電子網(wǎng)絡(luò)向客戶揭示所售商品的相關(guān)信息,引導(dǎo)客戶通過網(wǎng)絡(luò)進(jìn)行購(gòu)物。資金流就是使客戶在選擇商品后,能夠通過網(wǎng)絡(luò)支付相關(guān)費(fèi)用,一般包括預(yù)付款支付、網(wǎng)上銀行支付、貨到付款等多種形式。目前有些電子商務(wù)

6、網(wǎng)站也可以接受郵局匯款。物流就是把客戶所購(gòu)買的商品通過物流配送系統(tǒng)送到客戶手中,對(duì)于一些特殊行業(yè)和領(lǐng)域和電子商務(wù),如證券、金融信息類商品,也可能不需要配送系統(tǒng)的支持就可以把商品送到客戶手中(如股票、電子雜志、域名注冊(cè)等)。在電子商務(wù)中,除了上述三個(gè)要素外,網(wǎng)絡(luò)安全也是需要重點(diǎn)考慮的因素。據(jù)調(diào)查,有1/3的網(wǎng)民認(rèn)為網(wǎng)絡(luò)安全是影響其網(wǎng)上購(gòu)物的因素,因此為了保證網(wǎng)絡(luò)交易的安全,電子商務(wù)網(wǎng)站需要采用數(shù)據(jù)加密、電子簽名等多種措施進(jìn)行安全認(rèn)證。第1章 系統(tǒng)開發(fā)技術(shù)§1.1 mvc模式簡(jiǎn)介mvc是model(模型)view(視圖)controller(控制器)的縮寫,它適用于大型可擴(kuò)展的web應(yīng)用

7、的開發(fā),它強(qiáng)制性地將應(yīng)用程序的輸入、處理和輸出分開,將其劃分為模型、視圖和控制器三個(gè)核心部分,使它們各司其職,各自完成不同的任務(wù),其中任何一部分的修改都不會(huì)影響其它兩部分。在mvc模式中,模型封裝了應(yīng)用問題的核心數(shù)據(jù)、邏輯關(guān)系和業(yè)務(wù)規(guī)則,提供了業(yè)務(wù)邏輯的處理過程。模型一方面被控制器調(diào)用,完成問題處理的操作過程,另一方面為視圖獲取顯示數(shù)據(jù)提供了訪問數(shù)據(jù)的操作。因?yàn)槟P褪桥c數(shù)據(jù)格式無關(guān)的,因此一個(gè)模型可以為多個(gè)視圖提供數(shù)據(jù),這樣一個(gè)模型一次編寫可以被多個(gè)視圖重用,從而避免了代碼的重復(fù)編寫。視圖是mvc模式下用戶看到的并與之交互的界面。視圖從模型處獲得數(shù)據(jù),視圖的更新由控制器控制。視圖不包含任何業(yè)務(wù)

8、邏輯的處理,它只是作為一種輸出數(shù)據(jù)的方式。mvc模式中,控制器主要起導(dǎo)航的作用,它根據(jù)用戶的輸入調(diào)用相應(yīng)的模型和視圖去完成用戶的請(qǐng)求??刂破鞅旧聿惠敵鋈魏螙|西,它接受用戶請(qǐng)求并決定調(diào)用哪個(gè)模型構(gòu)件去處理,以及由哪個(gè)視圖來顯示模型處理之后返回的數(shù)據(jù)。mvc的處理過程是這樣的:對(duì)于每一個(gè)用戶輸入的請(qǐng)求,首先被控制器接收,并決定由哪個(gè)模型來進(jìn)行處理,然后模型通過業(yè)務(wù)處理邏輯處理用戶的請(qǐng)求并返回?cái)?shù)據(jù),最后控制器用相應(yīng)的視圖格式化模型返回的數(shù)據(jù),并通過顯示頁(yè)面呈現(xiàn)給用戶。圖1-1所示為模型、視圖、控制器這三個(gè)模塊各自的功能以及它們之間的相互關(guān)系:圖1-1 mvc模式3§1.2 struts是實(shí)

9、現(xiàn)mvc模式的框架設(shè)計(jì)模式是軟件開發(fā)經(jīng)驗(yàn)的總結(jié),它是一個(gè)概念,是一個(gè)邏輯實(shí)體,而框架可以看成是基于某一特定平臺(tái)的一種或幾種設(shè)計(jì)模式的物理實(shí)現(xiàn)。設(shè)計(jì)模式比框架更抽象,設(shè)計(jì)模式只有其實(shí)例才能表示為代碼,而框架本身可以用代碼表示,框架是一套設(shè)計(jì)詳細(xì)的類,類與類之間功能各異,又彼此聯(lián)系,相輔相成,形成了對(duì)某一類問題的可重用的、易擴(kuò)展的解決方案。struts是實(shí)現(xiàn)mvc模式的通用框架,它由四個(gè)主要部分組成,模型、視圖、控制器和xml文件。模型通常由java bean或ejb組件實(shí)現(xiàn),負(fù)責(zé)處理業(yè)務(wù)邏輯;視圖包括一組jsp文件,這些文件主要由jsp標(biāo)簽或客戶化標(biāo)簽構(gòu)成,它簡(jiǎn)化了jsp頁(yè)面的編碼工作;在str

10、uts框架中控制器主要包括actionservlet類和action類,actionservlet是struts的核心部件,它接受用戶的http請(qǐng)求,根據(jù)配置信息將請(qǐng)求轉(zhuǎn)發(fā)給適當(dāng)?shù)腶ction對(duì)象,action類負(fù)責(zé)調(diào)用模型的方法,并幫助控制應(yīng)用程序的流程;struts包括web.xml和strutsconfig.xml兩個(gè)配置文件,其中web.xml是web應(yīng)用的發(fā)布描述文件,strutsconfig.xml是與struts相關(guān)的特殊信息配置的描述文件。第2章 需求分析網(wǎng)上書店系統(tǒng)主要是實(shí)現(xiàn)網(wǎng)上選書、購(gòu)書、產(chǎn)生訂單等功能的系統(tǒng)。一個(gè)典型的網(wǎng)上商城一般都需要實(shí)現(xiàn)商品信息的動(dòng)態(tài)展示、購(gòu)物車管理、

11、客戶信息注冊(cè)登錄管理、訂單處理等模塊。§2.1 用戶需求分析本網(wǎng)上書店系統(tǒng)主要完成以下具體任務(wù):§2.1.1 圖書查詢需求當(dāng)客戶進(jìn)入網(wǎng)上書店時(shí),應(yīng)該在主頁(yè)面中分類顯示最新的書目信息,以供客戶選擇所需圖書,同時(shí)也應(yīng)該提供按照?qǐng)D書名稱,或者作者住處快速查詢所需書目信息的功能。§2.1.2 購(gòu)物車管理需求當(dāng)客戶選擇購(gòu)買某圖書產(chǎn)品時(shí),應(yīng)該能夠?qū)?duì)應(yīng)圖書信息,例如:價(jià)格、數(shù)量記錄到購(gòu)物車中,并允許客戶返回書目查詢頁(yè)面,選擇其他商品,并添加到購(gòu)物車中,當(dāng)對(duì)購(gòu)物訂單生成后,應(yīng)該能夠自動(dòng)清除以生成訂單的購(gòu)物車中的信息。§2.1.3 訂單處理需求對(duì)應(yīng)客戶購(gòu)買圖書商品信息的

12、需求,在確定了所購(gòu)圖書商品的價(jià)格、數(shù)量等信息后,提示用戶選擇對(duì)應(yīng)的送貨方式及付款方式,最終生成對(duì)應(yīng)的訂單記錄,以便于網(wǎng)站配貨人員依據(jù)訂單信息進(jìn)行后續(xù)的出貨、送貨和處理。§2.1.4 會(huì)員注冊(cè)需求為了能夠?qū)崿F(xiàn)圖書商品的購(gòu)買,需要管理客戶相關(guān)的聯(lián)系方式、送貨地點(diǎn)等相關(guān)信息。§2.2 網(wǎng)上書店系統(tǒng)的用例圖上網(wǎng)用戶圖書查詢 購(gòu)物車管理訂單管理會(huì)員注冊(cè)圖2-1網(wǎng)上書店use case 第3章 系統(tǒng)總體設(shè)計(jì)§3.1 uml活動(dòng)關(guān)系圖下面是進(jìn)入網(wǎng)上書店可以進(jìn)行的操作。具體的uml活動(dòng)如下圖所示:圖書查詢購(gòu)物車管理會(huì)員登錄新會(huì)員注冊(cè)訂單管理圖3-1uml活動(dòng)關(guān)系圖§3.

13、2 系統(tǒng)組成表3-1構(gòu)成網(wǎng)上書店系統(tǒng)的各個(gè)組件用戶表示層(視圖)控制處理層(控制器)業(yè)務(wù)邏輯(模型)bookcart.jspbookdetail.jspbottom.jspeditcart1.jspeditcart.jspindex.jspindexbookshow.jsporder.jsporderconfirm.jsppayment.jspsearchresult1.jspsearchresult.jspsides.jsptop.jspuserlogin.jspuserregister1.jspuserregister.jspwelcome.jspactionformactionbookc

14、artbeancheckbeandbpoolorderbeanordershowbeanshowbookbeanuserbeaneditcartformloginformorderformpaymentcartformregisterformsearchbookformshowpageformaddcartactionclearcartactiondeleteactioneditactioneditcartactionloginactionlogoutactionorderactionordershowactionpaymentactionpaymentcartactionregisterac

15、tionsearchbookactionshowbookactionactionshowbookdetailactionshowcartactionshowpageaction§3.3 功能設(shè)計(jì)§3.3.1 圖書信息管理該模塊實(shí)現(xiàn)圖書書目信息的分類顯示,也提供圖書信息依據(jù)書名及類別信息快速搜索的功能。此外,在用戶選擇了對(duì)應(yīng)書目信息后,還可以顯示出有關(guān)該圖書的詳細(xì)信息,以便于客戶了解所購(gòu)商品。§3.3.2 購(gòu)物車管理用于維護(hù)每一個(gè)進(jìn)入網(wǎng)上書店的客戶對(duì)應(yīng)的購(gòu)物車。即將客戶所選購(gòu)的圖書商品信息記錄到對(duì)應(yīng)的購(gòu)物車中,以便于到收銀臺(tái)進(jìn)行結(jié)賬處理。§3.3.3 會(huì)員

16、注冊(cè)實(shí)現(xiàn)網(wǎng)上書店客戶信息的注冊(cè)、及身份驗(yàn)證。由于目前網(wǎng)上商城普遍采用的方式為送貨上門或者郵寄,因此需要收集與客戶相關(guān)的聯(lián)系方式、通信地址等信息。§3.3.4 訂單處理根據(jù)客戶購(gòu)物車中的信息,以及客戶所選擇的送貨方式和付款方式,連同客戶對(duì)應(yīng)的個(gè)人信息生成訂單,以便于后續(xù)進(jìn)行送貨處理。第4章 數(shù)據(jù)庫(kù)設(shè)計(jì)與實(shí)現(xiàn)§4.1 數(shù)據(jù)庫(kù)的需求分析依據(jù)網(wǎng)上書店的處理需求,對(duì)應(yīng)數(shù)據(jù)表的設(shè)計(jì)及功能如下:一、圖書基本信息表:存放網(wǎng)上書店所銷售圖書的基本信息。二、圖書分類基本信息表:存放網(wǎng)上書店所提供圖書分類的信息。三、客戶基本信息表:存放書店客戶的基本信息。四、訂單信息表:存放與客戶相關(guān)的訂單的基

17、本信息。五、訂單條目詳細(xì)信息表:存放訂單中詳細(xì)條目的基本信息。§4.2 數(shù)據(jù)庫(kù)的邏輯設(shè)計(jì)根據(jù)以上需求分析,在確定了各個(gè)表主鍵字段的基礎(chǔ)上,依據(jù)表與表之間相關(guān)字段之間的聯(lián)系建立了各表之間的關(guān)系,對(duì)應(yīng)的關(guān)系圖如圖4-1所示:storeuserloginnamevarchar(20)<pk> password varchar(20)name varchar(20) telephone varchar(20) address varchar(100)email varchar(50)bookcatid int(11) <pk>catname varchar(40) b

18、ookid int(11)catid varchar(5) bookname varchar(100) price double(15,3)saleprice double(15,3) descript varchar(255) author varchar(50) contents varchar(255) orderdetailloginnamevarchar(20) bookid int(11)bookname varchar(50) count int(11)price double(15,3) countpricedouble(15,3)ordersorderid int(11) l

19、oginname varchar(20) time datetimedelivery varchar(20) pay圖4-1數(shù)據(jù)庫(kù)邏輯圖其中圖書基本信息表中的分類編號(hào)“catid”與圖書分類信息表中的“id”為相關(guān)字段。訂單信息表中的“id”與訂單條目詳細(xì)信息表中的“orderid”是相關(guān)字段,而訂單條目詳細(xì)信息表中的“bookid”與圖書基本信息表中的“id”相關(guān)。§4.3 數(shù)據(jù)表基本結(jié)構(gòu)1圖書信息表圖書信息表(book)是用來保存網(wǎng)上書店每一種圖書基本信息的數(shù)據(jù)表,是維護(hù)管理圖書數(shù)據(jù)的依據(jù)。表4-1書圖書信息表字段名描 述類 型長(zhǎng) 度是否允許為空是否主鍵id圖書編號(hào)integer

20、11否是catid圖書分類編號(hào)varchar5否否bookname圖書名稱varchar100否否price圖書價(jià)格double15否否saleprice會(huì)員價(jià)格double15否否descript圖書介紹varchar255是否author圖書作者varchar50是否contents圖書目錄varchar255是否image圖書封面名字varchar50是否2圖書分類基本信息表圖書分類基本信息表(bookcat)記錄了與網(wǎng)上書店圖書分類相關(guān)信息。表4-2圖書分類基本信息表字段名描 述類 型長(zhǎng) 度是否允許為空是否為主鍵id圖書分類編號(hào)integer11否是catname圖書分類名稱varch

21、ar40否否3. 客戶基本信息表客戶基本信息表(storeuser)存放了網(wǎng)上書店對(duì)應(yīng)的客戶信息,包括客戶的姓名、聯(lián)系方式等信息。表4-3客戶基本信息表字段名描述類型長(zhǎng)度是否允許為空是否主鍵loginname用戶名varchar20否是password密碼varchar20否否name客戶姓名varchar20否否telephone客戶電話varchar20否否address客戶地址varchar100否否email客戶郵箱varchar50否否4.訂單信息表表4-4訂單信息表字段名描述類型長(zhǎng)度是否允許為空是否主鍵orderid訂單編號(hào)integer11否是loginname訂單用戶名varc

22、har20否否time產(chǎn)生訂單時(shí)間datetime19否否delivery訂單對(duì)應(yīng)送貨方式varchar20否否payment訂單對(duì)應(yīng)付款方式varchar20否否5.訂單條目詳細(xì)信息表表4-5訂單條目詳細(xì)信息表字段名描述類型長(zhǎng)度是否允許為空是否主鍵loginname訂單用戶名varchar20否是bookid圖書編號(hào)integer11否是count訂購(gòu)數(shù)量int11否否price圖書單價(jià)double5否否countprice購(gòu)書總價(jià)double5否否§4.4 創(chuàng)建數(shù)據(jù)表腳本在基本的數(shù)據(jù)表的結(jié)構(gòu)確定后,就可以在mysql中完成數(shù)據(jù)表的創(chuàng)建工作,下面給出建立對(duì)應(yīng)數(shù)據(jù)表的sql腳本。1圖

23、書基本信息表:create table book ( id int(11) not null auto_increment, catid varchar(5) not null default '0', bookname varchar(100) not null default '', price double(15,3) not null default '0.000', saleprice double(15,3) not null default '0.000', descript varchar(255) not nul

24、l default '', author varchar(50) default null, contents varchar(255) default null, image varchar(50) default null, primary key (id) type=myisam2圖書分類基本信息表:create table bookcat ( id int(11) not null default '0', catname varchar(40) default null, primary key (id) type=myisam3客戶基本信息表:cre

25、ate table storeuser ( loginname varchar(20) not null default '', password varchar(20) not null default '', name varchar(20) not null default '', telephone varchar(20) not null default '', address varchar(100) not null default '', email varchar(50) default null

26、, primary key (loginname) type=myisam4訂單信息表:create table orders ( orderid int(11) not null auto_increment, loginname varchar(20) not null default '', time datetime not null default '0000-00-00 00:00:00', delivery varchar(20) not null default '', payment varchar(20) not null d

27、efault '', primary key (orderid) type=myisam5訂單條目詳細(xì)信息表:create table orderdetail ( loginname varchar(20) not null default '', bookid int(11) not null default '0', bookname varchar(50) not null default '', count int(11) not null default '0', price double(15,3) n

28、ot null default '0.000', countprice double(15,3) not null default '0.000') type=myisam第5章 系統(tǒng)實(shí)現(xiàn)過程§5.1 開發(fā)平臺(tái)服務(wù)器:apache tomcat 5.0;數(shù)據(jù)庫(kù):mysql 4.0;平臺(tái):myeclipse 4.1+jdk1.5.0+jdbc+javabean +struts 1.2操作系統(tǒng):windows xp§5.2 系統(tǒng)各組件實(shí)現(xiàn)§5.2.1 用戶表示層在用戶表示層中主要是一些相關(guān)的jsp頁(yè)面。該層對(duì)應(yīng)的jsp頁(yè)面應(yīng)該放在web

29、應(yīng)用目錄store下。1.網(wǎng)上書店首頁(yè):在本頁(yè)面中,當(dāng)單擊選擇書目分類時(shí),將提交“href="showbookaction.do?catid=?"”請(qǐng)求,以便于獲取對(duì)應(yīng)圖書分類的相關(guān)信息。其中?代表書類別號(hào)。當(dāng)選擇了查詢依據(jù),并且輸入了對(duì)應(yīng)的關(guān)鍵字,單擊“搜索”按鈕時(shí),將提交“searchbook.do”請(qǐng)求,同時(shí)提交查詢條件,進(jìn)行后續(xù)書目信息搜索處理。當(dāng)在書目列表中單擊查看詳細(xì)信息時(shí),將發(fā)出“showbookdetail.do?bookid=?”請(qǐng)求,同時(shí)傳遞對(duì)應(yīng)圖書編號(hào),以獲取指定圖書更加詳細(xì)的信息。此外單擊“首頁(yè)”,“上頁(yè)”,“下頁(yè)”超鏈接后,將分別提交“showbo

30、okaction.do?page=?&catid=?”等請(qǐng)求,以實(shí)現(xiàn)頁(yè)面的跳轉(zhuǎn)。(其中?代表相應(yīng)的參數(shù))1.1循環(huán)顯示圖書分類信息主要代碼如下:<logic:present name="showbook"><logic:iterateid="bookdetailname="showbook" type="com.shop.showbookbean"><bean:write name="bookdetail" property="name" />

31、;<bean:message key="author" /><bean:write name="bookdetail" property="author" /><bean:message key="price" /><bean:write name="bookdetail" property="price" /><bean:message key="saleprice" /><bean:wr

32、ite name="bookdetail" property="saleprice" /><bean:message key="user.bookcart" />2圖書詳細(xì)信息顯示:本面是在控制器響應(yīng)了網(wǎng)上書店主頁(yè)提交的查看圖書詳細(xì)信息請(qǐng)求,即“showbookdetail.do”請(qǐng)求后,跳轉(zhuǎn)到的頁(yè)面。在該頁(yè)面中將獲取到的指定圖書詳細(xì)信息顯示出來,同時(shí)后續(xù)放入購(gòu)物車的處理。2.1實(shí)現(xiàn)的主要代碼如下:<logic:present name="booklist"><logic:ite

33、rate id="bookdetail" name="booklist"><bean:write name="bookdetail" property="name"/><bean:message key="author"/><bean:write name="bookdetail" property="author"/><bean:write name="bookdetail" prope

34、rty="descript"/><bean:message key="price"/><bean:write name="bookdetail" property="price"/><bean:write name="bookdetail" property="saleprice"/><bean:write name="bookdetail" property="contents"/>

35、;</logic:iterate></logic:present>3.顯示購(gòu)物車信息頁(yè)面:該頁(yè)面是在用戶選擇購(gòu)買某中圖書商品后,進(jìn)入的頁(yè)面。在該頁(yè)面中將顯示該用戶購(gòu)物車中現(xiàn)有的所有購(gòu)買需求記錄。同時(shí)提供更新購(gòu)物車的操作界面,例如,可以輸入購(gòu)買數(shù)量或者選擇刪除購(gòu)買記錄。單擊“更改數(shù)量”按鈕后,將提交“edit.do”請(qǐng)求,進(jìn)行對(duì)應(yīng)的圖書數(shù)量更改。此外,也可以單擊“繼續(xù)購(gòu)書”按鈕,提交“showbookaction.do”請(qǐng)求返回網(wǎng)上書店主頁(yè)面繼續(xù)購(gòu)書,或者單擊“清空購(gòu)物車”按鈕提交“clearcart.do”請(qǐng)求。同時(shí),如果用戶確認(rèn)去收銀臺(tái),則可以單擊“結(jié)算付款”按鈕跳轉(zhuǎn)

36、到“payment.do”請(qǐng)求,如果你沒有登陸,將跳轉(zhuǎn)到“userlogin.jsp”頁(yè)面進(jìn)行用戶登錄。3.1實(shí)現(xiàn)主要代碼如下:<logic:present name="showcart"><logic:iterate id="showinfo" name="showcart"><bean:write name="showinfo" property="bookname" /><bean:write name="showinfo" p

37、roperty="count" /><bean:write name="showinfo" property="saleprice" /><bean:write name="showinfo" property="countprice"/></logic:iterate></logic:present>4.網(wǎng)上書店客戶登錄頁(yè)面:本頁(yè)面是客戶在購(gòu)物車頁(yè)面單擊“結(jié)算付款”按鈕后,跳轉(zhuǎn)過來的頁(yè)面,在該頁(yè)面中,用戶在表單中輸入用戶名及密碼,單擊“用戶

38、登錄”按鈕后,將提交“l(fā)oginaction.do”請(qǐng)求,以便于進(jìn)行后續(xù)獲取用戶相關(guān)信息的處理,對(duì)于沒有用戶身份的新客戶,可以在本頁(yè)面中單擊“新用戶注冊(cè)”按鈕,跳轉(zhuǎn)到“userregister.jsp”頁(yè)面進(jìn)行用戶注冊(cè)。5.網(wǎng)上書店客戶注冊(cè)頁(yè)面:本頁(yè)面中注冊(cè)用戶可以在表單中輸入對(duì)應(yīng)的注冊(cè)信息,在單擊“注冊(cè)”按鈕后,將提交“regist.do”請(qǐng)求,周時(shí)提交新用戶的相關(guān)注冊(cè)信息,以便于進(jìn)行后續(xù)新用戶注冊(cè)的處理。6.選擇送貨方式及付款方式頁(yè)面:本頁(yè)面是在用戶登錄通過后,跳轉(zhuǎn)到的頁(yè)面,在該頁(yè)面中首先獲取對(duì)應(yīng)用戶的客戶資料,同時(shí)提供送貨方式以及付款方式的選擇,在用戶單擊“確認(rèn)”按鈕后,將提交“addr

39、confirm.do”請(qǐng)求,生成后續(xù)完整的訂單信息。7.確認(rèn)訂單信息頁(yè)面:本頁(yè)面中將全面顯示該客戶本次購(gòu)物生成的詳細(xì)訂單信息,同時(shí)如果單擊“繼續(xù)購(gòu)書”按鈕將提交“showbookaction.do”請(qǐng)求返回網(wǎng)上書店主頁(yè)面。§5.2.2 業(yè)務(wù)邏輯層在本系統(tǒng)的業(yè)務(wù)邏輯層中分別完成了對(duì)圖書信息、圖書分類信息、購(gòu)物車信息、訂單信息以及客戶信息等類型對(duì)象的保存和處理。1.封裝了數(shù)據(jù)庫(kù)相關(guān)操作的bean(dbpool.java)在這個(gè)bean中主要有以下幾塊:利用構(gòu)造方法建立與數(shù)據(jù)庫(kù)的連接,在數(shù)據(jù)庫(kù)中執(zhí)行數(shù)據(jù)查詢的方法,在數(shù)據(jù)庫(kù)中執(zhí)行數(shù)據(jù)更新的方法及關(guān)閉與數(shù)據(jù)庫(kù)連接的方法。2.封裝了圖書信息處理

40、的bean(showbookbean.java)在這個(gè)bean中主要有以下幾塊:與圖書類型對(duì)象相關(guān)的基本屬性和方法、圖書編號(hào)屬性的set及get方法、圖書分類編號(hào)屬性的set及get方法、圖書名稱屬性的set及get方法、圖書價(jià)格屬性的set及get方法、圖書銷售價(jià)格屬性的set及get方法、圖書介紹屬性的set及get方法、圖書作者屬性的set及get方法、圖書目錄屬性的set及get方法、圖書封面圖片屬性的set及get方法、首頁(yè)顯示圖書的方法、依據(jù)查詢條件,搜索圖書信息的方法、獲取指定圖書編號(hào)記錄的圖書詳細(xì)信息的方法。其中各主要模塊的代碼如下:2.1依據(jù)查詢條件,搜索圖書信息及翻頁(yè)代碼:

41、public arraylist search(string info1, string catid1,string page1) throws exception string info = info1;catid = catid1;arraylist booklist = new arraylist();showbookbean showbook = new showbookbean();int intpagesize; / 一頁(yè)顯示的記錄數(shù)intpagesize = 10;/ 設(shè)置一頁(yè)顯示的記錄string sql = "select * from book where boo

42、kname like'" + info+ "' and catid='" + catid + "'"dbpool db = new dbpool();resultset rs = db.executequery(sql);rs.last();introwcount = rs.getrow();/ 獲取記錄總數(shù)if (introwcount > 0) string strpage=page1;if (strpage = null) / 表明在querystring中沒有page這一個(gè)參數(shù),此時(shí)顯示第一頁(yè)數(shù)據(jù)i

43、ntpage = 1; else / 將字符串轉(zhuǎn)換成整型intpage = java.lang.integer.parseint(strpage);if (intpage < 1)intpage = 1;intpagecount = (introwcount + intpagesize - 1) / intpagesize;/ 記算總頁(yè)數(shù)/ 調(diào)整待顯示的頁(yè)碼if (intpage > intpagecount)intpage = intpagecount;if (intpagecount > 0) / 將記錄指針定位到待顯示頁(yè)的第一條記錄上rs.absolute(intpag

44、e - 1) * intpagesize + 1); rs.first();int i = 0;while (!rs.isafterlast()&&i<intpagesize) id = rs.getint(1);catid = rs.getstring(2);name = rs.getstring(3);price = rs.getdouble(4);saleprice = rs.getdouble(5);descript = rs.getstring(6);author = rs.getstring(7);contents = rs.getstring(8);imag

45、e = rs.getstring(9);showbook.setid(id);showbook.setcatid(catid);showbook.setname(name);showbook.setprice(price);showbook.setsaleprice(saleprice);showbook.setdescript(descript);showbook.setauthor(author);showbook.setcontents(contents);showbook.setimage(image);booklist.add(showbook);rs.next();i+;showb

46、ook.setintpagecount(intpagecount);showbook.setintpage(intpage);showbook.setintrowcount(introwcount);showbook.setprepage(intpage - 1);showbook.setnextpage(intpage + 1);db.close();return booklist;3.封裝了購(gòu)物車信息處理的bean(bookcartbean.java)在這個(gè)bean中也是各圖書信息的get及set方法、促成訂單詳細(xì)信息到對(duì)應(yīng)數(shù)據(jù)表中的方法、得到單一圖書總價(jià)的方法、添加到購(gòu)物車中的方法、清空

47、購(gòu)物車的方法,修改圖書數(shù)量的方法、刪除購(gòu)買圖書的方法、得到總圖書價(jià)格的方法。3.1主要模塊實(shí)現(xiàn)代碼如下:3.1.1添加到購(gòu)物車中方法:public int addcart(int bookid, string loginname1) throws exception int id = bookid;loginname = loginname1;string sql = "select bookname,saleprice from book where id='" + id+ "'"bookcartbean bookcart = new

48、bookcartbean();dbpool db = new dbpool();resultset rs = db.executequery(sql);while (rs.next() bookname = rs.getstring(1);saleprice = rs.getdouble(2);bookcart.setbookname(bookname);bookcart.setsaleprice(saleprice);checkbean checkbean=new checkbean();checkbean.count(id);stringaddsql1="insertintoor

49、derdetail(loginname,bookid,bookname,count,price,countprice)values('"+ loginname+ "','"+ bookid+ "','"+ bookcart.getbookname()+"','"+1+"','"+bookcart.getsaleprice()+ "','"+bookcart.getsaleprice()+"

50、')"int updatecount=checkbean.getcount()+1;double countprice=updatecount*bookcart.getsaleprice();string addsql = "update orderdetail set count='"+updatecount+"',countprice='"+countprice+"' where bookid='"+id+"'"int i=checkbean.n

51、ame(id,loginname);int bb;if(i=1) bb=db.executeupdate(addsql1);elsebb = db.executeupdate(addsql); return bb;return bb;4.封裝了訂單信息處理的bean(orderbean.java)與訂單信息相關(guān)的基本屬性和方法、訂單編號(hào)屬性的set及get方法、訂單用戶屬性的set及get方法、訂單時(shí)間屬性的set及get方法、訂單送貨方式屬性的set及get方法、訂單付款方式屬性的set及get方法 、訂單總價(jià)屬性的set及get 方法、添加或更新訂單信息的方法、顯示訂單信息的方法。5.封裝

52、了客戶信息處理的bean(userbean.java)在這個(gè)bean中主要是與網(wǎng)上書店信息相關(guān)的基本屬性和方法、客戶用戶名屬性的set及get方法、客戶密碼屬性的set及get方法、客戶姓名屬性的set及get方法、客戶電話屬性的set及get方法、客戶地址屬性的set及get方法、客戶地址屬性的set及get方法、登錄驗(yàn)證方法、注冊(cè)用戶方法、顯示用戶信息方法。5.1主要實(shí)現(xiàn)代碼如下:5.1.1登錄驗(yàn)驗(yàn)證:public int login(string loginname1, string password1) throws exception loginname = loginname1;p

53、assword = password1;string sql = "select loginname,password from storeuser where loginname='"+ loginname + "'and password='" + password + "'"dbpool db = new dbpool();resultset rs = db.executequery(sql);string login=null;while(rs.next() login=rs.getstring

54、(1); db.close(); if(login=null)|(login.length()<1)return 0;return 1;§5.2.3 控制處理層表5-1是網(wǎng)上書店系統(tǒng)中的action映射表。該映射決定了action與其他們web組件之間的關(guān)聯(lián)關(guān)系。作為前后臺(tái)之間橋梁,本表中指明了每個(gè)action的入口(即調(diào)用action的組件)及出口(即請(qǐng)求轉(zhuǎn)發(fā)的目標(biāo)組件),以及傳遞action的actionform。表5-1 action映射表action入口actionform出口loginactionuserlogin.jsploginformwelcome.jspreg

55、isteractionuserregister.jspregisterformshowbookaction.dosearchbookactionindex.jspsearchbookformsearchresult.jspshowcartactionindex.jspbookcart.jspdeleteactionshowcart.doclearcartactionshowcart.doorderactionordershow.doordershowactionorder.jspaddcartactionshowcart.doshowbookdetailactionbookdetail.jsp

56、showpageactionshowpageformshowbookaction.doeditcartactioneditcartformshowcart.doeditactioneditcart.jsppaymentactionpayment.jsppaymentcartactionpaymentcartformorderconfirm.jsplogoutactionwelcome.jsp1.負(fù)責(zé)處理查詢圖書書目信息請(qǐng)求的action bean該程序負(fù)責(zé)處理查詢顯示滿足條件圖書書目信息時(shí)提交的“searchbook.do”請(qǐng)求。主要有以下方法:獲取圖書查詢表單中的信息、依據(jù)獲取到的查詢表單中的信息設(shè)置查詢條件、按照類別查詢圖書信息,按照關(guān)鍵字查詢圖書信息、獲取查詢結(jié)果、跳轉(zhuǎn)到顯示頁(yè)面。2.負(fù)責(zé)處理顯示圖書詳細(xì)信息請(qǐng)求的action bean該程序負(fù)責(zé)處理顯示指定圖書編號(hào)的對(duì)應(yīng)圖書詳細(xì)信息時(shí)提交的“showbookdetail.do”請(qǐng)求。主要有以下方法:獲取待顯示詳細(xì)信息的圖書記錄編號(hào)、依據(jù)編號(hào)獲取圖書詳細(xì)信息。3.負(fù)責(zé)處理購(gòu)買圖書請(qǐng)求的action bean該程序負(fù)責(zé)處理購(gòu)買圖書時(shí)提

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)網(wǎng)僅提供信息存儲(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)論