訂餐系統(tǒng)javaee課程設(shè)計(jì)_第1頁(yè)
訂餐系統(tǒng)javaee課程設(shè)計(jì)_第2頁(yè)
訂餐系統(tǒng)javaee課程設(shè)計(jì)_第3頁(yè)
訂餐系統(tǒng)javaee課程設(shè)計(jì)_第4頁(yè)
訂餐系統(tǒng)javaee課程設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩18頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

經(jīng)典word整理文檔,僅參考,雙擊此處可刪除頁(yè)眉頁(yè)腳。本資料屬于網(wǎng)絡(luò)整理,如有侵權(quán),請(qǐng)聯(lián)系刪除,謝謝!課程設(shè)計(jì)說(shuō)明書(shū)N.1O1.課程設(shè)計(jì)的目的當(dāng)計(jì)算機(jī)與互聯(lián)網(wǎng)飛速的發(fā)展和使用,越來(lái)越多的公司、單位和個(gè)人通過(guò)網(wǎng)站提供服務(wù)、公布信息、交流知識(shí)等使互聯(lián)網(wǎng)越來(lái)越方便我們的生活。在Web開(kāi)發(fā)中,Java語(yǔ)言以其可擴(kuò)展性、靈活性、可靠性和跨平臺(tái)等特點(diǎn),成為進(jìn)行web編程的首選。更重要的是,開(kāi)源社區(qū)提供了一大批功能強(qiáng)大的框架技術(shù),、Spring、Hibernate等,利用這些技術(shù)使我們更高效的維護(hù)和建立我們自己的網(wǎng)站同時(shí)也讓網(wǎng)站的開(kāi)發(fā)更加方便和快捷。在這學(xué)期課堂上所學(xué)到的Java周時(shí)間,使用Java框架技術(shù)完成網(wǎng)上訂餐系統(tǒng)的分析設(shè)計(jì)和開(kāi)發(fā)。有了網(wǎng)上訂餐系統(tǒng),人們可以在家隨意挑選自己喜愛(ài)的食物?,F(xiàn)在正是經(jīng)濟(jì)全球化的時(shí)代,利用網(wǎng)絡(luò),我們可以瀏覽不同地區(qū)甚至不同國(guó)家的商品,這也改變著人們的消費(fèi)觀,網(wǎng)上訂餐系統(tǒng)正是符合了這一趨勢(shì)的發(fā)展,越來(lái)越多的人能夠不出門(mén)就能吃上美味可口的飯菜。網(wǎng)上訂餐的出現(xiàn),正是體現(xiàn)了這一點(diǎn)。不少商家都把眼觀放在了網(wǎng)上銷(xiāo)售這一方面,把實(shí)體銷(xiāo)售漸漸轉(zhuǎn)變?yōu)榫W(wǎng)上銷(xiāo)售?,F(xiàn)在人們?cè)絹?lái)越重視節(jié)省時(shí)間,提高效率,不管是消費(fèi)者還是商家都如此,有了網(wǎng)上訂餐系統(tǒng),可以讓訂餐者與餐廳進(jìn)行互動(dòng),足不出戶,選這樣做對(duì)于商家和消費(fèi)者來(lái)說(shuō)無(wú)疑是雙贏的。本系統(tǒng)為了便于各種操作,采用多頁(yè)面的模式。用戶可在不同網(wǎng)頁(yè)進(jìn)行相應(yīng)操作:⑴在管理員信息表中,包括的數(shù)據(jù)項(xiàng):帳號(hào),密碼,權(quán)限,注冊(cè)時(shí)間。沈陽(yáng)大學(xué)課程設(shè)計(jì)說(shuō)明書(shū)N.2O⑵在訂餐客戶信息表中,包括的數(shù)據(jù)項(xiàng):用戶編號(hào),用戶名,密碼,姓名,電話,身份證,注冊(cè)時(shí)間等。添加時(shí)間等,每道菜都有它的菜名、介紹、價(jià)格等信息,為了讓菜品的這些信息在頁(yè)面⑸在購(gòu)物車(chē)信息,包括的數(shù)據(jù)項(xiàng):購(gòu)物車(chē)信息唯一標(biāo)識(shí),食品id,訂餐用戶名,添加時(shí)間等。當(dāng)顧客選購(gòu)菜品放入購(gòu)物車(chē)時(shí),我們會(huì)把這些菜品的id、數(shù)量、價(jià)格記錄存入訂單關(guān)聯(lián)表中,通過(guò)訂單關(guān)聯(lián)表中的信息算出會(huì)員將要支付的金額,再通過(guò)菜品id這個(gè)主健把相應(yīng)的信息存入個(gè)人訂單這張表中進(jìn)行維護(hù)。⑹為了有效地管理菜品,在新增菜品時(shí)加了一個(gè)分類(lèi)屬性,在此需要建張分類(lèi)表進(jìn)行維護(hù),系統(tǒng)總體功能圖如圖1所示。用戶管理菜單瀏覽用戶反饋訂單管理課程設(shè)計(jì)信息管理系統(tǒng),包括用戶注冊(cè)、管理員登錄、菜品查詢、菜品詳單等。任沈陽(yáng)大學(xué)課程設(shè)計(jì)說(shuō)明書(shū)N.3O該系統(tǒng)是借助MySQLMySQL創(chuàng)建數(shù)據(jù)庫(kù)訂餐管理系統(tǒng),MySQL數(shù)據(jù)庫(kù)中數(shù)據(jù)的操作可以分為四種不同的類(lèi)型,分別是添加、刪除、查詢和修改。該數(shù)據(jù)庫(kù)包含的表有菜品信息表、管理員表、訂單表等。IDbianhaomingchengleibietupianjianjiejiageaddtime與之相關(guān)聯(lián),如表1所示。沈陽(yáng)大學(xué)課程設(shè)計(jì)說(shuō)明書(shū)N.4O表1是否為主鍵是否為空idintbianhaomingchengleibie其中,ID設(shè)置為int型,并設(shè)為主鍵,且不能為空;、pwd設(shè)置為varchar型,如表2所示。是否為主鍵是否為空是否否VarcharVarchar沈陽(yáng)大學(xué)課程設(shè)計(jì)說(shuō)明書(shū)N.5O用戶注冊(cè)信息表,記錄系統(tǒng)中的注冊(cè)用戶信息。把漢字轉(zhuǎn)化為漢語(yǔ)拼音,作為字段名。把IDmimadiquzhaopianissh與之相關(guān)聯(lián)。表3是否為主鍵是否為空int用strutsSystemException和異常處理類(lèi)SystemExceptionHandlerMessageRperties中定義需要在Dao中拋出異常時(shí)聲明的內(nèi)容。在struts-config.xml中配置公共異常處理文件<global-exceptions>,加入資源文件<message-resourcesparameter="MessageResources"/>在Dao中拋出自定義異常。并在公共異常處理頁(yè)面中使用struts標(biāo)簽<html:errors/>進(jìn)行異常信息顯示。顧客模塊為封裝的異常跳轉(zhuǎn)頁(yè)面如下圖3所示:沈陽(yáng)大學(xué)課程設(shè)計(jì)說(shuō)明書(shū)圖3在配置文件中可見(jiàn),異常是以鍵值對(duì)的方式在struts1.1中存放,type屬性是指異常類(lèi),handler屬性是指異常的處理類(lèi),path屬性是指出現(xiàn)異常后跳轉(zhuǎn)的錯(cuò)誤頁(yè)面。該系統(tǒng)通過(guò)輸入用戶名和密碼進(jìn)行登錄,登錄界面如圖4所示。課程設(shè)計(jì)說(shuō)明書(shū)圖4功能描述:顧客登陸管理,包括登陸時(shí)管理員需要輸入用戶名、密碼、驗(yàn)證碼、也一次登陸的時(shí)候只需要輸入驗(yàn)證碼,即可直接登錄。課程設(shè)計(jì)說(shuō)明書(shū)N.8O"({==={}{沈陽(yáng)大學(xué)課程設(shè)計(jì)說(shuō)明書(shū)用戶可以通過(guò)訂餐系統(tǒng)主頁(yè)面進(jìn)行訂餐如圖5所示。5功能描述:顧客登陸管理,包括(1)登陸時(shí)可以以游客或者會(huì)員的兩種方式進(jìn)行訂餐操作,如果是會(huì)員登陸,先前需要錄入用戶名、密碼、驗(yàn)證碼,以便系統(tǒng)確認(rèn)登陸成功。(2)(3)選購(gòu)美食,作為顧客,在挑選美食的過(guò)程中,可以直接將稱心的美食選進(jìn)購(gòu)物選購(gòu)美食部分代碼如下:……//得到日志對(duì)象log=課程設(shè)計(jì)說(shuō)明書(shū)N.10O=;}=;=;};;沈陽(yáng)大學(xué)課程設(shè)計(jì)說(shuō)明書(shū)N.11O}首先判斷是從哪個(gè)頁(yè)面跳到到這里來(lái)調(diào)用這一方法,隨著調(diào)用者的不同,方法也會(huì)將最后的傳輸?shù)讲煌捻?yè)面中去。然后查詢出所有美食的記錄數(shù),再對(duì)是否是第一次登錄到此頁(yè)面進(jìn)行判斷,以為,第一次登錄時(shí)當(dāng)前頁(yè)數(shù)和每頁(yè)顯示行數(shù)是默認(rèn)的,而此Spring中動(dòng)態(tài)注入的服務(wù)層中食品類(lèi)的對(duì)象調(diào)用查詢食品信息的方法,再將結(jié)果通過(guò)request對(duì)象傳輸?shù)綄?duì)應(yīng)的頁(yè)面中去。==-}}此方法要在jsp頁(yè)面中有DWR的對(duì)象調(diào)用,其中得到的路徑是圖片在服務(wù)器上的String類(lèi)中的split后再作為查詢條件在數(shù)據(jù)庫(kù)中查詢,查詢出美食的信息。然后DWR對(duì)象會(huì)將查詢出來(lái)的信息作為jsp頁(yè)面中回調(diào)函數(shù)的參數(shù)傳回頁(yè)面端。沈陽(yáng)大學(xué)課程設(shè)計(jì)說(shuō)明書(shū)功能描述:對(duì)菜品信息進(jìn)行維護(hù),包括:⑵菜品過(guò)季下架,用于菜品原料缺少或菜品過(guò)季等情況,進(jìn)行邏輯刪除。⑶菜品的查詢,可以按菜品的名稱、價(jià)格、銷(xiāo)售量、是否是推薦菜品進(jìn)行查詢,默認(rèn)是推薦菜品查詢。⑷修改維護(hù)菜品信息,主要針對(duì)菜品原料的價(jià)格更變菜品的價(jià)格及菜品是打折時(shí)的價(jià)格更變,如圖6所示。課程設(shè)計(jì)說(shuō)明書(shū)N.13O=;==={{;首先,有系統(tǒng)自動(dòng)未上傳圖片命名,防止覆蓋,然后通過(guò)字符串拼接的方式作為圖片的地址存入數(shù)據(jù)庫(kù)(例如:圖片名稱叫aaa,擴(kuò)展名為,在存入數(shù)據(jù)庫(kù)中的地址就是相對(duì)地址系統(tǒng)自動(dòng)生成的名字,在通過(guò)輸入輸出流的方式將圖片上傳到服務(wù)器上。即由從form中得到的圖片路徑以流的方式服務(wù)器上的一本系統(tǒng)自動(dòng)并命好的文件上,最后關(guān)閉輸入流和輸入流,并將文件損毀。另附圖片自動(dòng)命名類(lèi)的部分代碼如下//為了得到不重復(fù)的圖片名稱(首先用數(shù)字零給本機(jī)IP地址的點(diǎn)補(bǔ)位,然后再加上……//定義局部變量沈陽(yáng)大學(xué)課程設(shè)計(jì)說(shuō)明書(shū)N.14O=i=i<{}}}ip已經(jīng)在實(shí)例化自動(dòng)命名類(lèi)對(duì)象是賦值,即是本機(jī)的ip地址,將ip地址通過(guò)“.”字符來(lái)分開(kāi)有字符串?dāng)?shù)組接收,再將每部分未滿三位的進(jìn)行補(bǔ)零操作,再加上時(shí)間戳,最后加上三位隨機(jī)數(shù),再將StringBuffer轉(zhuǎn)換成String對(duì)象最后得到的內(nèi)容既是系統(tǒng)為另附美食類(lèi)別處理代碼如下:=;=;}{3沈陽(yáng)大學(xué)課程設(shè)計(jì)說(shuō)明書(shū)N.15O}=;;;{=;}{}}基于美食的類(lèi)別操作的可添加性,則需要判斷是在文本框中填寫(xiě)的美食內(nèi)容(即:的類(lèi)別編號(hào)直接填入數(shù)據(jù)庫(kù)中。而如果是新類(lèi)別則需要生成新的類(lèi)別編號(hào),再將類(lèi)別編號(hào)填入到數(shù)據(jù)庫(kù)中。⑴查看訂單,可按訂單號(hào)、用戶姓名進(jìn)行查詢管理員可以查看到當(dāng)前餐廳的訂單,并可以進(jìn)行打印訂單以確認(rèn)發(fā)貨。等待中時(shí)為顧客修改菜品的數(shù)量及品種,若訂單狀態(tài)為以下單則不能為顧客修改。⑶打印訂單,若打印訂單表示以確認(rèn)發(fā)貨,并自動(dòng)修改訂單狀態(tài)為已發(fā)送。⑷取消訂單,若顧客不方便上網(wǎng)打電話要取消訂餐的話,管理員查看訂單狀態(tài)若為已下單則不能為顧客取消訂單,若訂單狀態(tài)在等待中,則可以為顧客取消訂單,如圖7沈陽(yáng)大學(xué)課程設(shè)計(jì)說(shuō)明書(shū)<===>,,a=課程設(shè)計(jì)說(shuō)明書(shū)N.17O<![CDATA[>(-1)*>由于iBatisSQL分頁(yè)這一要求,采用由rownum來(lái)控制輸出的列數(shù),在查詢結(jié)果上,也用到了oracle自己的函數(shù)to-char來(lái)對(duì)日期類(lèi)型進(jìn)行處理。其中,在selectid屬性對(duì)應(yīng)在DAO的實(shí)現(xiàn)類(lèi)中對(duì)象smctemplate所調(diào)用的queryForList方法的第一個(gè)參數(shù),借此找到此SQL,來(lái)進(jìn)行查詢操作。resultClass與parameterClass分別表示,結(jié)果類(lèi)的類(lèi)型和參數(shù)類(lèi)的類(lèi)型,其中還有標(biāo)簽<![CDATA]>是iBatis中使用rownum來(lái)進(jìn)行分頁(yè)操作所必須應(yīng)用到的。而如果在頁(yè)面上點(diǎn)擊“查看訂單詳情”則會(huì)彈出一個(gè)模態(tài)對(duì)話框,該對(duì)話框由兩部分組成,上半部分是美食的信息,有美食名稱、美食份數(shù)、美食單價(jià)、美食總價(jià)四個(gè)屬收貨人、地址、聯(lián)系電話、總價(jià)、支付方式、訂單時(shí)間、備注信息幾項(xiàng)組成。沈陽(yáng)大學(xué)課程設(shè)計(jì)說(shuō)明書(shū)N.18O經(jīng)過(guò)一段時(shí)間的設(shè)計(jì)和開(kāi)發(fā),網(wǎng)上訂餐系統(tǒng)基本開(kāi)發(fā)完畢。其功能基本符合大眾需求,能夠完成菜肴的更新,菜肴的查詢,菜肴的下單,后臺(tái)的管理等各種功能但是由于課程設(shè)計(jì)時(shí)間較短和本人水平所限,雖然謝老師給予了我很多的指導(dǎo),但是該系統(tǒng)還有許多不盡如人意的地方,對(duì)于Java的框架技術(shù)我還需要深入的進(jìn)行學(xué)習(xí)。如今信息化的普及,要想使該系統(tǒng)能在海量的網(wǎng)上訂餐系統(tǒng)中脫穎而出,以我們的編寫(xiě)能力,及我要完成,下一步的改進(jìn)一定做到層次更清晰,功能劃分更明確,以實(shí)現(xiàn)更好的擴(kuò)展性和重用性。沈陽(yáng)大學(xué)課程設(shè)計(jì)說(shuō)明書(shū)N.19O5.參考文獻(xiàn)[1]嚴(yán)璋鵬.基于B-S的學(xué)生學(xué)籍管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].2013.19:33-41[2]李剛.輕量級(jí)J2EE企業(yè)應(yīng)用實(shí)戰(zhàn)—Struts+Spring+Hibernate整合開(kāi)發(fā)[M].北京:電子工業(yè)出版社,:46-75[3]賈素玲,王強(qiáng).JSP應(yīng)用開(kāi)發(fā)技術(shù)[M].:清華大學(xué)出版社,:35-76[4]王海濤,賈宗璞.基于Struts和Hibernate的Web應(yīng)用開(kāi)發(fā)[J].計(jì)算機(jī)工程,2011,37(9):113.[5]沈應(yīng)逵.JavaWeb數(shù)據(jù)庫(kù)系統(tǒng)應(yīng)用開(kāi)發(fā)與實(shí)例M].北京:人民郵電出版社,2009.9:102-134.[6]胡濤濤.基于MVC模式的課程管理系統(tǒng)的功能設(shè)計(jì)[J].山西煤炭管理干部學(xué)院學(xué)報(bào),2013,04:140-142.[7]任廣財(cái).基于JSP的高校學(xué)生工作管理系統(tǒng)的設(shè)計(jì)與開(kāi)發(fā)[J].科技經(jīng)濟(jì)市場(chǎng),2013,12:119-120.[8]施陽(yáng),張海燕,戴德偉.基于JavaEE的畢業(yè)設(shè)計(jì)管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].軟件導(dǎo)刊,2015,02:86-88.[9]趙春生.淺談JavaEE程序設(shè)計(jì)課程教學(xué)改革[J].科教導(dǎo)刊),2014,08:119-120.[10]劉曉華,張健,周慧貞.JSP應(yīng)用開(kāi)發(fā)詳解第三版)[M]:電子工業(yè)出版社,20071沈陽(yáng)大學(xué)課程設(shè)計(jì)說(shuō)明書(shū)N.20O//保存各頁(yè)面Id對(duì)應(yīng)的action類(lèi)的對(duì)象privateHashtablehPageHandler=newHashtable();//取得配置文件,并獲得其中的dom元素StringfilePath=getInitParameter("configXML");StringfileRealPath=getServletContext().getRealPath(filePath);//嘗試建立配置文件的DOMGlobalObjectProvider.init(configContext);}}}//每一種動(dòng)作第一次執(zhí)行的時(shí)候,初始化對(duì)應(yīng)的類(lèi)publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{沈陽(yáng)大學(xué)課程設(shè)計(jì)說(shuō)明書(shū)N.21O//得到用戶輸入信息StringsPageId=request.getParameter("pageId");StringsActionId=request.getParameter("actionId");if(sPageId==null||sPageId.equals(""){}//如果非法進(jìn)入頁(yè)面(登錄頁(yè)面除外)if(!sPageId.equals("S001")&&mySession.getAttribute("loginUser")==null){{//根據(jù)配置文件創(chuàng)建一個(gè)新對(duì)象StringsClassName=(String)configContext.getValue("ch08-config/page[@id='"+sPageId+"']/@className");oActionObject=Class.forName(sClassName).newInstance();hPageHandler.put(sPageId,oActionObject);}"ch08-config/page[@id='"+sPageId+"']/action[@id='"+sActionId+"']/@methodName");//生成對(duì)應(yīng)的參數(shù),并調(diào)用對(duì)應(yīng)對(duì)象的對(duì)應(yīng)方法//inputData是根據(jù)傳入的參數(shù)做成的HashtableinputData=newHashtable();沈陽(yáng)大學(xué)課程設(shè)計(jì)說(shuō)明書(shū)N.22OStringsParaName=(String)params.nextElement();inputData.put(sParaName,request.getParameter(sParaName));}//outputData是下一個(gè)頁(yè)面的值域,在此只是被初始化HashtableoutputData=newHashtable();//生成參數(shù)列表Class[]paraType={Class.forName("java.util.Hashtable"),Class.forName("java.util.Hashtable"),Class.forName("javax.servlet.http.HttpSession")};Object[]paraObj={inputData,outputData,mySession};//生成Method對(duì)象MethodinvokeMethod=oActionObject.getClass().getMethod(sMethodName,invokeMethod.invoke(oActionObject,paraObj);//根據(jù)outputData的結(jié)果決定下一個(gè)頁(yè)面StringsNextPageId=(String)outputData.get("pageId");StringsRealPagePath=(String)configContext.getValue("ch08-config/page[@id='"+sNextPageId+"']/@path");//設(shè)置下一個(gè)頁(yè)面的值域mySession.setAttribute(sNextPageId,outputData);response.sendRedirect(sRealPagePath);return;//頁(yè)面處理出

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論