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

正文內(nèi)容

基于web的網(wǎng)上訂餐系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文-在線瀏覽

2024-08-07 19:00本頁(yè)面
  

【正文】 該請(qǐng)求進(jìn)行分析,之后再對(duì)數(shù)據(jù)庫(kù)發(fā)出數(shù)據(jù)查詢的請(qǐng)求,數(shù)據(jù)庫(kù)會(huì)將已經(jīng)準(zhǔn)備好的數(shù)據(jù)回復(fù)給web服務(wù)器,Web服務(wù)器會(huì)次再將其結(jié)果以JSP代碼的形式來(lái)響應(yīng)瀏覽器的請(qǐng)求,最終實(shí)現(xiàn)一個(gè)完整的用戶請(qǐng)求響應(yīng)過(guò)程。3.系統(tǒng)的數(shù)據(jù)庫(kù)在該網(wǎng)上訂餐系統(tǒng)中具有相當(dāng)重要的作用,數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)的好壞對(duì)系統(tǒng)的運(yùn)行效率、數(shù)據(jù)的存儲(chǔ)效率以及系統(tǒng)的復(fù)雜程度等問(wèn)題起到關(guān)鍵性的作用,所以正確合理的運(yùn)用數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)可以很好地提高系統(tǒng)性能。其中,一張訂單可以包含多條訂單明細(xì),一條訂單還可以顯示用戶訂購(gòu)餐飲的相關(guān)信息;一個(gè)用戶可以提交多條訂單;一個(gè)用戶也可以訂購(gòu)若干餐飲;用戶所訂購(gòu)的餐飲可以先暫時(shí)存放到購(gòu)物車中,一個(gè)購(gòu)物車可以放入若干餐飲。數(shù)據(jù)作為系統(tǒng)設(shè)計(jì)的基礎(chǔ)部分,數(shù)據(jù)的不夠合理將會(huì)在系統(tǒng)的開發(fā)過(guò)程乃至到后期的系統(tǒng)維護(hù)中引起很多問(wèn)題,嚴(yán)重時(shí)甚至?xí)鹣到y(tǒng)的崩潰。該系統(tǒng)需要的數(shù)據(jù)實(shí)體如下所示:(1)會(huì)員用戶的數(shù)據(jù)實(shí)體:用于記錄用戶的基本信息,包括用戶編號(hào)、用戶名、密碼、電子郵箱、地址以及聯(lián)系方式。(3)訂單明細(xì)的數(shù)據(jù)實(shí)體:用于記錄用戶已下單的各種基本信息,包括訂單編號(hào)、餐飲名稱、餐飲價(jià)格以及訂購(gòu)數(shù)量。3.該系統(tǒng)主要是由如下4個(gè)數(shù)據(jù)表組成:用戶信息表、餐飲信息表、訂單明細(xì)表以及管理員信息表,這些表都集中在一個(gè)數(shù)據(jù)庫(kù)里面。4用戶住址字符型2556電子郵箱字符型504餐飲信息字符型300第四章 系統(tǒng)詳細(xì)設(shè)計(jì)與編碼實(shí)現(xiàn) 4. 頁(yè)面的搭建開發(fā)一個(gè)比較好的網(wǎng)站系統(tǒng),良好的頁(yè)面設(shè)計(jì)風(fēng)格和完善的頁(yè)面框架是相當(dāng)重要的,網(wǎng)上訂餐系統(tǒng)對(duì)于頁(yè)面風(fēng)格和布局方面的要求很好的體現(xiàn)了頁(yè)面設(shè)計(jì)和布局的重要性。該系統(tǒng)大概介紹了如何開發(fā)客戶端的功能。該系統(tǒng)客戶端的主頁(yè)面主要分為三部分。 charset=gb2312 %!DOCTYPE html PUBLIC //W3C//DTD XHTML Frameset//EN html headmeta equiv=ContentType content=text/html。其中,;;,即將該頁(yè)面能容顯示出來(lái);。針對(duì)第一次使用該系統(tǒng)的用戶需要事先通過(guò)注冊(cè)用戶個(gè)人真實(shí)信息才能夠登錄系統(tǒng)界面。用戶填寫的全部信息是由Form提交的,同時(shí)需要用到post方法,通過(guò)getParameter函數(shù)獲得用戶所提交的信息,而后就與數(shù)據(jù)庫(kù)中的已存在的相應(yīng)信息進(jìn)行對(duì)應(yīng)的比較再做出判斷是否符合系統(tǒng)的要求。除此之外,該系統(tǒng)界面還提供出錯(cuò)提示處理,例如用戶登錄時(shí)用戶信息的填寫不正確等異常來(lái)進(jìn)行適當(dāng)?shù)奶崾荆员WC正確的操作處理。在用戶登錄界面時(shí)系統(tǒng)會(huì)自動(dòng)根據(jù)當(dāng)前用戶的身份區(qū)別來(lái)確定登錄之后的界面顯示。用戶登錄界面如圖43所示。該系統(tǒng)從系統(tǒng)的人性化設(shè)計(jì)角度出發(fā),根據(jù)一些著名的界面設(shè)計(jì)理念,設(shè)置了具備良好視覺效果的背景圖片,帶給用戶良好的心情,以便接下來(lái)開心地訂購(gòu)餐飲,以下是詳細(xì)設(shè)計(jì)及效果展示。在該系統(tǒng)中,普通用戶可以瀏覽餐飲信息并進(jìn)行一些相應(yīng)的餐飲查詢操作,但對(duì)其他操作的權(quán)限受到一定的限制。當(dāng)用戶希望注冊(cè)時(shí),該系統(tǒng)會(huì)清晰地為其提供一些相關(guān)注冊(cè)信息,當(dāng)用戶提交自身的注冊(cè)信息后,系統(tǒng)就會(huì)自動(dòng)的對(duì)用戶提交的信息進(jìn)行驗(yàn)證,以保證正確的用戶信息,其中驗(yàn)證信息包括用戶名、密碼不能為空并且確認(rèn)密碼和密碼必須一致等,信息驗(yàn)證后,將注冊(cè)信息提交給系統(tǒng)中的數(shù)據(jù)庫(kù),并且寫入數(shù)據(jù)庫(kù)。如果驗(yàn)證成功,用戶就會(huì)以普通會(huì)員的身份進(jìn)入網(wǎng)上訂餐系統(tǒng)的主界面,并且在該界面中就可以訂購(gòu)自己想要的餐飲。非會(huì)員只可以進(jìn)行簡(jiǎn)單的餐飲瀏覽,公告信息,以及餐飲信息的查看。在此注冊(cè)界面中,用戶需要填寫自己的真實(shí)信息,所填寫的注冊(cè)信息如下:真實(shí)姓名,用戶密碼,電子郵箱,聯(lián)系電話以及用戶地址等信息。它的具體屬性與數(shù)據(jù)庫(kù)表中的用戶信息相關(guān)的所有字段相對(duì)應(yīng),主要作用就是用來(lái)存儲(chǔ)注冊(cè)頁(yè)面當(dāng)中的所提交的表單數(shù)據(jù)。用戶注冊(cè)流程圖如圖46所示:圖46用戶注冊(cè)流程圖用戶注冊(cè)成功之后,該系統(tǒng)將新用戶的用戶注冊(cè)名以及用戶編號(hào)存儲(chǔ)到session里面,以便之后用戶操作時(shí)可以進(jìn)行用戶驗(yàn)證,同時(shí)在用戶登錄時(shí)也會(huì)作同樣的操作。為體現(xiàn)人性化設(shè)計(jì),符合現(xiàn)代綠色食品潮流,該系統(tǒng)在登錄頁(yè)面上主要以綠色為主調(diào),給予用戶的放松的心情來(lái)該系統(tǒng)訂餐。該功能通過(guò)action觸發(fā)的用戶名和密碼驗(yàn)證事件找到對(duì)應(yīng)的servlet,通過(guò)servlet名字找到對(duì)應(yīng)的servlet類,通過(guò)servlet調(diào)用service層的方法,然后再通過(guò)service調(diào)用相應(yīng)dao層的方法,dao層通過(guò)hibernite與數(shù)據(jù)庫(kù)交互進(jìn)行相對(duì)應(yīng)的查找及核對(duì)操作,然后根據(jù)在數(shù)據(jù)庫(kù)中查找到的信息進(jìn)行反饋對(duì)照,最終通過(guò)瀏覽器將結(jié)果呈現(xiàn)給用戶。而其中管理員用戶登錄的用戶名以及密碼是系統(tǒng)事先設(shè)定好的,用戶名和密碼都為admin,但普通用戶使用該系統(tǒng)必須要先進(jìn)行注冊(cè),注冊(cè)成功后才可以進(jìn)行登錄界面操作。如餐飲的添加以及訂單的管理等功能。String password=(password)。try{if(((admin))amp。((admin))){()。}else{(客戶登錄)。//獲得的customer放入內(nèi)存sessionHttpSession session=()。//若有別的request就得用內(nèi)部跳轉(zhuǎn)(UTF8)。//用戶頁(yè)面}}catch(CustomerServiceException e){()。().forward(request,response)。因此,該網(wǎng)上訂餐系統(tǒng)的餐飲列表管理是整個(gè)系統(tǒng)中相當(dāng)重要的一個(gè)環(huán)節(jié)。前臺(tái)餐飲列表管理分為餐飲分頁(yè)查詢、餐飲分類查詢、餐飲銷售查詢等多個(gè)功能模塊。如果檢索失敗將會(huì)顯示相應(yīng)的提示信息。% + keyword + %39。% + keyword + %39。% + keyword + %39。 String page = (page)。 int count = (clause)。 if ((count % pagesize) 0) { totalNum += 1。 } (totalNum, new Integer(totalNum))。 (c, c)。 } catch (Throwable t) { getServletContext().log(())。該系統(tǒng)功能主要是對(duì)餐飲信息進(jìn)行模糊的查詢,并將檢索出的餐飲信息進(jìn)行分頁(yè)顯示,最后將其所要反映的信息顯示在主頁(yè)中。 } else { ECFoodMgr mgr = new ECFoodMgr()。 (food, food)。 } catch (Throwable t) { getServletContext().log(())。在部分界面的顯示頁(yè)中點(diǎn)擊餐飲名稱或相關(guān)餐飲的圖片就能夠進(jìn)入該餐飲的具體信息顯示界面中,其主要實(shí)現(xiàn)效果的界面圖411如下所示,點(diǎn)擊“放入購(gòu)物車鏈接就會(huì)顯示出如下圖412所示的效果頁(yè)面,可以看出它已經(jīng)成功地完成將該餐飲放入購(gòu)物車的功能。 if((type)){ if((mid)!=null) { int mealId = new Integer((mid)).intValue()。 (req).addMeal(meal)。 } ()。 if(shoppingcart==null){ shoppingcart=new ShoppingCartUtil()。 return shoppingcart。 } }當(dāng)客戶登錄通過(guò)輸入驗(yàn)證用戶名以及密碼并且點(diǎn)擊“登錄”按鈕進(jìn)入到訂餐界面之后,該網(wǎng)上訂餐系統(tǒng)會(huì)同時(shí)自動(dòng)調(diào)用注冊(cè)服務(wù)器RegisterServlet中的doPost()方法,同時(shí)對(duì)應(yīng)的頁(yè)面就會(huì)跳轉(zhuǎn)到相關(guān)餐飲訂購(gòu)頁(yè)面。當(dāng)中管理員餐飲列表頁(yè)面卻是在普通用戶餐飲列表頁(yè)面的相關(guān)功能的基礎(chǔ)上再增加了一些功能,如添加餐飲功能和管理餐飲訂單的功能。四、餐飲的搜索功能設(shè)計(jì)該系統(tǒng)可以實(shí)現(xiàn)餐飲的搜索功能,即當(dāng)輸入相關(guān)餐飲信息的關(guān)鍵字所包含在餐飲名稱中時(shí)便可以將其檢索出來(lái)。其關(guān)鍵實(shí)現(xiàn)代碼如下所示:public class SearchFoodServlet extends implements { public SearchFoodServlet() { super()。 (CacheControl,nocache)。 String type = (type)。 String keyword = (keyword)。 if ((type == null)||((null))) { if (().equals(1)) { clause = where name like 39。 } else if (().equals(2)) { clause = where author like 39。 } else if (().equals(3)) { clause = where publish_name like 39。 } } else if ((discount)) { clause = where discount=39。 } else if ((short)) { clause = where stock=0。 String page = (page)。 int count = (clause)。// 邏輯頁(yè)數(shù) // 如果紀(jì)錄總數(shù)除以每頁(yè)的顯示個(gè)數(shù),余數(shù)大于0,那么 // 邏輯頁(yè)數(shù)應(yīng)該為商+1 if ((count % pagesize) 0) { totalNum += 1。 } (totalNum, new Integer(totalNum))。 (c, c)。keyword= + keyword + amp。 } catch (Throwable t) { getServletContext().log(())。在電子商務(wù)系統(tǒng)中,客戶可以根據(jù)自己的需要將所要選擇的商品放置到購(gòu)物車中,購(gòu)物完成后一起交到收銀臺(tái)付款。這種技術(shù)可以使客戶很方便地對(duì)購(gòu)物車中的商品進(jìn)行一些添加、刪除和清空等相關(guān)操作,并且隨時(shí)可以提交商品并生成相應(yīng)訂單。該購(gòu)物車模塊的框架如下圖所示:圖413購(gòu)物車模塊框架圖當(dāng)點(diǎn)擊“查看購(gòu)物車”時(shí),頁(yè)面就會(huì)自動(dòng)跳轉(zhuǎn)到“購(gòu)物車列表頁(yè)面上了,用戶可以在購(gòu)物車列表里看到之前訂購(gòu)過(guò)的餐飲的名稱、數(shù)量以及餐飲總價(jià)等信息。購(gòu)物車界面如圖414所示:圖414購(gòu)物車界面其關(guān)鍵的實(shí)現(xiàn)代碼如下:public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { MapString, cartBean cart =null。charset=gb2312)。 HttpSession session=(false)。 //返回一條記錄 DataOperate operate=new DataOperate()。 Object obj = (cart)。 (cart, cart)。 } if(session==null){//如果session為空,跳轉(zhuǎn)購(gòu)物車頁(yè)面相應(yīng)顯示 ().forward(request, response)。 if(cartbean!=null){ (()+1)。 } } ().forward(request,response)。當(dāng)在JSP中使用JavaBean時(shí),可以通過(guò)jsp: useBean標(biāo)簽創(chuàng)建JavaBean的實(shí)例,并且可以通過(guò)該標(biāo)簽的scope屬性設(shè)置該實(shí)例的作用范圍,即為這個(gè)實(shí)例的生命周期。單擊“放入購(gòu)物車按鈕,用戶所選擇訂購(gòu)的餐飲就會(huì)暫時(shí)地購(gòu)物車之中。該系統(tǒng)的購(gòu)物車是采用Vector類型的對(duì)象cart來(lái)存儲(chǔ)餐飲訂購(gòu)數(shù)據(jù)的,分別保存在客戶端session對(duì)象中,將餐飲信息添加到購(gòu)物車中的可以有兩種情況:(1)在cart為空時(shí),也就是相當(dāng)于當(dāng)用戶第一次向購(gòu)物車添加餐飲時(shí),就需要新建一個(gè)cart,然后再將餐飲信息保存到這個(gè)cart變量中。當(dāng)添加的餐飲與之前所添加的餐飲相同時(shí),則需要更改此種餐飲的訂購(gòu)數(shù)量。顯示購(gòu)物車中的訂購(gòu)餐飲信息主要是將保存session中的訂購(gòu)信息利用for語(yǔ)句輸出到瀏覽器中,同時(shí)根據(jù)餐飲的單價(jià)、訂購(gòu)數(shù)量自動(dòng)計(jì)算每種餐飲的金額和購(gòu)物車中全部的合計(jì)金額。在購(gòu)物車中,由于餐飲的數(shù)量被存放在文本框中,用戶只需要在某種餐飲后面的文本框中輸入相應(yīng)的數(shù)量即可。由于在查看購(gòu)物車頁(yè)面已經(jīng)將購(gòu)物車內(nèi)所有顯示的餐飲數(shù)量的文本框放在了同一個(gè)表單中,并以name屬性進(jìn)行區(qū)分,所以在修改購(gòu)物車中指定餐飲的訂購(gòu)數(shù)量時(shí),需要應(yīng)用for循環(huán)語(yǔ)句重新保存購(gòu)物車信息。清空購(gòu)物車的的簡(jiǎn)要代碼如下:%(cart)。%4.生成訂單是網(wǎng)上訂餐系統(tǒng)的一個(gè)重要目標(biāo),之前一些功能的實(shí)現(xiàn)都是為最終生成一個(gè)令用戶滿意的訂單做基礎(chǔ)的,在這要生成一個(gè)可以供用戶隨時(shí)查詢的訂單號(hào),還要保存用戶訂單中所訂購(gòu)的餐飲信息。生成訂單的流程為:從購(gòu)物車中識(shí)別出餐飲的名稱、餐飲數(shù)量、餐飲價(jià)格等一些相關(guān)信息,生成一個(gè)唯一的對(duì)應(yīng)訂單號(hào),同時(shí)把用戶注冊(cè)的一些基本信息讀取出來(lái),形成一個(gè)完整的訂單信息,并且寫入數(shù)據(jù)庫(kù)中。有很多方法可以生成唯一訂單號(hào),只要確保訂單號(hào)的唯一性以及方便用戶記錄、查詢訂單
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1