




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、目錄一 實訓(xùn)背景21.1 實訓(xùn)題目21.2 實訓(xùn)時間21.3 實訓(xùn)目的21.4 實訓(xùn)環(huán)境21.5 實訓(xùn)內(nèi)容2二 設(shè)計過程42.1 項目介紹42.2 需求分析42.2.1業(yè)務(wù)需求分析42.2.2用戶需求分析42.2.3功能需求分析52.3 總體設(shè)計62.31系統(tǒng)結(jié)構(gòu)設(shè)計62.32功能模塊設(shè)計72.33 處理流程92.4 詳細(xì)設(shè)計92.4.1 數(shù)據(jù)庫設(shè)計92.4.2 功能設(shè)計142.4.3 代碼設(shè)計152.4.4 界面設(shè)計252.4.5 系統(tǒng)測試27三 實訓(xùn)總結(jié)29參考文獻30一 實訓(xùn)背景1.1 實訓(xùn)題目應(yīng)答網(wǎng)上商城系統(tǒng)1.2 實訓(xùn)時間第9周19周1.3 實訓(xùn)目的企業(yè)項目實訓(xùn)是計算機專業(yè)教學(xué)的一個
2、重要環(huán)節(jié),其目的是使學(xué)生在獲得基本知識和基本技能的基礎(chǔ)上,進行一次較全面、系統(tǒng)的訓(xùn)練,以鞏固課堂所學(xué)知識及提高操作技能。旨在提升本專業(yè)學(xué)生對此課程中的理論知識的綜合應(yīng)用能力、邏輯思維能力和軟件開發(fā)能力,培養(yǎng)學(xué)生獨立工作和解決實際問題的能力,為學(xué)生走上畢業(yè)崗位作好充足準(zhǔn)備。應(yīng)答網(wǎng)上購物是時下比較流行的消費方式,給人們的生活帶來了極大的方便。本次實訓(xùn)要求學(xué)生用Java技術(shù)開發(fā)基于B/S架構(gòu)的大型應(yīng)答網(wǎng)上商城系統(tǒng)。通過真實的項目實戰(zhàn)過程,讓學(xué)生從實踐中認(rèn)識面向?qū)ο蟪绦蛟O(shè)計的開發(fā)思想和軟件設(shè)計與開發(fā)的流程,能夠用程序去解決現(xiàn)實生活問題,在一步一步的實踐過程中不斷提高程序設(shè)計的水平。1.4 實訓(xùn)環(huán)境1)
3、硬件環(huán)境: 機房:計算機系多媒體專業(yè)機房 電腦:雙核高性能主機 網(wǎng)絡(luò):100Mbps校園網(wǎng)2)開發(fā)環(huán)境: 操作系統(tǒng):Windows XP 開發(fā)工具:MyEclipse6.0 容器: Tomcat6.0 中間件: JDK6.0 數(shù)據(jù)庫: MySQL5.01.5 實訓(xùn)內(nèi)容應(yīng)答網(wǎng)上商城系統(tǒng)又稱在線商城系統(tǒng),是一個功能完善的在線購物系統(tǒng),主要為在線銷售和在線購物服務(wù)。其功能主要包含商品的管理、會員的管理、訂單的管理、庫存的管理、優(yōu)惠的管理、在線支付等。本次實訓(xùn)將由指導(dǎo)老師帶領(lǐng)學(xué)生有Java EE技術(shù)完成“應(yīng)答網(wǎng)上商城系統(tǒng)”的設(shè)計與開發(fā),主要開發(fā)的功能如下:1)后臺功能商品模塊:包括后臺商品庫存管理、上
4、貨、出貨、編輯管理和商品分類管理、商品品牌管理等。 訂單模塊:在線訂單程序,使消費者能夠順利的通過Web在線的方式,直接生成購買訂單。 評論模塊:購買過產(chǎn)品的買家可以對產(chǎn)品進行評價和打分。支付模塊:即通過應(yīng)答網(wǎng)上錢包、電子支付卡。進行應(yīng)答網(wǎng)上資金流轉(zhuǎn)換的業(yè)務(wù)流程;國內(nèi)主流支付方式包括:騰訊旗下的財付通、支付寶、網(wǎng)銀在線等。會員模塊:在購物系統(tǒng)中,集成會員注冊是吸引會員進行二次購買和提升轉(zhuǎn)換率最好的方式。信息模塊:用于發(fā)布商城系統(tǒng)相關(guān)的一些信息。配送模塊:購物系統(tǒng)集成的物流配送方式,從而方便消費者對物流方式進行在線選擇。如:EMS、順風(fēng)等等。商品促銷:購物系統(tǒng)都有商品促銷功能,通過商品促銷功能,
5、能夠迅速的促進商城的消費積極性。 2)前端功能商品展示:通過前端界面,以標(biāo)準(zhǔn)的或者其他個性化的方式向用戶展示商品各類信息,完成購物系統(tǒng)內(nèi)信息流的傳遞。 購物車:用戶可對想要購買的商品進行應(yīng)答網(wǎng)上訂購,在購物過程中,隨時增刪商品。模板風(fēng)格自定義:即通過系統(tǒng)內(nèi)置的模板引擎,可以方便的通過后臺可視化編輯,設(shè)計出符合自身需求的風(fēng)格界面。 商品多圖展示:隨著電子商務(wù)的發(fā)展商品圖片成為吸引消費者的第一要素,多圖展示即提供前臺多張圖片的展示,從而提升消費者的購物欲望。 二 設(shè)計過程2.1 項目介紹現(xiàn)在流行的網(wǎng)上購物系統(tǒng)不僅要有漂亮的網(wǎng)頁,更要有嚴(yán)謹(jǐn)?shù)囊?guī)劃,注重每一個細(xì)小的環(huán)節(jié),這樣才能使得在電子交易時避免不
6、必要錯誤發(fā)生。我們將使用HTML、JSP等技術(shù)來編輯網(wǎng)頁,并運用JDBC技術(shù)把數(shù)據(jù)庫和動態(tài)網(wǎng)頁相關(guān)聯(lián)。本項目在實際應(yīng)用中的解決方案是建立網(wǎng)站, 以及自己的數(shù)據(jù)庫,使得所需商品信息可以及時的保存、更新,可以更好的及時了解商品買賣的情況。2.2 需求分析隨著中國市場經(jīng)濟的日趨成熟和計算機技術(shù)和網(wǎng)絡(luò)技術(shù)的發(fā)展,人們對信息的獲知程度和廣度都提出了更高的要求。商務(wù)系統(tǒng)隨著中國經(jīng)濟的高速發(fā)展發(fā)生了巨大的變化。專做營銷的中小型企業(yè)隨著百姓個人消費水平的增長迅速成長起來,但同時也帶來了這一行業(yè)激烈的競爭。2.2.1業(yè)務(wù)需求分析網(wǎng)站的制作已經(jīng)不單單是把企業(yè)想要表達的內(nèi)容擺放在網(wǎng)站上那么簡單,當(dāng)今的網(wǎng)站設(shè)計包含了
7、更多的設(shè)計元素,給予瀏覽者更多的視覺享受?,F(xiàn)在企業(yè)營銷商需要用一些更新穎更有效的方式增強競爭力。建設(shè)一個宣傳自身商品形象的電子商務(wù)營銷模式的網(wǎng)站是一種有效的方法。另外,通過電子商務(wù)網(wǎng)站,廣闊自己的營銷方式和市場,能夠幫助企業(yè)營銷商從魚龍混雜的市場中脫穎而出,完善企業(yè)銷售與服務(wù)的環(huán)節(jié),最終提升企業(yè)的價值與經(jīng)濟效益。2.2.2用戶需求分析隨著現(xiàn)代社會工作,生活節(jié)奏的加快,很多人在購物時都想節(jié)約時間,從而獲得更大效益。圖1-1是根據(jù)CNNIC(中國互聯(lián)網(wǎng)絡(luò)信息中心)公布的中國B2C電子商務(wù)發(fā)展報告來進一步分析目前的應(yīng)答網(wǎng)上購物的現(xiàn)狀(主要引用其中的關(guān)于進行網(wǎng)絡(luò)購物原因的分析圖表)。50.0%40.0
8、%30.0%10.0%0.0%20.0%46.7%44.2%33.4%32.6%29.7%節(jié)省時間操作方便節(jié)省費用出于好奇尋找稀有商品圖2-1網(wǎng)絡(luò)購物原因調(diào)查圖表這個網(wǎng)站以上面的業(yè)務(wù)需求為基礎(chǔ),進一步提出網(wǎng)站需要完成的以下任務(wù):網(wǎng)站需要讓供應(yīng)商、客戶以及瀏覽者能看到商城的信息及動態(tài),另一個重要的內(nèi)容就是能夠顯示出該商城現(xiàn)有的各類型商品及其詳細(xì)信息;由于消費者的需求在增長和變化,商城在面對面銷售的基礎(chǔ)上也要隨之發(fā)展出相應(yīng)的服務(wù),如在線訂購等技術(shù)。另外,企業(yè)營銷商除了能與普通客戶一樣瀏覽網(wǎng)站之外,還需要對網(wǎng)站進行管理。企業(yè)需要定期更新現(xiàn)有商品的詳細(xì)信息、商城動態(tài)和聯(lián)系方式,必要時還要對企業(yè)的介紹做
9、更改。對于消費者通過網(wǎng)站提交的各種訂單能夠進行處理以方便銷售。2.2.3功能需求分析根據(jù)上面的需求分析,需要設(shè)計出網(wǎng)站的前臺與后臺。用戶在前臺所瀏覽的內(nèi)容,網(wǎng)站的后臺需要能相應(yīng)的做出更新或修改。根據(jù)以上的想法,設(shè)計出網(wǎng)站的功能:前臺用戶相關(guān)功能主要包括:l 商品瀏覽:分類顯示商品;顯示商品詳情,提供購買鏈接;可以對商品進行模糊查詢。瀏覽商品時不要求用戶登錄,但下訂單前用戶必須登錄,對于瀏覽過的商品有歷史記錄。l 購物車管理:在網(wǎng)上商城中,所選商品須通過購物車進行暫存,然后生產(chǎn)訂單。這種技術(shù)使用起來十分方便,不但可以隨時添加、查看、修改、清空購物車中的內(nèi)容,還可以隨時去收銀臺結(jié)款。l 訂單管理:
10、只有登錄的用戶可下訂單;用戶可以查看自己的訂單。l 用戶管理:為了方便于網(wǎng)站的管理,必須由一套完整的用戶管理體系。該網(wǎng)站用戶管理模塊主要實現(xiàn)用戶的注冊、登錄、找回密碼3方面功能。l 個人資料修改:用戶可以自行對個人信息進行修改。l 商品評價管理:用戶購買商品后對商品進行留言評分,以為后來購買者提供參考。后臺管理相關(guān)功能主要包括:l 注冊管理:能夠?qū)τ脩裘艽a的簡單驗證;能夠?qū)﹄娮余]箱,Email進行有效性驗證;能夠防止利用頁面刷新重復(fù)注冊,以及已經(jīng)注冊的用戶不能重復(fù)注冊。l 公告管理:管理員可以通過公告的形式向顧客告知本商城的近期動向,如:打折信息、維護信息等。l 注冊用戶管理:管理員可以通
11、過查詢指定用戶,并管理用戶的啟用,凍結(jié)。l 商品管理:管理員可以增添商品分類;修改商品基本信息;增添商品時候可以上傳圖片。l 訂單管理:管理員可以修改訂單的狀態(tài)。 將以上這些功能制作成網(wǎng)頁以后,在其中分別互相建立連接,基本完成商城及用戶對網(wǎng)站的要求。2.3 總體設(shè)計2.31系統(tǒng)結(jié)構(gòu)設(shè)計網(wǎng)絡(luò)購物中心的系統(tǒng)結(jié)構(gòu)如圖2-2所示。應(yīng)答網(wǎng)絡(luò)購物中心后臺部分前臺部分用戶管理個人資料管理購物車管理訂單管理商品評價管理管理員登錄商品管理訂單信息管理用戶信息管理模塊添加鏈接圖2-2網(wǎng)絡(luò)購物中心功能結(jié)構(gòu)圖根據(jù)業(yè)務(wù)流程,需要將網(wǎng)站劃分為前臺、后臺和數(shù)據(jù)庫。前臺中,客戶在登錄網(wǎng)站主頁后即可鏈接查看到商品等信息,還可以
12、做訂購商品等活動。為了方便客戶搜索感興趣的商品信息,將商品搜索嵌入到主頁面中。數(shù)據(jù)庫將要作為網(wǎng)站后臺重要的組成部分,管理員的主要操作幾乎全部圍繞數(shù)據(jù)庫,最后將更新的數(shù)據(jù)要顯示給前臺。前臺是一個比較大的功能群,它所包含的信息不僅數(shù)量多,而且種類不同。將它設(shè)計成比較優(yōu)化的結(jié)構(gòu)形式能組織好網(wǎng)站的信息內(nèi)容并將其歸類,方便用戶獲得所需要的信息。其中每一部分都以盡量少的內(nèi)容顯示,以免瀏覽者看的眼花繚亂而失去耐心。除了這些作用外,設(shè)計好前臺的結(jié)構(gòu)形式,也是為后面程序的編寫做出了框架。在為系統(tǒng)劃分功能模塊,并以模塊為單位來實現(xiàn)設(shè)計時也是以這個結(jié)構(gòu)為根基的。系統(tǒng)的后臺要對整個網(wǎng)站的信息和數(shù)據(jù)進行維護。網(wǎng)站前臺所
13、顯示的信息在后臺都應(yīng)該有對應(yīng)的維護。這樣,除了設(shè)計后臺的各個管理界面外,為了方便管理員的工作,可以將各個管理的界面結(jié)合到一個頁面中。因此,各個管理的界面會作為主管理界面的分支。在設(shè)計好網(wǎng)站前臺與后臺的結(jié)構(gòu)以后,就將數(shù)據(jù)庫加入到結(jié)構(gòu)中。后臺將更新的數(shù)據(jù)寫入到數(shù)據(jù)庫中,前臺再將數(shù)據(jù)庫中的信息取出來并顯示。2.32功能模塊設(shè)計(1)前臺模塊:前臺模塊主要為登陸網(wǎng)站的用戶提供商品和服務(wù)的信息,填寫并提交訂單的服務(wù)。這樣,將前臺模塊再細(xì)分為用戶管理模塊、訂單查詢模塊、購物車模塊、修改個人資料模塊、留言板模塊。顧名思義,這些模塊的名稱基本概括了它們的功能。下面詳細(xì)說明一下這些功能模塊的設(shè)計: 用戶管理模塊
14、:為了方便于網(wǎng)站的管理,必須由一套完整的用戶管理體系。該網(wǎng)站用戶管理模塊主要實現(xiàn)用戶的注冊、登錄、找回密碼3方面功能。 購物車模塊:在網(wǎng)上商城中,所選商品須通過購物車進行暫存,然后生產(chǎn)訂單。這種技術(shù)使用起來十分方便,不但可以隨時添加、查看、修改、清空購物車中的內(nèi)容,還可以隨時去收銀臺結(jié)款。 訂單管理模塊:用戶提交訂單后,通過產(chǎn)生的訂單號查詢訂單信息及執(zhí)行狀態(tài)。只需要根據(jù)用戶錄入的訂單號在數(shù)據(jù)表中查詢處對應(yīng)的貨品信息即可。 個人資料管理模塊:用戶資料修改時為用戶更改個人信息所提供的窗口,為了保護用戶信息部受非法侵害,用戶只有登錄網(wǎng)頁后才有權(quán)限修改個人資料。(2)后臺管理模塊的功能模塊設(shè)計后臺管理
15、模塊的功能是對站內(nèi)的資源進行管理和維護。以后臺的業(yè)務(wù)流程分析和前臺各個模塊的設(shè)計為基礎(chǔ)、根據(jù)用戶的需求分析來確定后臺管理模塊應(yīng)具有的功能。后臺管理模塊的各個子功能模塊如下: 管理員身份驗證模塊:該模塊的功能是對管理員身份進行能夠驗證。用戶輸入登錄ID和密碼后,系統(tǒng)將判斷登錄ID及密碼的有效性。 商品管理模塊:向商品表插入前臺首頁展示的商品信息,也就是添加商品信息的功能。 處理訂單模塊:網(wǎng)站管理者對用戶訂單的執(zhí)行和編輯狀態(tài)。用戶信息管理模塊:查詢注冊所有用戶,對一些非法用戶進行刪除操作 。 鏈接信息管理模塊: 管理員向前臺首頁添加友情鏈接信息。2.33 處理流程系統(tǒng)處理業(yè)務(wù)流程如圖2-3所示圖2
16、-3 系統(tǒng)處理業(yè)務(wù)流程圖2.4 詳細(xì)設(shè)計2.4.1 數(shù)據(jù)庫設(shè)計(1) 概念建模 圖2-4 概念模型圖 (2) 物理建模 圖2-5 物理建模圖(3)數(shù)據(jù)庫表結(jié)構(gòu) product(商品大分類信息表)商品大分類信息表主要用來保存商品類別中大的類別信息。表2-1 商品大分類信息表字段名數(shù)據(jù)類型長度是否主鍵描述productidint11是IDnamevarchar100否名稱mypricefloat0否原價格marketpricefloat0否市場價storecountInt11否庫存量hitInt11否點擊量timevarchar32否時間photovarchar200否圖片categoryidin
17、t11否分類IDcontenttext0否描述 category(商品小分類信息表) 表2-2 商品小分類信息表字段名數(shù)據(jù)類型長度是否主鍵描述categoryidint11是IDnamevarchar32否名稱sortint11否分類 orders(訂單大明細(xì)表) 表2-3 訂單明細(xì)表字段名數(shù)據(jù)類型長度是否主鍵描述orderidint11是訂單號IDAddressidint11否地址paywayvarchar32否付款方式Maketimevarchar32否數(shù)量statusvarchar32否狀態(tài)vipidint11否會員ID address(送貨地址表)表2-4 送貨地址表字段名數(shù)據(jù)類型長度
18、是否主鍵描述addressidint11是地址IDaddressnamevarchar200否地址名稱postcodevarchar32否郵編receivervarchar32否收貨人phonevarchar32否電話vipidint11否會員IDbzvarchar200否備注 admin(管理員表)表2-5 管理員表字段名數(shù)據(jù)類型長度是否主鍵描述adminidint11是管理員IDusernamevarchar32否管理員名稱posswordvarchar32否密碼realnamevarchar32否真實姓名snovarchar32否最后時間rolevarchar32否角色lasttimev
19、archar32否最后時間 comment(評論表)表2-6 評論表字段名數(shù)據(jù)類型長度是否主鍵描述commentidint11是評論idtitlevarchar32否標(biāo)題contentvarchar32否內(nèi)容scoreint32否積分timevarchar32否時間productidint 11否產(chǎn)品Idvipidint 11否會員id info(商品入庫信息表)表2-7 商品信息表字段名數(shù)據(jù)類型長度是否主鍵描述infoidint11是入庫商品IDtitlevarchar100否入庫商品名稱timevarchar32否入庫商品時間publishervarchar32否 入庫商品出版社lanmu
20、varchar32否入庫商品手冊contentlongtext11否入庫商品內(nèi)容 orders(訂單小明細(xì)表)表2-8 訂單明細(xì)表字段名數(shù)據(jù)類型長度是否主鍵描述orderdetailidint11是訂單號詳細(xì)IDorderidint11否訂單號IDproductidint11否商品IDquantityint 11否數(shù)量 vip(會員表)表2-9 會員信息表字段名數(shù)據(jù)類型長度是否主鍵描述vipidint11是會員IDusernamevarchar32否會員名稱passwordvarchar32否密碼sexvarchar32否收貨人emailvarchar32否電話phoneint11否會員IDs
21、corebigint 200否評分questionvarchar300否問題answervarchar300否回答lastlogintimevarchar32否最長持續(xù)時間2.4.2 功能設(shè)計前臺用戶相關(guān)功能主要包括:l 商品瀏覽:分類顯示商品;顯示商品詳情,提供購買鏈接;可以對商品進行模糊查詢。瀏覽商品時不要求用戶登錄,但下訂單前用戶必須登錄,對于瀏覽過的商品有歷史記錄。l 購物車管理:在網(wǎng)上商城中,所選商品須通過購物車進行暫存,然后生產(chǎn)訂單。這種技術(shù)使用起來十分方便,不但可以隨時添加、查看、修改、清空購物車中的內(nèi)容,還可以隨時去收銀臺結(jié)款。l 訂單管理:只有登錄的用戶可下訂單;用戶可以查看
22、自己的訂單。l 用戶管理:為了方便于網(wǎng)站的管理,必須由一套完整的用戶管理體系。該網(wǎng)站用戶管理模塊主要實現(xiàn)用戶的注冊、登錄、找回密碼3方面功能。l 個人資料管理:用戶可以自行對個人信息進行修改。l 商品評價管理:用戶購買商品后對商品進行留言評分,以為后來購買者提供參考。后臺管理相關(guān)功能主要包括:l 用戶信息管理模塊:能夠?qū)τ脩裘?,密碼的簡單驗證;能夠?qū)﹄娮余]箱,Email進行有效性驗證;能夠防止利用頁面刷新重復(fù)注冊,以及已經(jīng)注冊的用戶不能重復(fù)注冊。l 管理員登陸:管理員可以通過查詢指定用戶,并管理用戶的啟用,凍結(jié)。l 商品管理:管理員可以增添商品分類;修改商品基本信息;增添商品時候可以上傳圖片。
23、l 訂單信息管理:管理員可以修改訂單的狀態(tài)。 將以上這些功能制作成網(wǎng)頁以后,在其中分別互相建立連接,基本完成商城及用戶對網(wǎng)站的要求。2.4.3 代碼設(shè)計前臺部分:(1)用戶管理模塊:/標(biāo)志變量boolean isSuccess=false;if(password1!=null & !password1.equals() & password2!=null & !password2.equals() & answer!=null & !answer.equals()/判斷兩次的密碼是否一致if(password1.equals(password2)/判斷該用戶名是否已經(jīng)存在 VipDAO vip
24、DAO=new VipDAO(); Map user=vipDAO.getByusername(username); if(user=null)/3、調(diào)用DAOint flag=vipDAO.add(record);if(flag0) isSuccess=true;MailUtil mail=new MailUtil();mail.sendMail(, luwenwen2008, luwenwen2008, qw, record.get(email).toString(), 恭喜您成功注冊應(yīng)答網(wǎng), GB2312, 這是應(yīng)答網(wǎng)給您發(fā)送的提示郵件,請不要回復(fù)。);request.setAttrib
25、ute(message, message);if(isSuccess)request.getRequestDispatcher(message.jsp).forward(request, response);else request.setAttribute(record, record);request.getRequestDispatcher(register.jsp).forward(request, response); /進入輸入答案頁面 String username=request.getParameter(username);/查詢數(shù)據(jù)庫VipDAO vipDAO=new Vi
26、pDAO();Map record=vipDAO.getByusername(username);/說明你要找回密碼的賬號不存在if(record=null)String message=alert(該用戶不存在);window.location.href=productServlet?action=displayProducts;request.getRequestDispatcher(inputAnswer.jsp).forward(request, response);(2)個人資料管理模塊:if(password1.equals(password2)/判斷原始密碼是否正確VipDAO
27、vipDAO=new VipDAO(); /說明密碼正確if(vipDAO.validateVip(username, MD5.md5(oldpwd)!=null)/2、組裝數(shù)據(jù). . . . .record.put(password, MD5.md5(password1);record.put(vipid, vipid);/3、調(diào)用DAOint flag=vipDAO.update(record);if(flag0)message=alert(修改成功);window.location.href=editpwd.jsp;elsemessage=alert(修改失敗);window.locat
28、ion.href=editpwd.jsp;elsemessage=alert(原始密碼不正確);window.location.href=editpwd.jsp;elsemessage=alert(兩次密碼不一致);window.location.href=editpwd.jsp;request.setAttribute(message, message);request.getRequestDispatcher(message.jsp).forward(request, response);(3)購物車管理模塊:String productid=request.getParameter(pr
29、oductid);Int buycount=Integer.parseInt(request.getParameter(buycount);/查詢數(shù)據(jù)庫,獲取該產(chǎn)品的信息ProductDAO productDAO=new ProductDAO();/獲取該ID的產(chǎn)品信息Map record=productDAO.get(Integer.parseInt(productid);/獲取Session,是指用于多個連續(xù)頁面實現(xiàn)數(shù)據(jù)共享的一種技術(shù)。典型的應(yīng)用場景:1、購物車 2、判斷用戶是否登錄. . . . .cart=(ListMap)session.getAttribute(cart);/判斷該
30、次購買的產(chǎn)品是否已在車中,默認(rèn)不在車中boolean inCart=false;/循環(huán)車子,判斷當(dāng)前購買的產(chǎn)品是已經(jīng)購買過(重復(fù)購買)for(int i=0;icart.size();i+)/獲取每一條車子中已有的產(chǎn)品Map temprecord=cart.get(i);/是重復(fù)購買if(temprecord.get(productid).equals(productid)/取出之前購買的數(shù)量,加上本次的購買數(shù)量temprecord.put(buycount, Integer.parseInt(temprecord.get(buycount).toString()+buycount);/重新計
31、算總價temprecord.put(totalprice, BaseCalculate.round(BaseCalculate.add(Float.parseFloat(temprecord.get(totalprice).toString(), buycount*Float.parseFloat(record.get(myprice).toString(), 1);/將更改的記錄重新放入Cart(更改)/cart.add(i, temprecord);inCart=true;break;float sum=0;for(int i=0;icart.size();i+)Map temp=cart
32、.get(i);/當(dāng)前商品的總價sum=BaseCalculate.round(BaseCalculate.add(sum, Float.parseFloat(temp.get(totalprice).toString(), 1);session.setAttribute(sum,sum);session.setAttribute(cart, cart);/跳轉(zhuǎn)頁面(轉(zhuǎn)發(fā):即跳轉(zhuǎn)到的頁面可以共享request中的數(shù)據(jù))response.sendRedirect(showCart.jsp);(4)訂單管理模塊:String addressid=request.getParameter(addre
33、ss);String payway=request.getParameter(payway);/獲取該地址的ID對應(yīng)的配送信息AddressDAO addressDAO=new AddressDAO();Map record=addressDAO.get(Integer.parseInt(addressid);/把信息放入頁面request.setAttribute(record, record);request.setAttribute(payway, payway);request.getRequestDispatcher(orderConfirm.jsp).forward(request
34、, response);/下單時間String maketime=new SimpleDateFormat(yyyy-MM-dd HH:mm:ss).format(new Date();String status=未審核; int vipid=1;Map order=new HashMap();/獲取購物車ListMap cart=(ListMap)session.getAttribute(cart);OrdersDAO ordersDAO=new OrdersDAO();int orderid=ordersDAO.makeOrder(order,cart);System.out.printl
35、n(生成的訂單ID:+orderid);String message=;if(orderid0)request.setAttribute(message, message);request.getRequestDispatcher(message.jsp).forward(request, response);(5)商品評價管理模塊:Public void addcomment(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException /1、獲取數(shù)據(jù). . . .
36、./2、組裝數(shù)據(jù)Map record=new HashMap();. . . . ./3、調(diào)用DAOCommentDAO commentDAO=new CommentDAO();int flag=commentDAO.add(record);String message=;if(flag0)message=alert(評論成功);window.location.href=productServlet?action=showDetail&productid=+productid+;elsemessage=alert(評論失敗);window.location.href=productServle
37、t?action=showDetail&productid=+productid+;request.setAttribute(message, message);request.getRequestDispatcher(message.jsp).forward(request, response); 后臺部分:(1)管理員登陸模塊:public void login(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException String username=reque
38、st.getParameter(username);String password=request.getParameter(password);AdminDAO adminDAO=new AdminDAO();Map admin=adminDAO.validate(username, password);String message=;if(admin!=null)/把該管理員信息放入SessionHttpSession session=request.getSession();session.setAttribute(admin, admin);message=alert(登錄成功);wi
39、ndow.location.href=adminIndex.jsp;elsemessage=alert(登錄失敗);window.location.href=adminlogin.jsp;request.setAttribute(message, message);request.getRequestDispatcher(message.jsp).forward(request, response);/管理員注銷HttpSession session=request.getSession();session.invalidate();String message=alert(注銷成功);win
40、dow.location.href=adminlogin.jsp;/把信息放入頁面request.setAttribute(message, message);/跳轉(zhuǎn)頁面request.getRequestDispatcher(message.jsp).forward(request, response);(2)商品管理模塊:request.setCharacterEncoding(UTF-8);String action=request.getParameter(action);/發(fā)布商品if(action.equals(publish)publish(request,response);e
41、lse if(action.equals(publishUI)/進入發(fā)布頁面publishUI(request,response);else if(action.equals(list) /產(chǎn)品列表list(request,response);else if(action.equals(del) /產(chǎn)品刪除del(request,response);else if(action.equals(edit) /進入修改頁面edit(request,response);else if(action.equals(update)/修改update(request,response);else if(a
42、ction.equals(upload) /上傳upload(request,response);else if(action.equals(displayProducts) /前臺產(chǎn)品展示列表displayProducts(request,response);else if(action.equals(showDetail) /顯示產(chǎn)品詳細(xì)信息showDetail(request,response); /調(diào)用DAOCategoryDAO categoryDAO=new CategoryDAO();ListMap records=categoryDAO.list();/把信息放入頁面reque
43、st.setAttribute(records, records); /跳轉(zhuǎn)頁面request.getRequestDispatcher(addProduct.jsp).forward(request, response);/把信息放入頁面request.setAttribute(message, message);request.getRequestDispatcher(message.jsp).forward(request, response); (3)訂單信息管理模塊:/獲取訂單狀態(tài)碼String statuscode=request.getParameter(statuscode);
44、/如果用戶提交了訂單狀態(tài)碼if(statuscode!=null & !statuscode.equals()/狀態(tài)String status=;. . . . .elsewhere= ; statuscode=;/查看訂單明細(xì)int orderid=Integer.parseInt(request.getParameter(orderid);OrdersDAO ordersDAO=new OrdersDAO();Map record=ordersDAO.getOrdersAndVipWithdId(orderid);ListMap records=ordersDAO.getOrderdeta
45、ilAndProductWithdId(orderid);/訂單總價String sum=ordersDAO.getOrderSumWithId(orderid);/把信息放入頁面request.setAttribute(record, record);request.setAttribute(records, records);request.setAttribute(sum, sum); /跳轉(zhuǎn)頁面request.getRequestDispatcher(orderDetail.jsp).forward(request, response);(4)添加鏈接 try Connection c
46、n=ZqDBUtil.getConn(); Statement stmt=cn.createStatement();String sql=select * from vip where username=+username+ and password=+password+;ResultSet rs=stmt.executeQuery(sql);System.out.println(執(zhí)行的SQL:+sql);ListMap records=ZqDBUtil.getHashMap(rs);ZqDBUtil.close(cn, stmt, rs);return records.get(0); cat
47、ch (Exception e) e.printStackTrace();return null;2.4.4 界面設(shè)計 前臺界面: 購物車模塊: 訂單管理模塊: 個人資料管理模塊: 留言板管理模塊: 管理員身份驗證模塊: 商品管理模塊: 處理訂單模塊:網(wǎng)站管理者對用戶訂單的執(zhí)行和編輯狀態(tài)。2.4.5 系統(tǒng)測試這個網(wǎng)站系統(tǒng)要實現(xiàn)的功能有用戶注冊登陸、瀏覽商城信息、用戶購物并填寫訂單、管理員對網(wǎng)站信息的各方面操作和維護等。測試部分包括網(wǎng)站對數(shù)據(jù)庫的訪問和更新測試;對網(wǎng)站查詢功能的測試;系統(tǒng)容錯功能的測試。表2-10 網(wǎng)站對數(shù)據(jù)庫的訪問和更新測試用例用例名稱網(wǎng)站對數(shù)據(jù)庫的訪問和更新用例描述當(dāng)客戶登錄
48、到網(wǎng)站后會瀏覽商品、鏈接等信息。這些信息都是來自管理員對后臺數(shù)據(jù)庫的更新和維護。我們要測試的是管理員通過后臺是否對數(shù)據(jù)庫進行了修改,并且修改后是否能相應(yīng)、如實地在前臺顯示出來。測試方案管理員在后臺添加一條商品信息,首先查看數(shù)據(jù)庫中的數(shù)據(jù)是否有相應(yīng)的變化,然后登錄網(wǎng)站的前臺看前臺中顯示的信息是否會相應(yīng)改變。輸入數(shù)據(jù)在添加商品模塊中添加一條商品信息,數(shù)據(jù)如下:商品名稱:歐米茄手表 商品價格:10000 商品類型:生活用品商品介紹:國際名牌 展示圖片:images/002.gif 是否推薦:是預(yù)期結(jié)果在添加的商品信息被提交后,打開SQLServer數(shù)據(jù)庫,查看tb_Ware表,可以看到表中多了一行數(shù)據(jù),其屬性Wareid、Warename、Wareprice、的值分別為73、歐米茄手表、10000、說明管理員對網(wǎng)站數(shù)據(jù)庫的訪問和更新是成功的。表2-11 網(wǎng)站查詢功能的測試用例名稱網(wǎng)站查詢功能的測試用例描述客戶在輸入訂單號以后提交查詢請求。觀察是否會按照客戶的意思返回訂單的信息。測試方案客戶輸入正確的訂單號信息,然后觀察查詢結(jié)果;隨意輸入一些內(nèi)容觀察查詢結(jié)果。輸入數(shù)據(jù)數(shù)據(jù)1: 數(shù)據(jù)2: 預(yù)期結(jié)果結(jié)果1:在查詢結(jié)果顯示頁面中顯示出與訂單號相對應(yīng)的訂單信息;結(jié)果2:給出提示:“沒有此訂單號請您重新核實”表2-12 對系統(tǒng)容錯功能的測試之對客戶修
溫馨提示
- 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)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 初一上學(xué)期長郡數(shù)學(xué)試卷
- 高級瓦楞紙板及紙箱生產(chǎn)項目環(huán)評報告表
- 通信電纜施工方案
- 2024-2025學(xué)年下學(xué)期高一語文第二單元B卷
- 柴油裝卸系統(tǒng)施工方案
- 【專精特新】稀土永磁材料企業(yè)專精特新“小巨人”成長之路(智研咨詢)
- 信息技術(shù)下的立體幾何教學(xué)初探
- 高中歷史課堂教學(xué)情境創(chuàng)設(shè)的策略研究
- 南京科遠(yuǎn)KD200變頻器使用手冊
- 中外教育史知到課后答案智慧樹章節(jié)測試答案2025年春牡丹江師范學(xué)院
- 六年級1班語文老師家長會課件
- 小學(xué)英語-PEP六下Unit1 Part B Read and write教學(xué)設(shè)計學(xué)情分析教材分析課后反思
- 五代十國的歷史故事
- 中交第三航務(wù)工程局有限公司安全管理制度匯編(2020版)
- 港澳臺專題教育課件
- 高中英語外研版高中必修2Module3Music-Music教案
- 工業(yè)機器人技術(shù)專業(yè)建設(shè)規(guī)劃
- 車間主要生產(chǎn)設(shè)備一覽表
- 川74取心筒說明書
- 2023年軍考語文真題及參考答案
- 五年級下冊數(shù)學(xué)蘇教版課件 因數(shù)和倍數(shù)的認(rèn)識
評論
0/150
提交評論