軟件工程網(wǎng)上購物系統(tǒng)課程設(shè)計_第1頁
軟件工程網(wǎng)上購物系統(tǒng)課程設(shè)計_第2頁
軟件工程網(wǎng)上購物系統(tǒng)課程設(shè)計_第3頁
軟件工程網(wǎng)上購物系統(tǒng)課程設(shè)計_第4頁
軟件工程網(wǎng)上購物系統(tǒng)課程設(shè)計_第5頁
已閱讀5頁,還剩52頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

年4月19日軟件工程網(wǎng)上購物系統(tǒng)課程設(shè)計文檔僅供參考,不當(dāng)之處,請聯(lián)系改正。軟件工程課程設(shè)計報告(--年第二學(xué)期)課程名稱:軟件工程課程設(shè)計題目:網(wǎng)上購物系統(tǒng)院系:控制與計算機工程學(xué)院班級:軟件1002班組號:組長:艾君偉組員:陳肖成、汪豪、李崧榕指導(dǎo)教師:設(shè)計周數(shù):兩周小組成績:日期:年7月12日《軟件工程》課程設(shè)計任務(wù)書一、目的、要求經(jīng)過軟件開發(fā)的實踐訓(xùn)練,進一步掌握軟件工程的方法和技術(shù),提高軟件開發(fā)的實際能力,培養(yǎng)工程設(shè)計能力和綜合分析、解決問題的能力。具體如下:學(xué)習(xí)和實踐在分析和設(shè)計計算機應(yīng)用系統(tǒng)所需要的知識,包括面向?qū)ο蟮南到y(tǒng)分析與設(shè)計,編碼和測試方面的知識;熟悉自動化的軟件開發(fā)工具RationalRose,并將其運用于軟件開發(fā)的全過程;進一步加強和提高軟件工程文檔的編寫能力;培養(yǎng)協(xié)作能力和團隊精神。二、主要內(nèi)容運用面向?qū)ο蠹夹g(shù)、UML進行網(wǎng)上購物系統(tǒng)的需求分析與設(shè)計;使用RationalRose作為需求分析與設(shè)計的建模工具,進行靜態(tài)建模和動態(tài)建模;利用對象模型自動生成數(shù)據(jù)模型,自動建立數(shù)據(jù)庫;使用J2EE、HTML、CSS、Javascript語言對購物模塊進行界面層的設(shè)計并給出實現(xiàn);撰寫課程設(shè)計報告。三、任務(wù)分配任務(wù)負責(zé)人參與人備注小組討論:需求分析(用例圖、類圖)艾俊偉、陳肖成、汪豪、李崧榕用例圖繪制、類圖繪制、數(shù)據(jù)流分析、數(shù)據(jù)庫設(shè)計汪豪汪豪順序圖、系統(tǒng)結(jié)構(gòu)分析、狀態(tài)圖測試陳肖成陳肖成需求分析、編碼、詳細設(shè)計艾君偉艾君偉繪制部分順序圖、協(xié)作圖、報告處理李崧榕李崧榕四、進度計劃序號設(shè)計內(nèi)容名稱完成時間備注1分組及確定題目1個工作日2初步的需求分析與設(shè)計建模,確定實現(xiàn)平臺,并搭建環(huán)境2個工作日3詳細的需求分析與設(shè)計建模2個工作日進行中期檢查4關(guān)鍵模塊的實現(xiàn)與測試3個工作日5編寫課程設(shè)計報告1個工作日6驗收檢查及評定成績1個工作日五、設(shè)計成果要求建立系統(tǒng)分析與設(shè)計模型;初步建立系統(tǒng)原型,實現(xiàn)關(guān)鍵的功能;編寫課程設(shè)計報告。六、考核方式系統(tǒng)演示及講解占50%。設(shè)計報告占50%。指導(dǎo)教師:日期:6月28日

