版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、基于MVC的訂餐系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)摘 要: 本文分析了傳統(tǒng)餐飲現(xiàn)狀和面臨的問題,發(fā)現(xiàn)傳統(tǒng)的服務(wù)模式已經(jīng)不能適應(yīng)市場發(fā)展的需求。隨著網(wǎng)絡(luò)技術(shù)的普及,方便、快捷的網(wǎng)上訂餐服務(wù)正在進(jìn)入人們的生活。針對這類問題,本文規(guī)劃了一套最貼切的服務(wù)模式,為餐飲店鋪提供區(qū)域網(wǎng)絡(luò)門戶,適應(yīng)不同的客戶群。本設(shè)計(jì)是一個(gè)基于MVC模式的網(wǎng)上訂餐系統(tǒng),能提供網(wǎng)絡(luò)選擇瀏覽菜品、點(diǎn)菜訂餐等服務(wù)。為管理員提供一個(gè)智能的服務(wù)平臺(tái)實(shí)現(xiàn)顧客信息與顧客訂單的管理,從而提高了服務(wù)的質(zhì)量。1、 目的與意義現(xiàn)代社會(huì),人們生活節(jié)奏加快,有些甚至連外出吃飯的時(shí)間都抽不出來,本系統(tǒng)的設(shè)計(jì)目的是為了滿足消費(fèi)者只要通過互聯(lián)網(wǎng)就可以足不出戶的訂購自己喜歡的
2、菜品,改變傳統(tǒng)商業(yè)交易,在互聯(lián)網(wǎng)上進(jìn)行交易,實(shí)現(xiàn)網(wǎng)上購買食物。在訂餐系統(tǒng)中,除了用戶注冊和用戶登錄功能,最為核心的功能就是訂餐部分的功能。訂餐模塊的特點(diǎn)是:用戶通過簡單的輸入數(shù)量和點(diǎn)擊確認(rèn)按鈕操作完成點(diǎn)餐,并能在購物車中查看自己的購物信息。本系統(tǒng)在此模塊的運(yùn)行方式:在頁面上顯示食物的信息,包括食物名稱、食物價(jià)格和食物圖片等,當(dāng)用戶找到自己喜歡的食物時(shí),通過輸入自己訂購的數(shù)量后,點(diǎn)擊確定按鈕后訂餐。然后在購物車中可以查看到自己當(dāng)前訂餐的情況,可以刪除不想要的食物,或者修改訂餐的數(shù)量。另外,本系統(tǒng)中還開發(fā)了管理員的管理功能,如對用戶的查詢、刪除、修改、增加,對事物的查詢、刪除、修改、增加,對訂單的
3、查詢刪除和修改。2、 理論基礎(chǔ)及技術(shù)路線本系統(tǒng)應(yīng)用了MVC的開發(fā)模式,結(jié)合JSP和少量AJAX技術(shù)實(shí)現(xiàn)的。MVC(model、view、controller)模式,實(shí)現(xiàn)了業(yè)務(wù)模型和用戶視圖的分離。在本系統(tǒng)中,MVC的處理流程:首先通過點(diǎn)擊視圖表單中的submit按鈕,再通過表單中的method值獲取傳輸?shù)姆椒?,通過action值在web.xml中找到對應(yīng)servlet,再到servlet中調(diào)用business處理數(shù)據(jù),最后將數(shù)據(jù)返回視圖。這種視圖層和業(yè)務(wù)層分離,允許更改視圖層代碼而不用重新編譯模型和控制器代碼,同樣業(yè)務(wù)流程或者業(yè)務(wù)規(guī)則的改變只需要改動(dòng)模型層即可。JSP是基于JavaServle
4、t以及整個(gè)Java體系的web開發(fā)技術(shù)。在傳統(tǒng)的網(wǎng)頁HTML文件(*.htm,*.html)中加入腳本片段和JSP標(biāo)記(Tag),構(gòu)成JSP網(wǎng)頁(*.jsp)。JSP技術(shù)為創(chuàng)建顯示動(dòng)態(tài)生成內(nèi)容的web頁面提供了簡便的方法。JSP作為Java家族的一員,承襲了Java的特點(diǎn),即跨平臺(tái)的特性,也即一次編譯,到處運(yùn)行。在本系統(tǒng)中,通過大量運(yùn)用插入java代碼片段,從數(shù)據(jù)庫中讀取到信息,再把數(shù)據(jù)顯示在頁面上。AJAX技術(shù)是一項(xiàng)異步數(shù)據(jù)傳輸功能,在不刷新頁面的情況下對頁面信息更新。在本系統(tǒng)中,這項(xiàng)技術(shù)主要運(yùn)用在注冊頁面當(dāng)中。在用戶注冊的時(shí)候,通過JavaScript的XMLHttpRequest對象向服
5、務(wù)器端發(fā)送異步數(shù)據(jù)請求,從數(shù)據(jù)庫中檢索輸入的用戶名是否存在,如果存在就想客戶端返回已經(jīng)注冊的消息,如果沒有注冊就向客戶端返回可以注冊的消息。3、 模塊總體設(shè)計(jì)用例圖:顧客用例圖(主要對訂單的增加和修改)管理員用例圖(主要對用戶、訂單和食物的查增刪改)數(shù)據(jù)流圖:模塊圖: 系統(tǒng)總功能模塊注冊模塊圖:登錄模塊圖:ER圖: 系統(tǒng)er圖數(shù)據(jù)庫表:customer表屬性數(shù)據(jù)類型允許空cnovarchar(3)not nullPrimary keycpasswordvarchar(10)not nullcadressvarchar(10)not nullcphonevarchar(10)not nullsu
6、pervarchar(1)not nullorder表屬性數(shù)據(jù)類型允許空onovarchar(3)not nullPrimary keycnovarchar(3)not nullfnovarchar(3)not nullpriceintnot nullnumberintnot nullfood表屬性數(shù)據(jù)類型允許空fnamevarchar(10)not nullPrimary keyftypevarchar(3)fimagevarchar(20)fpriceint(3)not null4、系統(tǒng)實(shí)現(xiàn)這一部分主要是截圖,包括開發(fā)環(huán)境(MyEclipse或者Eclipse J2EE的工程文件夾部分)截
7、圖,系統(tǒng)運(yùn)行截圖,另外對于核心代碼也可以貼一兩段出來,不過凡是出現(xiàn)的代碼和截圖都必需配有文字說明。Eclipse J2EE的工程文件夾部分: 用戶注冊界面: 運(yùn)用ajax判斷用戶名是否可以注冊。JavaScript部分代碼如下:、/此段通過XMLHttpRequest對象的狀態(tài)對頁面中id為msg的div元素的內(nèi)容進(jìn)行設(shè)置。function callback()var msg = document.getElementById(msg);msg.innerHTML=;if(xmlHttpRequest.readyState = 4)if(xmlHttpRequest.status = 200)
8、var data =xmlHttpRequest.responseText;if(data = true)msg.innerHTML = 用戶已存在;msg.style.color=red;document.getElementById(username).select();elsemsg.innerHTML = ok;msg.style.color=green;/此段創(chuàng)建XMLHttpRequest對象并傳入的username設(shè)置參數(shù),處理器的url等。function checkUserExists()var username = document.getElementById(usern
9、ame);var url = checkUserServlet;var param = username= + encodeURIComponent(username.value);xmlHttpRequest = createXmlHttpRequest();xmlHttpRequest.onreadystatechange = callback;xmlHttpRequest.open(POST,url,true);xmlHttpRequest.setRequestHeader(Content-type,application/x-www-form-urlencoded);xmlHttpRe
10、quest.send(param);下面用正則表達(dá)式判斷用戶名是否合法:function check()var regm1 =/a-zA-Z_+a-zA-Z0-9_+$/;if(form.username.value = | form.username.value=username)alert(Name is null.);form.username.focus();return false;if(!form.username.value.match(regm1)alert(Name is not right.);form.username.focus();return false;用戶登錄界
11、面:用戶點(diǎn)餐界面:顯示食物部分代碼(其中圖片用相對路徑):/此段通過java代碼從數(shù)據(jù)庫中取出食物表的信息,在頁面中顯示出來。 地道小吃類 img src= input type=text value= class=fno name=fno input type=text value= class=fno name=price 數(shù)量: 點(diǎn)餐 訂購成功界面:購物車界面:管理員管理界面:添加用戶:添加完跳轉(zhuǎn)至用戶顯示信息界面:添加食物(圖片為默認(rèn)圖片):添加完成跳轉(zhuǎn)至食物信息界面:添加訂單:添加完成后跳轉(zhuǎn)至查看訂單界面:按號(hào)查找用戶:查找完成跳轉(zhuǎn)到用戶信息顯示頁面:對信息修改后顯示所有用戶信息(修改c01密碼為c02):5、總結(jié)這個(gè)系統(tǒng)是基于MVC的訂餐系統(tǒng),其中僅僅實(shí)現(xiàn)了很少一部分功能,還有很大的完善空間,以后我也會(huì)盡量完善我的訂餐系統(tǒng)。在系統(tǒng)制作過程中,運(yùn)用了很多方面的知識(shí),JSP、MYSQL、XML、HTML、CSS 、JAVASCRIPT等,大大的豐富了我的知識(shí)量,也是對某些已經(jīng)學(xué)過的知識(shí)的回顧和比較系統(tǒng)的應(yīng)用。在系統(tǒng)的制作過程中遇到了不少的問題,比如說一個(gè)頁面的參數(shù)傳不到另外一個(gè)頁面,后來通過查找資料后不斷嘗試,終于用session的方法解決了這個(gè)問題。另外通過這個(gè)系統(tǒng)的制作
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 畹町燒烤活動(dòng)方案策劃(3篇)
- 打井建房施工方案(3篇)
- 大堂換燈施工方案(3篇)
- 天津?qū)I(yè)活動(dòng)策劃方案(3篇)
- 社團(tuán)冬至活動(dòng)策劃方案(3篇)
- 物流行業(yè)運(yùn)輸與配送規(guī)范
- 2025年老齡服務(wù)行業(yè)護(hù)理操作規(guī)范
- 醫(yī)院開業(yè)廣告投放方案
- 給排水技術(shù)培訓(xùn)
- 2025年大學(xué)大二(管理學(xué))專業(yè)核心能力測試題及解析
- 校園小導(dǎo)游測試卷(單元測試)2025-2026學(xué)年二年級數(shù)學(xué)上冊(人教版)
- 2025年西藏公開遴選公務(wù)員筆試試題及答案解析(綜合類)
- 揚(yáng)州市梅嶺中學(xué)2026屆八年級數(shù)學(xué)第一學(xué)期期末綜合測試試題含解析
- 末梢血標(biāo)本采集指南
- GB/T 46156-2025連續(xù)搬運(yùn)設(shè)備安全規(guī)范通用規(guī)則
- AI賦能的虛擬仿真教學(xué)人才培養(yǎng)模式創(chuàng)新報(bào)告
- 數(shù)據(jù)管理能力成熟度評估模型(DCMM)評估師資格培訓(xùn)試題及答案
- 工程變更簽證培訓(xùn)課件
- 自然分娩的好處
- 教練技術(shù)一階段課件
- 國企跟投管理辦法
評論
0/150
提交評論