版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上 軟件工程課程設(shè)計(jì)報(bào)告( 2013 - 2014 學(xué)年 第二學(xué)期)課程名稱: UML大作業(yè) 題 目:網(wǎng)上購(gòu)物系統(tǒng)的分析及設(shè)計(jì) 院 系:計(jì)算機(jī)工程學(xué)院班 級(jí): 軟件1002班 學(xué) 號(hào): 組 員:指導(dǎo)教師: 小組成績(jī): 軟件工程課程設(shè)計(jì)任 務(wù) 書(shū)一、 目的、要求通過(guò)軟件開(kāi)發(fā)的實(shí)踐訓(xùn)練,進(jìn)一步掌握軟件工程的方法和技術(shù),提高軟件開(kāi)發(fā)的實(shí)際能力,培養(yǎng)工程設(shè)計(jì)能力和綜合分析、解決問(wèn)題的能力。具體如下:1. 學(xué)習(xí)和實(shí)踐在分析和設(shè)計(jì)計(jì)算機(jī)應(yīng)用系統(tǒng)所需要的知識(shí),包括面向?qū)ο蟮南到y(tǒng)分析與設(shè)計(jì),編碼和測(cè)試方面的知識(shí);2. 熟悉自動(dòng)化的軟件開(kāi)發(fā)工具Rational Rose,并將其運(yùn)用于軟件
2、開(kāi)發(fā)的全過(guò)程;3. 進(jìn)一步加強(qiáng)和提高軟件工程文檔的編寫(xiě)能力;4. 培養(yǎng)協(xié)作能力和團(tuán)隊(duì)精神。二、 主要內(nèi)容1 運(yùn)用面向?qū)ο蠹夹g(shù)、UML進(jìn)行網(wǎng)上購(gòu)物系統(tǒng)的需求分析與設(shè)計(jì);2 使用Rational Rose作為需求分析與設(shè)計(jì)的建模工具,進(jìn)行靜態(tài)建模和動(dòng)態(tài)建模;3 利用對(duì)象模型自動(dòng)生成數(shù)據(jù)模型,自動(dòng)建立數(shù)據(jù)庫(kù);4 使用J2EE、HTML、CSS、Javascript語(yǔ)言對(duì)購(gòu)物模塊進(jìn)行界面層的設(shè)計(jì)并給出實(shí)現(xiàn);5 撰寫(xiě)課程設(shè)計(jì)報(bào)告。三、任務(wù)分配任務(wù)負(fù)責(zé)人參與人備注小組討論:需求分析(用例圖、類圖)用例圖繪制、類圖繪制、數(shù)據(jù)流分析、數(shù)據(jù)庫(kù)設(shè)計(jì)順序圖、系統(tǒng)結(jié)構(gòu)分析、狀態(tài)圖測(cè)試需求分析、編碼、詳細(xì)設(shè)計(jì)繪制部分順
3、序圖、協(xié)作圖、報(bào)告處理四、 進(jìn)度計(jì)劃序號(hào)設(shè)計(jì)內(nèi)容名稱完成時(shí)間備注1分組及確定題目1個(gè)工作日2初步的需求分析與設(shè)計(jì)建模, 確定實(shí)現(xiàn)平臺(tái),并搭建環(huán)境2個(gè)工作日3詳細(xì)的需求分析與設(shè)計(jì)建模2個(gè)工作日進(jìn)行中期檢查4關(guān)鍵模塊的實(shí)現(xiàn)與測(cè)試3個(gè)工作日5編寫(xiě)課程設(shè)計(jì)報(bào)告1個(gè)工作日6驗(yàn)收檢查及評(píng)定成績(jī)1個(gè)工作日五、 設(shè)計(jì)成果要求1 建立系統(tǒng)分析與設(shè)計(jì)模型;2 初步建立系統(tǒng)原型,實(shí)現(xiàn)關(guān)鍵的功能;3 編寫(xiě)課程設(shè)計(jì)報(bào)告。六、 考核方式1 系統(tǒng)演示及講解占50%。2 設(shè)計(jì)報(bào)告占50%。軟件工程課程設(shè)計(jì) 成 績(jī) 評(píng)定一、 指導(dǎo)教師評(píng)語(yǔ)二、 成績(jī)學(xué)號(hào)姓名成績(jī)備注 摘要當(dāng)今社會(huì),隨著計(jì)算機(jī)的應(yīng)用和Internet的普及, In
4、ternet網(wǎng)絡(luò)給人類社會(huì)帶來(lái)了巨大變化,網(wǎng)絡(luò)在我們的生活中幾乎無(wú)處不在。因此,建立網(wǎng)上物品的銷售管理系統(tǒng)是時(shí)代的潮流。由于JSP可以在85%以上的服務(wù)器上運(yùn)行,而且JSP技術(shù)的應(yīng)用程序比ASP的應(yīng)用程序易于維護(hù)和管理。所以,通過(guò)采用JSP技術(shù)設(shè)計(jì)開(kāi)發(fā)在線購(gòu)物系統(tǒng)符合時(shí)代的潮流、具有積極的進(jìn)步意義。網(wǎng)上購(gòu)物系統(tǒng)可以實(shí)現(xiàn)人們遠(yuǎn)程逛逛商店和購(gòu)買商品的愿望。本系統(tǒng)的功能是實(shí)現(xiàn)網(wǎng)上購(gòu)物,主要包括商品信息管理、購(gòu)物車訂單管理、用戶管理、商品評(píng)價(jià)管理、商品庫(kù)存管理等模塊,主要以對(duì)數(shù)據(jù)庫(kù)的增刪改查來(lái)實(shí)現(xiàn)這些功能。本系統(tǒng)依據(jù)模仿現(xiàn)行的B2C網(wǎng)站的需求而設(shè)計(jì),運(yùn)用Rational Rose、Myeclipse等
5、軟件開(kāi)發(fā)工具實(shí)現(xiàn)系統(tǒng)的分析、設(shè)計(jì)與實(shí)現(xiàn),最后設(shè)計(jì)出來(lái)的系統(tǒng)基本滿足能網(wǎng)上購(gòu)物的功能需求。關(guān)鍵詞:網(wǎng)上購(gòu)物,面向?qū)ο?,Rational Rose,J2EE一、課程設(shè)計(jì)的目的與要求通過(guò)軟件開(kāi)發(fā)的實(shí)踐訓(xùn)練,進(jìn)一步掌握軟件工程的方法和技術(shù),提高軟件開(kāi)發(fā)的實(shí)際能力,培養(yǎng)工程設(shè)計(jì)能力和綜合分析、解決問(wèn)題的能力。具體如下:1. 學(xué)習(xí)和實(shí)踐在分析和設(shè)計(jì)計(jì)算機(jī)應(yīng)用系統(tǒng)所需要的知識(shí),包括面向?qū)ο蟮南到y(tǒng)分析與設(shè)計(jì),編碼和測(cè)試方面的知識(shí);2. 熟悉自動(dòng)化的軟件開(kāi)發(fā)工具Rational Rose,并將其運(yùn)用于軟件開(kāi)發(fā)的全過(guò)程;3. 進(jìn)一步加強(qiáng)和提高軟件工程文檔的編寫(xiě)能力;4. 培養(yǎng)協(xié)作能力和團(tuán)隊(duì)精神。二、設(shè)計(jì)正文1 概
6、述1.1 設(shè)計(jì)課題該系統(tǒng)為網(wǎng)上購(gòu)物系統(tǒng)。1.2 系統(tǒng)目標(biāo)調(diào)研目前現(xiàn)有的網(wǎng)上購(gòu)物系統(tǒng),如當(dāng)當(dāng)網(wǎng),亞馬遜商城,京東商城等大型電子商務(wù)系統(tǒng),設(shè)計(jì)出一個(gè)更適合用戶使用,有更多用戶交互,更人性化的購(gòu)物系統(tǒng)。1.3 系統(tǒng)開(kāi)發(fā)與運(yùn)行環(huán)境(1)數(shù)據(jù)庫(kù)管理軟件:MySQL(2)建模工具:Rational Rose(3)編程工具:MyEclipse、DreamWeaver(4)操作系統(tǒng):Windows系列、Tomcat系統(tǒng)(5)開(kāi)發(fā)語(yǔ)言:J2EE2 系統(tǒng)需求分析2.1 系統(tǒng)需求概述 主要從用戶、管理員兩方面進(jìn)行需求分析。 用戶功能分析:(1)購(gòu)物車:主要功能包括將商品加入購(gòu)物車>提交訂單
7、>支付>將訂單信息存檔 (2)個(gè)人中心:功能主要包括四部分: 1)查詢自己的購(gòu)買商品記錄,通過(guò)人員id在數(shù)據(jù)庫(kù)中查找。 2)商品列表:可以查詢用戶本人在使用,想購(gòu)買,和購(gòu)買過(guò)的商品。 3)推薦商品:本用例中,推薦商品和新商品通過(guò)控制類中的方法實(shí)現(xiàn),偏好是商品通過(guò)人員的個(gè)性分析方法實(shí)現(xiàn)。 4)商品評(píng)價(jià):可以查詢自己的評(píng)論過(guò)的商品的商品信息和評(píng)論信息(3)賬戶管理: 主要包括登錄,注冊(cè),修改個(gè)人資料的功能 (4)商品搜索: 1)字節(jié)搜索:可以通過(guò)商品名稱,商品序列號(hào)精確搜索 2)分類搜索:通過(guò)各個(gè)分類進(jìn)行搜索。2.1.2 管理員功能分析: (1)商品信息管理:功能主要包括四部分: 1)
8、增加商品信息 2)刪除商品信息 3)修改商品信息 4)查看商品信息 (2)庫(kù)存管理:主要功能包括:修改商品的存貨數(shù)量 (3)用戶管理: 1)將不良交易次數(shù)用戶較多的用戶加入黑名單 2)商品評(píng)價(jià)管理:將被人氣較高的書(shū)評(píng)放入首頁(yè)的推薦書(shū)評(píng)模塊 (4)商品評(píng)評(píng)管理: 主要功能為將違禁商品評(píng)價(jià)刪除 (5)銷量統(tǒng)計(jì): 主要功能包括:查看營(yíng)業(yè)額,查看銷售排行,查看利潤(rùn)。2.2 用例圖對(duì)于整個(gè)用例圖,外部角色有管理員、普通用戶即顧客。管理員主要有書(shū)籍的增、刪、改,普通用戶信息管理,訂單管理。普通用戶主要有在線交易、搜索、結(jié)算、加入購(gòu)物車、加入收藏、結(jié)算、評(píng)價(jià)、賬戶管理等用例。圖2.2-1 總用例圖用例圖圖2
9、.2-2 店鋪管理用例圖圖2.2-3 購(gòu)物用例圖關(guān)鍵用例正常事件流和異常事件流的描述如下表:用例規(guī)格說(shuō)明:內(nèi)容管理員注冊(cè)超級(jí)管理員說(shuō)明內(nèi)容管理員注冊(cè)B2C購(gòu)物系統(tǒng)前提條件超級(jí)管理員(最高權(quán)限)登錄后置條件內(nèi)容管理員注冊(cè)成功基本事件流確認(rèn)B2C購(gòu)物系統(tǒng)已打開(kāi)確認(rèn)超級(jí)管理員已登錄確認(rèn)打開(kāi)注冊(cè)頁(yè)面確認(rèn)用戶名輸入正確,兩次密碼相同且正確內(nèi)容管理員成功注冊(cè)異常事件流第一異常事件流兩次密碼不相同第二異常事件流用戶名已注用例規(guī)格說(shuō)明:內(nèi)容管理員登錄所有用戶說(shuō)明內(nèi)容管理員登錄B2C購(gòu)物系統(tǒng)前提條件無(wú)后置條件內(nèi)容管理員登錄成功基本事件流確認(rèn)B2C購(gòu)物系統(tǒng)登錄界面已打開(kāi) 確認(rèn)用戶名和密碼已輸入 驗(yàn)證通過(guò)用戶成功登
10、陸系統(tǒng)異常事件流第一異常事件流用戶名或密碼錯(cuò)誤用例規(guī)格說(shuō)明:新增商品內(nèi)容管理員說(shuō)明內(nèi)容管理員新增一條商品信息前提條件內(nèi)容管理員已登錄,已輸入新增商品信息后置條件系統(tǒng)中增加一條商品信息基本事件流確認(rèn)已輸入商品信息增加商品異常事件流第一異常事件流商品信息錯(cuò)誤第二異常事件流商品信息已存在用例規(guī)格說(shuō)明:修改商品內(nèi)容管理員說(shuō)明內(nèi)容管理員修改商品信息前提條件內(nèi)容管理員已登錄,修改商品信息存在后置條件系統(tǒng)中修改一條商品信息基本事件流確認(rèn)商品信息已修改修改商品信息異常事件流第一異常事件流修改信息錯(cuò)誤第二異常事件流修改信息無(wú)變化第三異常事件流修改信息不存在用例規(guī)格說(shuō)明:刪除商品內(nèi)容管理員說(shuō)明內(nèi)容管理員刪除一條商
11、品信息前提條件內(nèi)容管理員已登錄,刪除商品信息存在后置條件系統(tǒng)中刪除一條商品信息基本事件流確認(rèn)已選擇商品信息刪除商品異常事件流第一異常事件流刪除的商品不存在用例規(guī)格說(shuō)明:修改訂單內(nèi)容管理員說(shuō)明內(nèi)容管理員修改一條訂單信息前提條件內(nèi)容管理員已登錄,修改的訂單存在后置條件系統(tǒng)中修改一條訂單信息基本事件流確認(rèn)已選擇訂單信息修改商品異常事件流第一異常事件流要修改的訂單不存在第二異常事件流修改訂單信息錯(cuò)誤用例規(guī)格說(shuō)明:取消訂單內(nèi)容管理員說(shuō)明內(nèi)容管理員取消一個(gè)訂單前提條件內(nèi)容管理員已登錄,取消的訂單存在后置條件系統(tǒng)中一條訂單取消基本事件流確認(rèn)已選擇訂單信息取消訂單異常事件流第一異常事件流要取消的訂單不存在用例
12、規(guī)格說(shuō)明:退貨內(nèi)容管理員說(shuō)明管理員管理退貨前提條件內(nèi)容管理員已登錄,用戶申請(qǐng)符合要求,收到退回來(lái)的貨品,檢查完好后置條件顧客退貨成功基本事件流登錄查看退貨申請(qǐng)符合退貨條件收到退回來(lái)貨品退貨成功異常事件流第一異常事件流未登錄第二異常事件流退貨申請(qǐng)不存在第三異常事件流商品已過(guò)保質(zhì)期第四異常事件流商品未寄回用例規(guī)格說(shuō)明:顧客信息修改內(nèi)容管理員說(shuō)明修改顧客信息前提條件顧客存在,管理員已登錄后置條件修改顧客信息成功基本事件流選擇用戶確認(rèn)修改信息顧客信息修改成功異常事件流第一異常事件流管理員未登錄第二異常事件流顧客不存在第三異常事件流輸入信息錯(cuò)誤與顧客有關(guān)的用例規(guī)格說(shuō)明用例規(guī)格說(shuō)明:顧客注冊(cè)顧客說(shuō)明顧客注
13、冊(cè)B2C購(gòu)物系統(tǒng)前提條件無(wú)后置條件顧客注冊(cè)成功基本事件流確認(rèn)打開(kāi)注冊(cè)頁(yè)面確認(rèn)用戶名輸入正確,兩次密碼相同且正確顧客注冊(cè)成功異常事件流第一異常事件流用戶名存在第二異常事件流用戶名或密碼輸入錯(cuò)誤用例規(guī)格說(shuō)明:顧客登錄顧客說(shuō)明顧客登錄B2C購(gòu)物系統(tǒng)前提條件無(wú)后置條件顧客登錄成功基本事件流確認(rèn)打開(kāi)登錄頁(yè)面確認(rèn)登錄名、密碼顧客注冊(cè)成功異常事件流第一異常事件流用戶名不存在第二異常事件流用戶名或密碼錯(cuò)誤用例規(guī)格說(shuō)明:瀏覽顧客說(shuō)明顧客瀏覽商品前提條件無(wú)后置條件商品頁(yè)面打開(kāi)成功基本事件流確認(rèn)打開(kāi)鏈接商品頁(yè)面打開(kāi)成功異常事件流第一異常事件流商品已下架用例規(guī)格說(shuō)明:搜索顧客說(shuō)明顧客搜索商品前提條件無(wú)后置條件顯示搜索
14、結(jié)果基本事件流確認(rèn)搜索內(nèi)容顯示搜索結(jié)構(gòu)異常事件流第一異常事件流輸入搜索內(nèi)容錯(cuò)誤用例規(guī)格說(shuō)明:加入購(gòu)物車顧客說(shuō)明顧客將商品加入購(gòu)物車前提條件商品存在,購(gòu)物車未滿后置條件顧客注冊(cè)成功基本事件流確認(rèn)加入購(gòu)物車商品和購(gòu)物車商品成功加入購(gòu)物車異常事件流第一異常事件流商品已下架第二異常事件流購(gòu)物車已滿用例規(guī)格說(shuō)明:加入收藏顧客說(shuō)明顧客將商品加入收藏夾前提條件商品存在,顧客已登錄,收藏夾未滿后置條件商品加入收藏夾成功基本事件流確認(rèn)加入收藏夾的商品和收藏夾商品加入收藏夾成功異常事件流第一異常事件流商品已下架第二異常事件流用戶未登錄第三異常事件流收藏夾已滿用例規(guī)格說(shuō)明:結(jié)算顧客說(shuō)明用戶對(duì)購(gòu)物車中的商品進(jìn)行結(jié)算前
15、提條件用戶已登錄,購(gòu)物車中有商品,余額充足后置條件結(jié)算成功基本事件流確認(rèn)結(jié)算信息確認(rèn)余額充足結(jié)算成功異常事件流第一異常事件流購(gòu)物車為空第二異常事件流未登錄第三異常事件流余額不足用例規(guī)格說(shuō)明:退貨顧客說(shuō)明用戶申請(qǐng)退貨前提條件購(gòu)買商品未過(guò)保質(zhì)期,用戶已登錄后置條件顧客退貨成功基本事件流登錄勾選商品確認(rèn)未過(guò)保質(zhì)期寄回商品退貨成功異常事件流第一異常事件流未登錄第二異常事件流商品不存在第三異常事件流商品已過(guò)保質(zhì)期第四異常事件流商品未寄回用例規(guī)格說(shuō)明:顧客信息修顧客說(shuō)明修改顧客信息前提條件顧客已登錄后置條件修改顧客信息成功基本事件流確認(rèn)修改信息顧客信息修改成功異常事件流第一異常事件流顧客未登錄第二異常事件
16、流輸入信息不合法2.3 類圖圖2.3-1 類圖類描述如下:(1) coustomer用戶可以更改自己的姓名、密碼和其它個(gè)人信息,也可以查看自己的購(gòu)物車并在其上添加刪除商品,其后對(duì)購(gòu)物車中的產(chǎn)品進(jìn)行結(jié)算。用戶還可以對(duì)訂單中已付款的商品按照要求進(jìn)行退貨操作。用戶還可以發(fā)表商品評(píng)價(jià)和查看商品的來(lái)自其他人的評(píng)價(jià)。(2) Manager管理員所具有的屬性并不多,管理員主要實(shí)現(xiàn)對(duì)商品的增、刪、改,對(duì)用戶個(gè)人信息的管理,對(duì)訂單的處理協(xié)助用戶退貨。(3) good描述商品對(duì)象的抽象。商品的唯一標(biāo)識(shí)是商品ID,商品還有品名、價(jià)格、類型編號(hào)、圖片、描述、數(shù)量、評(píng)價(jià)。(4) shoppingcart用戶的購(gòu)物車類,
17、在用戶進(jìn)行網(wǎng)上瀏覽和準(zhǔn)備交易時(shí),可將商品加入購(gòu)物車,查看購(gòu)物車,刪除或取消交易。進(jìn)行交易時(shí)會(huì)將交易信息入時(shí)間、金額、商品列表、優(yōu)惠方式等記錄為購(gòu)物歷史。購(gòu)物車對(duì)象自帶了計(jì)算優(yōu)惠的方式,同時(shí)購(gòu)物車要記錄用戶購(gòu)買商品時(shí)的運(yùn)送信息。(5) Order訂單記錄了訂單編號(hào),訂單生成時(shí)間和用戶ID,訂單通過(guò)一個(gè)LIST類型記錄了購(gòu)買的商品。類之間的關(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與ord
18、er為關(guān)聯(lián)類。2.4 順序圖支付的順序圖如下圖所示,首先是用戶登錄系統(tǒng),然后用戶通過(guò)界面在商品類中查看到自己想要買的商品,然后將商品加入購(gòu)物車,然后提交訂單,支付訂單,最后進(jìn)行存檔。圖2.4-1 用戶支付順序圖 圖2.4-2 新增商品順序圖 圖2.4-3 刪除商品順序圖 圖2.4-4 修改商品順序圖退貨的順序圖如下圖所示,首先是用戶登錄系統(tǒng),然后用戶通過(guò)界面在訂單中查看到自己已買的商品,然后申請(qǐng)退貨,最后進(jìn)行退貨。2.4-5 用戶退貨順序圖 2.5 協(xié)作圖根據(jù)順序圖獲得協(xié)作圖如下:圖2.5-1 用戶支付協(xié)作圖圖2.5-2 新增商品協(xié)作圖圖2.5-3 刪除商品協(xié)作圖圖2.5-4 修改商品協(xié)作圖圖
19、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è)計(jì)3.1 系統(tǒng)體系結(jié)構(gòu)設(shè)計(jì)3.3 設(shè)計(jì)數(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è)計(jì)人機(jī)交互子系統(tǒng)圖3.4-1 注冊(cè)界面圖3.4-2 注冊(cè)成功界面圖3.4-3 登陸界面圖3.4-4 主頁(yè)界面圖3.4-5 購(gòu)物車界面圖3.4-6 提交訂單界面圖3.4-7 提交訂單成功界面4. 詳細(xì)設(shè)計(jì)提示: 對(duì)于
20、復(fù)雜的方法給出詳細(xì)設(shè)計(jì),可以使用偽代碼描述, 也可以使用程序流程圖來(lái)描述。 4.1.1商品查詢方法 goodsearch()創(chuàng)建一個(gè)List類型以及標(biāo)志位flg=false;獲取搜索類型If(按名字查詢) 獲取窗口中的關(guān)鍵字; 創(chuàng)建數(shù)據(jù)庫(kù)查詢語(yǔ)句sql; 創(chuàng)建SQLBean對(duì)象bean; Rs=bean.exacuteQuery(sql); Try 將rs中的信息存入到List中; Catch(SQLException e) 輸出異常信息; If(按分類查詢) 獲取商品類型; 創(chuàng)建數(shù)據(jù)庫(kù)查詢語(yǔ)句sql; 創(chuàng)建SQLBean對(duì)象bean; Rs=bean.exacuteQuery(sql); T
21、ry 將rs中的信息存入到List中; Catch(SQLException e) 輸出異常信息; 返回List 4.1.2登錄界面代碼實(shí)現(xiàn)package Servlet_Contorlller;/登錄public class loginCheck extends HttpServletpublic void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOExceptionrequest.setCharacterEncoding("utf-8"
22、;);response.setCharacterEncoding("utf-8");PrintWriter out = response.getWriter();response.setContentType("text/html");String username = request.getParameter("username");String password = request.getParameter("password");System.out.println("輸入的密碼:" +
23、password);String radio = request.getParameter("logintype");/ username=new String(username.getBytes(),"gb2312");int reginfo = -1;if ("".equals(username) | username = null) reginfo = 4;/ 用戶名不能為空System.out.println("用戶名為空"); else if (radio.equals("0")/ 個(gè)
24、人登錄String sqlString = "select password from customer where username='"+ username + "'"List<String> list = null;SQLBean search = new SQLBean();try search.executeQuery(sqlString);System.out.println(sqlString);list = search.getSelectRt();search.close(); catch (Exceptio
25、n e) / TODO Auto-generated catch blocke.printStackTrace();if (list.size() = 0) reginfo = 3;/ 用戶不存在response.sendRedirect("index.jsp?reginfo=3"); else for (String item : list) if (item.equals(password) System.out.println("sadasdsa");reginfo = 1;/ 登錄成功HttpSession session = request.g
26、etSession(true);session.setAttribute("user", username);response.sendRedirect("pagedivide");public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException this.doGet(request, response);4.1.3 注冊(cè)界面代碼實(shí)現(xiàn)package Servlet_Contorlller;publ
27、ic class registerCheck extends HttpServletpublic void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOExceptionthis.rtcheck(request, response);public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException/re
28、sponse.sendRedirect("registerCheck.jsp"); this.rtcheck(request, response);public void rtcheck(HttpServletRequest request, HttpServletResponse response)try request.setCharacterEncoding("utf-8"); catch (UnsupportedEncodingException e2) / TODO Auto-generated catch blocke2.printStack
29、Trace();response.setCharacterEncoding("utf-8");String name=request.getParameter("cuserid");String password=request.getParameter("cpassword");String tel=request.getParameter("ctel");String email=request.getParameter("cemail");String sex=request.getPar
30、ameter("select");String age=request.getParameter("cage");String repeatpassword=request.getParameter("repeatpassword");int reg=0;/0-注冊(cè)成功 1-注冊(cè)失敗if("".equals(name)|name=null)reg=0;trySystem.out.println("跳轉(zhuǎn)");response.sendRedirect("register.jsp"
31、;);catch (IOException e)/ TODO Auto-generated catch blocke.printStackTrace();System.out.println("重定向異常");else if("".equals(password)|password=null)reg=0;tryresponse.sendRedirect("register.jsp");System.out.println("跳轉(zhuǎn)2");catch (IOException e)/ TODO Auto-generat
32、ed catch blocke.printStackTrace();System.out.println("重定向異常");else if("".equals(tel)|tel=null)reg=0;trySystem.out.println("跳轉(zhuǎn)3");response.sendRedirect("register.jsp");catch (IOException e)/ TODO Auto-generated catch blocke.printStackTrace();System.out.println(
33、"重定向異常");else if("".equals(email)|email=null)reg=0;trySystem.out.println("跳轉(zhuǎn)4");response.sendRedirect("register.jsp");catch (IOException e)/ TODO Auto-generated catch blocke.printStackTrace();System.out.println("重定向異常");else if("".equals(ag
34、e)|age=null)reg=0;trySystem.out.println("跳轉(zhuǎn)5");response.sendRedirect("register.jsp");catch (IOException e)/ TODO Auto-generated catch blocke.printStackTrace();System.out.println("重定向異常");else if("".equals(repeatpassword)|repeatpassword=null)reg=0;trySystem.out
35、.println("跳轉(zhuǎn)6");response.sendRedirect("register.jsp");catch (IOException e)/ TODO Auto-generated catch blocke.printStackTrace();System.out.println("重定向異常");else if(!repeatpassword.equals(password)reg=0;trySystem.out.println("跳轉(zhuǎn)7");response.sendRedirect("r
36、egister.jsp");catch (IOException e)/ TODO Auto-generated catch blocke.printStackTrace();System.out.println("重定向異常");else String sqlstr="select username from customer"SQLBean bean=new SQLBean();List<String> list=new ArrayList(); try bean.executeQuery(sqlstr);list=bean.g
37、etSelectRt();bean.close(); catch (Exception e) / TODO Auto-generated catch blocke.printStackTrace();System.out.println("數(shù)據(jù)庫(kù)查詢錯(cuò)誤"); for(String li:list) if(li.equals(name)reg=1;/用戶名重復(fù) try System.out.println("跳轉(zhuǎn)");response.sendRedirect("register.jsp"); catch (IOException e
38、) / TODO Auto-generated catch blocke.printStackTrace();System.out.println("重定向異常"); sqlstr="insert into customer(userid,username,password,tel,email,sex,age) values(null,'"+name+"','"+password+"','"+tel+"','"+email+"
39、39;,'"+sex+"',"+age+")"System.out.println(sqlstr); SQLBean bean2=new SQLBean(); trybean2.executeUpdate(sqlstr);bean2.close();catch (Exception e)/ TODO Auto-generated catch blocke.printStackTrace(); tryresponse.sendRedirect("success.jsp");catch (IOException
40、e)/ TODO Auto-generated catch blocke.printStackTrace(); 4.1.4 購(gòu)物車處理代碼實(shí)現(xiàn) if(action.equals("buy")/加入購(gòu)物車 CarBean mycart = (CarBean)session.getAttribute("mycart"); if(mycart=null) mycart = new CarBean(); /得到要購(gòu)買東西的ID String gid = request.getParameter("gid"); mycart.buy(gid,I
41、nteger.parseInt(num); response.sendRedirect("cart.jsp"); else if(action.equals("changeNum") String gnum = request.getParameter("gnum"); String gid = request.getParameter("gid"); int number = 0; try number = Integer.parseInt(gnum); catch(Exception e) /修改的數(shù)量不合法時(shí)
42、 String msg = "對(duì)不起,數(shù)量修改錯(cuò)誤!" /pageForward(msg,request,response); int id = Integer.parseInt(gid); int count=0; /得到庫(kù)存數(shù)量 String sql = "select goodnum from goods where goodId="+id; SQLBean bean=new SQLBean(); try bean.executeQuery(sql); ResultSet st=bean.getRs(); if(st!=null) st.next(
43、); count =st.getInt(1); bean.close(); catch (Exception e) / TODO Auto-generated catch blocke.printStackTrace(); if(count<number) /當(dāng)庫(kù)存少于修改的值時(shí) String msg = "對(duì)不起,庫(kù)存不夠,庫(kù)存數(shù)量只有 "+count; out.println("<p>msg</p>"); out.println("<a href='cart.jsp'>返回購(gòu)物車&l
44、t;/a>"); else /當(dāng)庫(kù)存夠時(shí) CarBean mycart = (CarBean)session.getAttribute("mycart"); if(mycart=null) mycart = new CarBean(); /得到用戶的購(gòu)物車 Map<String,Integer> cart = mycart.getCart(); /修改商品數(shù)量 cart.put(gid,number); session.setAttribute("mycart",mycart); response.sendRedirect("cart.jsp"); else if(action.equals("delete") String gid = request.getParameter("gid").trim(); /得到j(luò)avaBean對(duì)象 CarBean mycart = (CarBean)session.getAttribute(&quo
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度金融機(jī)構(gòu)不良資產(chǎn)置換擔(dān)保合同3篇
- 2025年度醫(yī)療健康大數(shù)據(jù)分析與應(yīng)用合同3篇
- 2024版公司為員工提供住房補(bǔ)助協(xié)議樣本版B版
- 二零二五年環(huán)保監(jiān)測(cè)系統(tǒng)采購(gòu)及數(shù)據(jù)分析合同3篇
- 2025版養(yǎng)老機(jī)構(gòu)托養(yǎng)入住協(xié)議書(shū)參考3篇
- 全新2025年度體育場(chǎng)館綠色能源采購(gòu)合同:體育場(chǎng)館與能源供應(yīng)商之間的合作協(xié)議3篇
- 2024網(wǎng)絡(luò)游戲開(kāi)發(fā)與分成合同
- 現(xiàn)代科技在小學(xué)低年級(jí)語(yǔ)文教學(xué)中的應(yīng)用
- 教育領(lǐng)域中自評(píng)體系的創(chuàng)新應(yīng)用
- 2025年度生態(tài)旅游區(qū)建筑工程施工合同4篇
- (一模)臨汾市2025年高考考前適應(yīng)性訓(xùn)練考試(一)語(yǔ)文試卷(含答案)
- 2024-2025學(xué)年滬科版數(shù)學(xué)七年級(jí)上冊(cè)期末綜合測(cè)試卷(一)(含答案)
- 2023年廣東省公務(wù)員錄用考試《行測(cè)》真題及答案解析
- 2024年公證遺產(chǎn)繼承分配協(xié)議書(shū)模板
- 燃?xì)饨?jīng)營(yíng)安全重大隱患判定標(biāo)準(zhǔn)課件
- 深圳小學(xué)英語(yǔ)單詞表(中英文)
- 護(hù)理質(zhì)量反饋內(nèi)容
- 抖音搜索用戶分析報(bào)告
- 鉆孔灌注樁技術(shù)規(guī)范
- 2023-2024學(xué)年北師大版必修二unit 5 humans and nature lesson 3 Race to the pole 教學(xué)設(shè)計(jì)
- 供貨進(jìn)度計(jì)劃
評(píng)論
0/150
提交評(píng)論