《軟件工程》課程設(shè)計成績評定一、指導(dǎo)教師評語二、成績學(xué)號姓名成績備注艾君偉陳肖成李崧榕汪豪指導(dǎo)教師:日期:年7月12日摘要:當(dāng)今社會,隨著計算機的應(yīng)用和Internet的普及,Internet網(wǎng)絡(luò)給人類社會帶來了巨大變化,網(wǎng)絡(luò)在我們的生活中幾乎無處不在。因此,建立網(wǎng)上物品的銷售管理系統(tǒng)是時代的潮流。由于JSP能夠在85%以上的服務(wù)器上運行,而且JSP技術(shù)的應(yīng)用程序比ASP的應(yīng)用程序易于維護和管理。因此,經(jīng)過采用JSP技術(shù)設(shè)計開發(fā)在線購物系統(tǒng)符合時代的潮流、具有積極的進步意義。網(wǎng)上購物系統(tǒng)能夠?qū)崿F(xiàn)人們遠程逛逛商店和購買商品的愿望。本系統(tǒng)的功能是實現(xiàn)網(wǎng)上購物,主要包括商品信息管理、購物車訂單管理、用戶管理、商品評價管理、商品庫存管理等模塊,主要以對數(shù)據(jù)庫的增刪改查來實現(xiàn)這些功能。本系統(tǒng)依據(jù)模仿現(xiàn)行的B2C網(wǎng)站的需求而設(shè)計,運用RationalRose、Myeclipse等軟件開發(fā)工具實現(xiàn)系統(tǒng)的分析、設(shè)計與實現(xiàn),最后設(shè)計出來的系統(tǒng)基本滿足能網(wǎng)上購物的功能需求。關(guān)鍵詞:網(wǎng)上購物,面向?qū)ο?,RationalRose,J2EE一、課程設(shè)計的目的與要求經(jīng)過軟件開發(fā)的實踐訓(xùn)練,進一步掌握軟件工程的方法和技術(shù),提高軟件開發(fā)的實際能力,培養(yǎng)工程設(shè)計能力和綜合分析、解決問題的能力。具體如下:學(xué)習(xí)和實踐在分析和設(shè)計計算機應(yīng)用系統(tǒng)所需要的知識,包括面向?qū)ο蟮南到y(tǒng)分析與設(shè)計,編碼和測試方面的知識;熟悉自動化的軟件開發(fā)工具RationalRose,并將其運用于軟件開發(fā)的全過程;進一步加強和提高軟件工程文檔的編寫能力;培養(yǎng)協(xié)作能力和團隊精神。二、設(shè)計正文概述設(shè)計課題該系統(tǒng)為網(wǎng)上購物系統(tǒng)。系統(tǒng)目標(biāo)調(diào)研當(dāng)前現(xiàn)有的網(wǎng)上購物系統(tǒng),如當(dāng)當(dāng)網(wǎng),亞馬遜商城,京東商城等大型電子商務(wù)系統(tǒng),設(shè)計出一個更適合用戶使用,有更多用戶交互,更人性化的購物系統(tǒng)。系統(tǒng)開發(fā)與運行環(huán)境 (1)數(shù)據(jù)庫管理軟件:MySQL (2)建模工具:RationalRose (3)編程工具:MyEclipse、DreamWeaver (4)操作系統(tǒng):Windows系列、Tomcat系統(tǒng) (5)開發(fā)語言:J2EE

