freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于jsp的網(wǎng)上購(gòu)物系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)—計(jì)算機(jī)(論文)(編輯修改稿)

2025-01-12 09:39 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 大多數(shù)功能的入口,例如:會(huì)員注冊(cè)、登錄,管理員登錄, 查詢等 。 會(huì)員登錄主要是將用戶輸入的用戶名和密碼與數(shù)據(jù)庫(kù)中 my_users 表中的已有的信息進(jìn)行比對(duì),如果完全一樣,則是合法用戶,可以成功登錄,如果不一樣,則登錄失敗。 查詢功能是通過(guò)輸入商品名稱關(guān)鍵字和下拉菜單中商品類(lèi)別進(jìn)行查詢 提交查詢信息以后由 顯示查詢結(jié)果。此功能未注冊(cè)用戶也可用,但是所查詢商品不提供購(gòu)買(mǎi)功能。 具體模塊實(shí)現(xiàn) 商品查看 此功能模塊由 來(lái)實(shí)現(xiàn)。 當(dāng)用戶進(jìn)入購(gòu)物中心以后,系統(tǒng)會(huì)顯示所有的商品基本信息。但在商品數(shù)量過(guò)于龐大以后則不容易查看所需商品,所以系統(tǒng)提供了按類(lèi)別查詢的 功能。下拉菜單中有商品的所有類(lèi)別,用戶根據(jù)類(lèi)別以 post 方法傳遞表單。再在該頁(yè) 第 10 頁(yè) 共 22 頁(yè) 設(shè)置接收字段: String bookclass=codeToString((bookclass))。 通過(guò)關(guān)鍵字 bookclass 對(duì)數(shù)據(jù)庫(kù)商品表 my_goods 進(jìn)行查詢: SELECT * FROM my_goods where goodsclass=39。+()+39。 這樣就比較清楚的可以獲得各類(lèi)別的商品的信息。有了自己需要購(gòu)物的商品,則可以通過(guò)點(diǎn)擊購(gòu)買(mǎi)將商 品添加到購(gòu)物車(chē),詳細(xì)信息可以查看商品的詳細(xì)信息。 詳細(xì)信息頁(yè)面 通過(guò)商品 ID查詢數(shù)據(jù)庫(kù),除了顯示以上信息以外,還顯示商品數(shù)量,備注等信息。 界面如下圖: 圖 42 商品信息 為了不讓龐大的數(shù)據(jù)讓人看得眼花繚亂,在商品的實(shí)現(xiàn)時(shí)是分頁(yè)顯示,每頁(yè)顯示 5 項(xiàng)記錄。分頁(yè)代碼如下: int dipage=1。//當(dāng)前頁(yè)碼數(shù)默認(rèn)為 1 String pages=(dipage)。 if(pages==null) { pages=1。 ???? int countRecord=0。//記錄條數(shù) int countPageRecord=0。//每頁(yè)記錄條數(shù) int countPage=0。//總頁(yè)數(shù) countPageRecord=5。//每頁(yè) 5條記錄 , 要設(shè)置每頁(yè)記錄條數(shù)就更改這個(gè)變量的值 ???? countRecord=()。//得到總頁(yè)數(shù) if(countRecord/countPageRecord==0) countPage=countRecord/countPageRecord。 else countPage=countRecord/countPageRecord+1。//把記錄指針移至當(dāng)前 第 11 頁(yè) 共 22 頁(yè) 頁(yè)第一條記錄之前 if((dipage1)*countPageRecord==0) ()。 ???? 購(gòu)物車(chē) 此功能模塊由: ,deleteGoods,實(shí)現(xiàn)。 當(dāng)用戶選定某樣商品并在登錄后的情況下,可以點(diǎn)擊購(gòu)買(mǎi)將商品添加到購(gòu)物車(chē)。在購(gòu)物車(chē)中可以設(shè)置購(gòu)買(mǎi)商品的數(shù)量。設(shè)置好數(shù)量以后按提交按鈕根據(jù)商品唯一 ID將商品添加到購(gòu)物車(chē)。在 中通過(guò)獲取商品 ID: String id=(id)。 Int Goods_Count=((book_count)) 以及 中的函數(shù) public void addGoods(String Goods_id,int Goods_Count)來(lái)實(shí)現(xiàn)。 提交購(gòu)物以后,可以選擇查看購(gòu)物車(chē),也可以無(wú)限制的選擇繼續(xù)購(gòu)買(mǎi)。選擇繼續(xù)購(gòu) 買(mǎi) 以 后跳 轉(zhuǎn) 到商 品 購(gòu)買(mǎi) 頁(yè) 面 選 擇 查看 購(gòu) 物車(chē) 則 跳轉(zhuǎn) 到。在跳轉(zhuǎn)到 頁(yè)面以后,如果用戶不滿意該選擇可以刪除或者更改所選商品數(shù)量,更改商品數(shù)量是通過(guò) 和 一起來(lái)實(shí)現(xiàn)。 關(guān)鍵代碼: : public boolean minusGoods(String Goods_id,int Goods_Count) {?? deleteGoods(Goods_id)。 ?? } : intGoods_Count=((book_count)) (id,Goods_Count)。 第 12 頁(yè) 共 22 頁(yè) 用戶在確定需要購(gòu)買(mǎi)以后,就可以提交購(gòu)物車(chē),完成購(gòu)物功能。 圖 44 購(gòu)物車(chē) 購(gòu)物車(chē)中商品總價(jià)格 totalprice 是通過(guò)商品單價(jià)和數(shù)量進(jìn)行結(jié)算。代碼如下: double totalprice=0。 totalprice=totalprice+(price)*((Integer)(goods)).intValue()。 訂單管理 本模塊劃分為 2 個(gè)部分,一是用戶對(duì)定單的管理,二是管理員對(duì)定單的管理。用戶對(duì)定單的管理通過(guò) 實(shí)現(xiàn)查看自己的定單狀態(tài)是否付款以及刪除自己的定單。查看自己的定單是通過(guò)用戶名訪問(wèn)定單表以獲取自身定單,刪除定單是通過(guò)定單 ID刪除掉選定的定單: a href=39。?id=+(indentno)+39。 用戶也可以通過(guò)查詢指定的定單 ID來(lái)查詢想要知道的定單的信息。通過(guò)sqlString=delete from my_indentlist where id=+ID。 語(yǔ)句刪除以前的定單。 管理員管理定單除了擁有用戶管理定單的功能以外,還可以通過(guò)定單 ID更新定單的狀態(tài),修改定單的付款狀態(tài)以及發(fā)貨狀態(tài)。修改定單頁(yè)面 . 第 13 頁(yè) 共 22 頁(yè) 通過(guò)獲取定單 ID,用 update 語(yǔ)句更新定單信息。定單管理界面如下圖: 圖 45查看當(dāng)前訂單 定單 查詢代碼如下: SELECT * FROM my_indentlist where username=39。+username+39。 用戶個(gè)人信息管理 此功能模塊由 , 來(lái)實(shí)現(xiàn)。分別別實(shí)現(xiàn)用戶的注冊(cè)以及密碼的修改。 Psxinxi 查看自己的基本注冊(cè)情況。 如下圖: 第 14 頁(yè) 共 22 頁(yè) 圖 46查看 用戶自己基本情況 用戶點(diǎn)擊“個(gè)人信息”以后系統(tǒng)就會(huì)查詢數(shù)據(jù)庫(kù) my_users 表顯示當(dāng)前用戶信息。由于整個(gè)用戶頁(yè)面都用 session 變量控制訪問(wèn)權(quán)限,所以在進(jìn)行 查詢的時(shí)候就根據(jù) seesion 變量中的 username 對(duì)數(shù)據(jù)庫(kù)進(jìn)行查詢,查詢代碼如下: rs=(SELECT * FROM my_users where username like 39。%+()+%39。)。 用來(lái)注冊(cè)用戶的基本信息,包括用戶名,用戶密碼,性別,電話,地址,郵編, Email 等基本信息。為了系統(tǒng)用戶名和密碼等的合法化,系統(tǒng)通過(guò) function on_submit()函數(shù)來(lái)控制輸入,如果為空則提示用戶名為空返回重新輸入。示 例代碼如下: if (==){ alert(用戶名不能為空 )。 ??? } 同時(shí)為了保證輸入合法化如 Email 這樣的信息,系統(tǒng)通過(guò)判斷語(yǔ)句來(lái)確定輸入是否合法,示例代碼: if(!=0) { for(i=0。i。i++) if((i)==@) break。 第 15 頁(yè) 共 22 頁(yè) if(i==) { alert(非法 EMAIL 地址 )。 ??? } } 在通過(guò)基本信息輸入以后,系統(tǒng)將信息傳遞給 進(jìn)行處理, 首先用字符串接收函數(shù): String username=codeToString((username))。 來(lái)接收 提交的信息。然后通過(guò)數(shù)據(jù)庫(kù)執(zhí)行 SQL 語(yǔ)句 insert 將數(shù)據(jù)寫(xiě)入數(shù)據(jù)庫(kù)中,如果注冊(cè)成功則跳轉(zhuǎn)到首頁(yè),如果注冊(cè)不成功,則通過(guò): (注冊(cè)不成功,請(qǐng)檢查必添項(xiàng)目 )。 提示輸入不成功。 用來(lái)修改用戶的密碼信息,用戶在登錄以后點(diǎn)擊修改密碼的鏈接可以對(duì)密碼進(jìn)行修改。在輸入兩次密碼時(shí)需要用到兩次輸入密碼正確與否的判斷: if (!=){ alert(確認(rèn)密碼不相符! )。 判斷合法以后,就可以訪問(wèn)數(shù)據(jù)庫(kù)通過(guò) update 語(yǔ)句來(lái)更新用戶密碼信息。 圖 47 用戶注冊(cè)信息 第 16 頁(yè) 共 22 頁(yè) 用戶控件 此功能通過(guò) %@ include file=%來(lái)實(shí)現(xiàn),避免簡(jiǎn)單代碼的重復(fù)編寫(xiě),也達(dá)到美觀實(shí)用的效果。 商品管理 此 功 能 是 通 過(guò) 和 , , 來(lái)實(shí)現(xiàn) 主要是用來(lái)添加商品的信息,包括商品名稱,銷(xiāo)售員,廠商,編號(hào),價(jià)格,數(shù)量等信息。在下拉菜單中可以選取商品的類(lèi)別進(jìn)行分類(lèi)添加。寫(xiě)好添加的商品信息以后將表單數(shù)據(jù)傳遞給 對(duì)數(shù)據(jù)進(jìn)行處理,通過(guò) 的 insrt 語(yǔ)句將表單數(shù)據(jù) 寫(xiě)入數(shù)據(jù)庫(kù)。具體代碼如下: String bookname=codeToString((bookname))。 if(bookname==null) bookname=。 ??? String sqlstring=null。 sqlstring=insert into my_goods(goodsname,goodsclass,seller,provider,goodsno,content,price,amount)+ values (39。+bookname+39。,39。+bookclass+39。,39。+author+39。,39。+publish+39。,39。+bookno+39。,39。+content+39。,39。+price+39。,39。+amount+39。)。 ??? //數(shù)據(jù)庫(kù)連接代碼 (sqlstring)。 完成操作以后如果操作成功則跳轉(zhuǎn)到管理員主界面,此時(shí)可以通過(guò)查看商品信息來(lái)查看剛才添加的商品,如果操作失敗則會(huì)跳轉(zhuǎn)到 ERROR。 HTM 頁(yè)面提示操作失敗,可以返回添加頁(yè)面重新對(duì)商品進(jìn)行添加。 主要是查看所有商品的信息,以及刪除商品。在點(diǎn)擊刪除按鈕以后,系統(tǒng)將商品唯一 ID 傳遞給 。 通過(guò) getParameter(id) 接收 ID 以后,根據(jù) ID 在數(shù)據(jù)庫(kù)中用 delelte 語(yǔ)句刪除該記錄。操作起來(lái)十分方便和快捷。具體刪除代碼: id=((id))。 ??? sqlString=delete from my_goods where id=+id。 ??? //數(shù)據(jù)庫(kù)連接 第 17 頁(yè) 共 22 頁(yè) 執(zhí)行刪除語(yǔ)句 (sqlString)。 商品添加頁(yè)面如下圖: 圖 48 添加商品 管理用戶 此功能模塊由 , 來(lái)實(shí)現(xiàn)。 用來(lái)查詢所有用戶的信息,同樣用分頁(yè)顯示的方式將信息顯示出來(lái),如果有需要?jiǎng)h除的用戶,則通過(guò)傳遞用戶 ID 到 。 在接收到用戶 ID 以后,通過(guò)訪問(wèn)數(shù)據(jù)庫(kù)運(yùn)用 delete 語(yǔ)句刪除選定用戶記錄。具體刪除語(yǔ)句如下: %//接收要?jiǎng)h除的用 戶 ID號(hào) long id。 try { id=((id))。 ?? if(id!=0)//接收到的參數(shù)正確 { sqlString=delete from my_users where id=+id。 ?? (sqlString)。 ()。 第 18 頁(yè) 共 22 頁(yè) ??? 刪除成功以后跳轉(zhuǎn)到 頁(yè)面重新查詢所有用戶。如果刪除失敗則通過(guò): (刪除失敗 )。 提示刪除失敗。 圖 49 用戶管理 5. 系統(tǒng)測(cè)試 前臺(tái)測(cè)試 完成了系統(tǒng)主要模塊的開(kāi)發(fā)后,系統(tǒng)需要進(jìn)行必要的運(yùn)行測(cè)試,以檢驗(yàn)系統(tǒng)的正確性,以下將按照用戶購(gòu)買(mǎi)商品的流程和管理員對(duì)主要信息的管理來(lái)測(cè)試系統(tǒng)。 首先來(lái)到前臺(tái)用戶的登陸界面,先注冊(cè)一個(gè)用戶名為 wang 的新用戶,填寫(xiě)相關(guān)資料后,點(diǎn)擊確定后,注冊(cè)成功跳轉(zhuǎn)到主頁(yè)面,在測(cè)試中發(fā)現(xiàn)不同用戶可以注冊(cè)相同的 ID,顯然這在實(shí)際應(yīng)用中是不現(xiàn)實(shí)的,后來(lái)在代碼中添加查詢比較代碼,通過(guò)比較注冊(cè)用戶名和數(shù)據(jù)庫(kù)中的用戶名來(lái)判斷該用戶名是否有效來(lái)解決這個(gè)問(wèn)題 。 注冊(cè)成功以后回到主頁(yè)登錄,進(jìn)入用戶界面。點(diǎn)擊商品查詢以及購(gòu)物等頁(yè)面基本正常,但是在測(cè)試過(guò)程中發(fā)現(xiàn)了非常嚴(yán)重的問(wèn)題,有的頁(yè)面本來(lái)應(yīng)該在登錄以后才能訪問(wèn),比如查看自己定單以及購(gòu)買(mǎi)商品等注冊(cè)登錄用戶的頁(yè)面。而在不用登錄直接在 IP 地址欄輸入地址也可直接訪問(wèn)。這顯然是不現(xiàn)實(shí)的。于是運(yùn)用控制變量 session 來(lái)解決了這個(gè)問(wèn)題,添加如下代碼: 登錄頁(yè)面添加的代碼: (username,codeToString(username))。 訪問(wèn)控制頁(yè)面添加的代碼: String username = (String)(username)。 if ( username == null || () ){ 第 19 頁(yè) 共 22 頁(yè) ()。 以此來(lái)解決訪問(wèn)控制的問(wèn)題,添加代碼以后如果直接輸入地址則會(huì)跳轉(zhuǎn)到,要求返回登錄頁(yè)面登錄以后訪問(wèn)。 后臺(tái)測(cè)試 當(dāng)點(diǎn)擊管理員登錄按鈕時(shí),就來(lái)到管理員管理登陸頁(yè)面,當(dāng)我們不輸入用戶名而直接點(diǎn)擊提交時(shí),系統(tǒng)會(huì)提 示請(qǐng)輸入用戶名錯(cuò)誤。這個(gè)在前臺(tái)用戶登陸中也同樣設(shè)置了相應(yīng)的驗(yàn)證。輸入正確的用戶名和密碼后,便可以進(jìn)入系統(tǒng)可以進(jìn)行管理了,首先我們測(cè)試添加新商品,正確填入商品信息并提交后,系統(tǒng)會(huì)提示添加成功,通過(guò)打商品查看的頁(yè)面可以查看到,因此證明添加成
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1