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

下載本文檔

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

文檔簡介

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

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論