2系統(tǒng)需求分析2.1系統(tǒng)需求概述主要從用戶、管理員兩方面進行需求分析。用戶功能分析:(1)購物車: 主要功能包括將商品加入購物車——>提交訂單——>支付——>將訂單信息存檔 (2)個人中心:功能主要包括四部分: 1)查詢自己的購買商品記錄,經(jīng)過人員id在數(shù)據(jù)庫中查找。 2)商品列表:能夠查詢用戶本人在使用,想購買,和購買過的商品。 3)推薦商品:本用例中,推薦商品和新商品經(jīng)過控制類中的方法實現(xiàn),偏好是商品經(jīng)過人員的個性分析方法實現(xiàn)。 4)商品評價:能夠查詢自己的評論過的商品的商品信息和評論信息(3)賬戶管理: 主要包括登錄,注冊,修改個人資料的功能 (4)商品搜索: 1)字節(jié)搜索:能夠經(jīng)過商品名稱,商品序列號精確搜索 2)分類搜索:經(jīng)過各個分類進行搜索。管理員功能分析: (1)商品信息管理:功能主要包括四部分: 1)增加商品信息 2)刪除商品信息 3)修改商品信息 4)查看商品信息 (2)庫存管理: 主要功能包括:修改商品的存貨數(shù)量 (3)用戶管理: 1)將不良交易次數(shù)用戶較多的用戶加入黑名單 2)商品評價管理:將被人氣較高的書評放入首頁的推薦書評模塊 (4)商品評評管理: 主要功能為將違禁商品評價刪除 (5)銷量統(tǒng)計: 主要功能包括:查看營業(yè)額,查看銷售排行,查看利潤。2.2用例圖對于整個用例圖,外部角色有管理員、普通用戶即顧客。管理員主要有書籍的增、刪、改,普通用戶信息管理,訂單管理。普通用戶主要有在線交易、搜索、結(jié)算、加入購物車、加入收藏、結(jié)算、評價、賬戶管理等用例。圖2.2-1總用例圖用例圖圖2.2-2店鋪管理用例圖圖2.2-3購物用例圖關(guān)鍵用例正常事件流和異常事件流的描述如下表:用例規(guī)格說明:內(nèi)容管理員注冊超級管理員說明內(nèi)容管理員注冊B2C購物系統(tǒng)前提條件超級管理員(最高權(quán)限)登錄后置條件內(nèi)容管理員注冊成功基本事件流確認B2C購物系統(tǒng)已打開→確認超級管理員已登錄→確認打開注冊頁面→確認用戶名輸入正確,兩次密碼相同且正確→內(nèi)容管理員成功注冊異常事件流第一異常事件流兩次密碼不相同第二異常事件流用戶名已注用例規(guī)格說明:內(nèi)容管理員登錄所有用戶說明內(nèi)容管理員登錄B2C購物系統(tǒng)前提條件無后置條件內(nèi)容管理員登錄成功基本事件流確認B2C購物系統(tǒng)登錄界面已打開→確認用戶名和密碼已輸入→驗證經(jīng)過→用戶成功登陸系統(tǒng)異常事件流第一異常事件流用戶名或密碼錯誤

用例規(guī)格說明:新增商品內(nèi)容管理員說明內(nèi)容管理員新增一條商品信息前提條件內(nèi)容管理員已登錄,已輸入新增商品信息后置條件系統(tǒng)中增加一條商品信息基本事件流確認已輸入商品信息→增加商品異常事件流第一異常事件流商品信息錯誤第二異常事件流商品信息已存在用例規(guī)格說明:修改商品內(nèi)容管理員說明內(nèi)容管理員修改商品信息前提條件內(nèi)容管理員已登錄,修改商品信息存在后置條件系統(tǒng)中修改一條商品信息基本事件流確認商品信息已修改→修改商品信息異常事件流第一異常事件流修改信息錯誤第二異常事件流修改信息無變化第三異常事件流修改信息不存在用例規(guī)格說明:刪除商品內(nèi)容管理員說明內(nèi)容管理員刪除一條商品信息前提條件內(nèi)容管理員已登錄,刪除商品信息存在后置條件系統(tǒng)中刪除一條商品信息基本事件流確認已選擇商品信息→刪除商品異常事件流第一異常事件流刪除的商品不存在

用例規(guī)格說明:修改訂單內(nèi)容管理員說明內(nèi)容管理員修改一條訂單信息前提條件內(nèi)容管理員已登錄,修改的訂單存在后置條件系統(tǒng)中修改一條訂單信息基本事件流確認已選擇訂單信息→修改商品異常事件流第一異常事件流要修改的訂單不存在第二異常事件流修改訂單信息錯誤用例規(guī)格說明:取消訂單內(nèi)容管理員說明內(nèi)容管理員取消一個訂單前提條件內(nèi)容管理員已登錄,取消的訂單存在后置條件系統(tǒng)中一條訂單取消基本事件流確認已選擇訂單信息→取消訂單異常事件流第一異常事件流要取消的訂單不存在用例規(guī)格說明:退貨內(nèi)容管理員說明管理員管理退貨前提條件內(nèi)容管理員已登錄,用戶申請符合要求,收到退回來的貨品,檢查完好后置條件顧客退貨成功基本事件流登錄→查看退貨申請→符合退貨條件→收到退回來貨品→退貨成功異常事件流第一異常事件流未登錄第二異常事件流退貨申請不存在第三異常事件流商品已過保質(zhì)期第四異常事件流商品未寄回

用例規(guī)格說明:顧客信息修改內(nèi)容管理員說明修改顧客信息前提條件顧客存在,管理員已登錄后置條件修改顧客信息成功基本事件流選擇用戶→確認修改信息→顧客信息修改成功異常事件流第一異常事件流管理員未登錄第二異常事件流顧客不存在第三異常事件流輸入信息錯誤與顧客有關(guān)的用例規(guī)格說明用例規(guī)格說明:顧客注冊顧客說明顧客注冊B2C購物系統(tǒng)前提條件無后置條件顧客注冊成功基本事件流確認打開注冊頁面→確認用戶名輸入正確,兩次密碼相同且正確→顧客注冊成功異常事件流第一異常事件流用戶名存在第二異常事件流用戶名或密碼輸入錯誤用例規(guī)格說明:顧客登錄顧客說明顧客登錄B2C購物系統(tǒng)前提條件無后置條件顧客登錄成功基本事件流確認打開登錄頁面→確認登錄名、密碼→顧客注冊成功異常事件流第一異常事件流用戶名不存在第二異常事件流用戶名或密碼錯誤

用例規(guī)格說明:瀏覽顧客說明顧客瀏覽商品前提條件無后置條件商品頁面打開成功基本事件流確認打開鏈接→商品頁面打開成功異常事件流第一異常事件流商品已下架用例規(guī)格說明:搜索顧客說明顧客搜索商品前提條件無后置條件顯示搜索結(jié)果基本事件流確認搜索內(nèi)容→顯示搜索結(jié)構(gòu)異常事件流第一異常事件流輸入搜索內(nèi)容錯誤用例規(guī)格說明:加入購物車顧客說明顧客將商品加入購物車前提條件商品存在,購物車未滿后置條件顧客注冊成功基本事件流確認加入購物車商品和購物車→商品成功加入購物車異常事件流第一異常事件流商品已下架第二異常事件流購物車已滿

用例規(guī)格說明:加入收藏顧客說明顧客將商品加入收藏夾前提條件商品存在,顧客已登錄,收藏夾未滿后置條件商品加入收藏夾成功基本事件流確認加入收藏夾的商品和收藏夾→商品加入收藏夾成功異常事件流第一異常事件流商品已下架第二異常事件流用戶未登錄第三異常事件流收藏夾已滿用例規(guī)格說明:結(jié)算顧客說明用戶對購物車中的商品進行結(jié)算前提條件用戶已登錄,購物車中有商品,余額充分后置條件結(jié)算成功基本事件流確認結(jié)算信息→確認余額充分→結(jié)算成功異常事件流第一異常事件流購物車為空第二異常事件流未登錄第三異常事件流余額不足用例規(guī)格說明:退貨顧客說明用戶申請退貨前提條件購買商品未過保質(zhì)期,用戶已登錄后置條件顧客退貨成功基本事件流登錄→勾選商品→確認未過保質(zhì)期→寄回商品→退貨成功異常事件流第一異常事件流未登錄第二異常事件流商品不存在第三異常事件流商品已過保質(zhì)期第四異常事件流商品未寄回

用例規(guī)格說明:顧客信息修顧客說明修改顧客信息前提條件顧客已登錄后置條件修改顧客信息成功基本事件流確認修改信息→顧客信息修改成功異常事件流第一異常事件流顧客未登錄第二異常事件流輸入信息不合法2.3類圖圖2.3-1類圖類描述如下:coustomer用戶能夠更改自己的姓名、密碼和其它個人信息,也能夠查看自己的購物車并在其上添加刪除商品,其后對購物車中的產(chǎn)品進行結(jié)算。用戶還能夠?qū)τ唵沃幸迅犊畹纳唐钒凑找筮M行退貨操作。用戶還能夠發(fā)表商品評價和查看商品的來自其它人的評價。Manager管理員所具有的屬性并不多,管理員主要實現(xiàn)對商品的增、刪、改,對用戶個人信息的管理,對訂單的處理協(xié)助用戶退貨。good描述商品對象的抽象。商品的唯一標(biāo)識是商品ID,商品還有品名、價格、類型編號、圖片、描述、數(shù)量、評價。

shoppingcart用戶的購物車類,在用戶進行網(wǎng)上瀏覽和準(zhǔn)備交易時,可將商品加入購物車,查看購物車,刪除或取消交易。進行交易時會將交易信息入時間、金額、商品列表、優(yōu)惠方式等記錄為購物歷史。購物車對象自帶了計算優(yōu)惠的方式,同時購物車要記錄用戶購買商品時的運送信息。Order訂單記錄了訂單編號,訂單生成時間和用戶ID,訂單經(jīng)過一個LIST類型記錄了購買的商品。類之間的關(guān)系:Coustomer與shoppingcart為聚合關(guān)系,manger與order是聚合關(guān)系;manger、coustomer類同good類是關(guān)聯(lián)關(guān)系,其中coustomer與good的關(guān)聯(lián)類是shoppingcart類;shoopingcart與order為關(guān)聯(lián)類。2.4順序圖支付的順序圖如下圖所示,首先是用戶登錄系統(tǒng),然后用戶經(jīng)過界面在商品類中查看到自己想要買的商品,然后將商品加入購物車,然后提交訂單,支付訂單,最后進行存檔。圖2.4-1用戶支付順序圖圖2.4-2新增商品順序圖圖2.4-3刪除商品順序圖圖2.4-4修改商品順序圖退貨的順序圖如下圖所示,首先是用戶登錄系統(tǒng),然后用戶經(jīng)過界面在訂單中查看到自己已買的商品,然后申請退貨,最后進行退貨。2.4-5用戶退貨順序圖2.5協(xié)作圖根據(jù)順序圖獲得協(xié)作圖如下:圖2.5-1用戶支付協(xié)作圖圖2.5-2新增商品協(xié)作圖

圖2.5-3刪除商品協(xié)作圖圖2.5-4修改商品協(xié)作圖圖2.5-5用戶退貨協(xié)作圖2.6狀態(tài)圖訂單狀態(tài)圖。主要包括訂單為空狀態(tài)、訂單處理狀態(tài)、增加完成狀態(tài)、刪除完成狀態(tài)、修改完成狀態(tài),支付訂單狀態(tài),訂單存檔狀態(tài)。圖2.6-1訂單狀態(tài)圖3.系統(tǒng)總體設(shè)計3.1系統(tǒng)體系結(jié)構(gòu)設(shè)計3.3設(shè)計數(shù)據(jù)管理子系統(tǒng)表3.3-1用戶表表3.3-2管理員表表3.3-3商品表表3.3-4訂單表表3.3-5商品類型表圖3.3-1數(shù)據(jù)表關(guān)系圖3.4設(shè)計人機交互子系統(tǒng)圖3.4-1注冊界面圖3.4-2注冊成功界面圖3.4-3登陸界面圖3.4-4主頁界面圖3.4-5購物車界面圖3.4-6提交訂單界面圖3.4-7提交訂單成功界面4.詳細設(shè)計提示:對于復(fù)雜的方法給出詳細設(shè)計,能夠使用偽代碼描述,也能夠使用程序流程圖來描述。4.1.1商品查詢方法goodsearch(){創(chuàng)立一個List類型以及標(biāo)志位flg=false;獲取搜索類型If(按名字查詢){獲取窗口中的關(guān)鍵字;創(chuàng)立數(shù)據(jù)庫查詢語句sql;創(chuàng)立SQLBean對象bean;Rs=bean.exacuteQuery(sql);Try{將rs中的信息存入到List中;}Catch(SQLExceptione){輸出異常信息;}}If(按分類查詢){獲取商品類型;創(chuàng)立數(shù)據(jù)庫查詢語句sql;創(chuàng)立SQLBean對象bean;Rs=bean.exacuteQuery(sql);Try{將rs中的信息存入到List中;}Catch(SQLExceptione){輸出異常信息;}}返回List}4.1.2登錄界面代碼實現(xiàn)packageServlet_Contorlller;//登錄publicclassloginCheckextendsHttpServlet{ publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse) throwsServletException,IOException { request.setCharacterEncoding("utf-8"); response.setCharacterEncoding("utf-8"); PrintWriterout=response.getWriter(); response.setContentType("text/html"); Stringusername=request.getParameter("username"); Stringpassword=request.getParameter("password"); System.out.println("輸入的密碼:"+password); Stringradio=request.getParameter("logintype"); //username=newString(username.getBytes(),"gb2312"); intreginfo=-1; if("".equals(username)||username==null){ reginfo=4;//用戶名不能為空 System.out.println("用戶名為空"); }else{ if(radio.equals("0"))//個人登錄 { StringsqlString="selectpasswordfromcustomerwhereusername='" +username+"'"; List<String>list=null; SQLBeansearch=newSQLBean(); try{ search.executeQuery(sqlString); System.out.println(sqlString); list=search.getSelectRt(); search.close(); }catch(Exceptione){ //TODOAuto-generatedcatchblock e.printStackTrace(); } if(list.size()==0){ reginfo=3;//用戶不存在 response.sendRedirect("index.jsp?reginfo=3"); }else{ for(Stringitem:list){ if(item.equals(password)){ System.out.println("sadasdsa"); reginfo=1;//登錄成功 HttpSessionsession=request.getSession(true); session.setAttribute("user",username); response.sendRedirect("pagedivide"); } } } } } } publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse) throwsServletException,IOException { this.doGet(request,response); }}4.1.3注冊界面代碼實現(xiàn)packageServlet_Contorlller;publicclassregisterCheckextendsHttpServlet{ publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse) throwsServletException,IOException { this.rtcheck(request,response); } publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse) throwsServletException,IOException { //response.sendRedirect("registerCheck.jsp"); this.rtcheck(request,response); } publicvoidrtcheck(HttpServletRequestrequest,HttpServletResponseresponse) { try{ request.setCharacterEncoding("utf-8"); }catch(UnsupportedEncodingExceptione2){ //TODOAuto-generatedcatchblock e2.printStackTrace(); } response.setCharacterEncoding("utf-8"); Stringname=request.getParameter("cuserid"); Stringpassword=request.getParameter("cpassword"); Stringtel=request.getParameter("ctel"); Stringemail=request.getParameter("cemail"); Stringsex=request.getParameter("select"); Stringage=request.getParameter("cage"); Stringrepeatpassword=request.getParameter("repeatpassword"); intreg=0;//0--注冊成功1--注冊失敗 if("".equals(name)||name==null) { reg=0; try { System.out.println("跳轉(zhuǎn)"); response.sendRedirect("register.jsp"); } catch(IOExceptione) { //TODOAuto-generatedcatchblock e.printStackTrace(); System.out.println("重定向異常"); } } elseif("".equals(password)||password==null) { reg=0; try { response.sendRedirect("register.jsp"); System.out.println("跳轉(zhuǎn)2"); } catch(IOExceptione) { //TODOAuto-generatedcatchblock e.printStackTrace(); System.out.println("重定向異常"); } } elseif("".equals(tel)||tel==null) { reg=0; try { System.out.println("跳轉(zhuǎn)3"); response.sendRedirect("register.jsp"); } catch(IOExceptione) { //TODOAuto-generatedcatchblock e.printStackTrace(); System.out.println("重定向異常"); } } elseif("".equals(email)||email==null) { reg=0; try { System.out.println("跳轉(zhuǎn)4"); response.sendRedirect("register.jsp"); } catch(IOExceptione) { //TODOAuto-generatedcatchblock e.printStackTrace(); System.out.println("重定向異常"); } } elseif("".equals(age)||age==null) { reg=0; try { System.out.println("跳轉(zhuǎn)5"); response.sendRedirect("register.jsp"); } catch(IOExceptione) { //TODOAuto-generatedcatchblock e.printStackTrace(); System.out.println("重定向異常"); } } elseif("".equals(repeatpassword)||repeatpassword==null) { reg=0; try { System.out.println("跳轉(zhuǎn)6"); response.sendRedirect("register.jsp"); } catch(IOExceptione) { //TODOAuto-generatedcatchblock e.printStackTrace(); System.out.println("重定向異常"); } } elseif(!repeatpassword.equals(password)) { reg=0; try { System.out.println("跳轉(zhuǎn)7"); response.sendRedirect("register.jsp"); } catch(IOExceptione) { //TODOAuto-generatedcatchblock e.printStackTrace(); System.out.println("重定向異常"); } } else { Stringsqlstr="selectusernamefromcustomer"; SQLBeanbean=newSQLBean(); List<String>list=newArrayList(); try { bean.executeQuery(sqlstr); list=bean.getSelectRt(); bean.close(); } catch(Exceptione) { //TODOAuto-generatedcatchblock e.printStackTrace(); System.out.println("數(shù)據(jù)庫查詢錯誤"); } for(Stringli:list) { if(li.equals(name)) { reg=1;//用戶名重復(fù) try { System.out.println("跳轉(zhuǎn)"); response.sendRedirect("register.jsp"); } catch(IOExceptione) { //TODOAuto-generatedcatchblock e.printStackTrace(); System.out.println("重定向異常"); } } } sqlstr="insertintocustomer(userid,username,password,tel,email,sex,age)values(null,'"+name+"','"+password+"','"+tel+"','"+email+"','"+sex+"',"+age+")"; System.out.println(sqlstr); SQLBeanbean2=newSQLBean(); try { bean2.executeUpdate(sqlstr); bean2.close(); } catch(Exceptione) { //TODOAuto-generatedcatchblock e.printStackTrace(); } try { response.sendRedirect("success.jsp"); } catch(IOExceptione) { //TODOAuto-generatedcatchblock e.printStackTrace(); } } }}4.1.4購物車處理代碼實現(xiàn)if(action.equals("buy"))//加入購物車{ CarBeanmycart=(CarBean)session.getAttribute("mycart"); if(mycart==null) { mycart=newCarBean(); } //得到要購買東西的ID Stringgid=request.getParameter("gid"); mycart.buy(gid,Integer.parseInt(num)); response.sendRedirect("cart.jsp");}elseif(action.equals("changeNum")){ Stringgnum=request.getParameter("gnum"); Stringgid=request.getParameter("gid"); intnumber=0; try { number=Integer.parseInt(gnum); } catch(Exceptione) { //修改的數(shù)量不合法時 Stringmsg="對不起,數(shù)量修改錯誤!!!"; //pageForward(msg,request,response); } intid=Integer.parseInt(gid); intcount=0; //得到庫存數(shù)量 Stringsql="selectgoodnumfromgoodswheregoodId="+id; SQLBeanbean=newSQLBean(); try{ bean.executeQuery(sql); ResultSetst=bean.getRs(); if(st!=null) { st.next(); count=st.getInt(1); bean.close(); } }catch(Exceptione){ //TODOAuto-generatedcatchblock e.printStackTrace(); } if(count<number) {//當(dāng)庫存少于修改的值時 Stringmsg="對不起,庫存不夠,庫存數(shù)量只有"+count; out.println("<p>msg</p>"); out.println("<ahref='cart.jsp'>返回購物車</a>"); } else {//當(dāng)庫存夠時 CarBeanmycart=(CarBean)session.getAttribute("mycart"); if(mycart==null) { mycart=newCarBean(); } //得到用戶的購物車 Map<String,Integer>cart=mycart.getCart(); //修改商品數(shù)量 cart.put(gid,number); session.setAttribute("mycart",mycart); response.sendRedirect("cart.jsp"); }}elseif(action.equals("delete")){ Stringgid=request.getParameter("gid").trim(); //得到j(luò)avaBean對象 CarBeanmycart=(CarBean)session.getAttribute("mycart"); if(mycart==null) { mycart

溫馨提示

  • 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)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論