鄒燕飛,劉淑英
(咸陽師范學院 計算機學院,陜西 咸陽 712000)
基于Struts的網(wǎng)上訂餐系統(tǒng)的設計與實現(xiàn)
鄒燕飛,劉淑英
(咸陽師范學院 計算機學院,陜西 咸陽 712000)
本系統(tǒng)是在Windows平臺下使用Myeclipse作為開發(fā)工具,文章結(jié)合JSP技術(shù)與MySQL數(shù)據(jù)庫的工作原理及特點,實現(xiàn)了一個基于B/S模式的Web網(wǎng)上訂餐系統(tǒng)。用戶通過網(wǎng)站下訂單的方式預定自己需要的食物,餐廳管理員通過網(wǎng)站處理訂單的方式獲取并滿足用戶的需求來完成交易。
Struts;網(wǎng)上訂餐;系統(tǒng)設計
網(wǎng)上購物這種新的銷售與傳統(tǒng)餐飲銷售相比不需要實體店降低成本,不需要請過多的店員降低管理成本,還能減少庫存、縮短生產(chǎn)周期、擴大市場銷售范圍,與客戶良好溝通提供個性化服務等優(yōu)勢,極大提高了傳統(tǒng)餐飲銷售的效益和效率[1-2]。同時,消費者瀏覽菜品預定菜品是沒有時間限制的,可以足不出戶在網(wǎng)上查詢購買自己喜歡的菜品種類。
Struts是一種開源框架。通過MVC設計模式進行整體系統(tǒng)的設計與實現(xiàn),通過Struts來替代傳統(tǒng)的MVC的設計,大大減少了代碼量,還可以對代碼進行優(yōu)化,提高了系統(tǒng)代碼的質(zhì)量及其運行的速度,時間大大縮短。Struts是對JSPModel2設計標準的一種實現(xiàn),在Struts里面,視圖層包括兩個部分,JSP頁面和Action[3]。在控制層,Struts提供一個控制器組件ActionServlet,繼承自HttpServlet并重載了HttpServlet的doGet(), doPost()方法接受http的響應,進行轉(zhuǎn)發(fā)。模型表示狀態(tài)和業(yè)務邏輯的處理,一般用javabean或者EJB實現(xiàn)系統(tǒng)的業(yè)務邏輯[4]。
系統(tǒng)主要分為前臺和后臺兩個管理模塊,其中前臺管理模塊主要包括菜品信息模塊、菜品信息查詢模塊、系統(tǒng)公告模塊、網(wǎng)站留言板模塊和菜品訂購模塊。 后臺管理模塊主要包括管理員管理模塊、菜品信息管理模塊、會員信息管理模塊、公告信息管理模塊、訂單管理模塊、營業(yè)信息管理模塊。
(1)前臺用戶模塊:用戶進入系統(tǒng)查看菜品信息并對符合自己個人口味的菜品進行預訂操作或可取消預訂信息,增加信息,或者修改個人信息。
(2)前臺操作員模塊:會員用戶進入系統(tǒng),瀏覽相應菜品、查看留言板的內(nèi)容,根據(jù)留言板的信息和反饋,選擇自己中意的菜品。
(3)后臺管理員模塊:可以對會員用戶對應的信息處理,查看前臺的留言信息和菜品信息的銷售情況,對會員進行增加、刪除等操作。
4.1 菜品預定模塊
(1)功能概述。此模塊主要實現(xiàn)該網(wǎng)上訂餐系統(tǒng)已注冊的用戶成功登錄系統(tǒng),進入預定菜品界面,通過查看菜品信息從而預訂符合自己喜好的菜品。
(2)用戶user輸入自己的登錄賬號和密碼,通過調(diào)用NewsServlet類中addprep(username,password)方法驗證信息登錄網(wǎng)上訂餐系統(tǒng),系統(tǒng)返回消息setMessage彈出對話框提示用戶登錄成功。用戶點擊“菜品預訂”,向系統(tǒng)提交用戶ID,系統(tǒng)通過NewsServletr類的doPost()方法,將會員預訂信息插入預訂單中,插入SQL語句"Update into regUser values(“%d”),系統(tǒng)以index.jsp頁面的形式向用戶返回信息。系統(tǒng)調(diào)用DBO類中的executeUpdate(sql)方法保存預訂信息,DBO類與數(shù)據(jù)庫進行交互,保存?zhèn)魅氲臄?shù)據(jù)并更新數(shù)據(jù)庫,setAttribute(message)方法用來提示用戶預訂菜品成功,用戶可以繼續(xù)預訂菜品。用戶預訂菜品信息序列圖如圖1所示。
圖1 菜品預訂信息序列圖
4.2 菜品預定結(jié)算模塊
(1)功能概述。管理員登錄網(wǎng)上訂餐系統(tǒng),對會員訂餐信息進行查看,確認訂餐信息后,對預訂菜品進行結(jié)算。
(2)會員輸入自己的登錄賬號和密碼,通過調(diào)用NewsServlet類中addprep方法,系統(tǒng)返回消息setMessage彈出對話框提示會員登錄成功。會員通過“我的購物車”功能模塊,確定“支付”,由prep.jsp頁面中的表單post()方法,向系統(tǒng)提交會員id,控制器AdminServlet接受請求,調(diào)用自身的doPost()方法,該方法調(diào)用AdminBean類中的int UpPrep()方法,將與之對應的會員信息的id查找出來,執(zhí)行 SQL語句"insert into Member values(“%d”),系統(tǒng)以prep. jsp頁面的形式向管理員返回信息。DBO類執(zhí)行更新SQL語句與數(shù)據(jù)庫進行交互,executeInsert(sql),將SQL語句執(zhí)行,進而進行轉(zhuǎn)發(fā),跳轉(zhuǎn)到對應的user.jsp頁面,返回信息提示會員菜品預定結(jié)算成功。會員菜品預定結(jié)算信息序列圖如圖2所示。
本次網(wǎng)上訂餐系統(tǒng)在My Eclipse開發(fā)平臺上采用B/S體系結(jié)構(gòu),對于前臺語言使用Java語言與JSP技術(shù)來完成前臺操作,后臺數(shù)據(jù)庫使用MySQL來完成對數(shù)據(jù)的操作。在此次的網(wǎng)上訂餐系統(tǒng)中,筆者所做的系統(tǒng)基本上成功地做出了基本功能,系統(tǒng)的主要功能有對菜品的各類信息進行處理,對會員進行相應的權(quán)限的授予,會員訂購的訂單進行對應的處理,會員購買的菜品進行模擬支付,對預定的菜品的種類進行評價,相應的會有對應的回復。統(tǒng)計收入情況,指定特定的時間段。同時還可以查看會員預定菜品的詳細訂單。
圖2 菜品預定結(jié)算信息序列圖
[1]聞永萍.基于JSP的網(wǎng)上訂餐系統(tǒng)網(wǎng)站開發(fā)[M].北京:清華大學出版社,2011.
[2]吳亞林.試談基于Web的網(wǎng)上訂餐系統(tǒng)[J].電腦編程技巧與維護,2012(12):70-71.
[3]宣小平.JSP數(shù)據(jù)庫系統(tǒng)開發(fā)實例導航[D].北京:人民郵電出版社,2003.
[4]田苗苗.基于Struts的Web應用研究與實現(xiàn)[D].大連:大連理工大學,2009.
Design and implementation of online meal ordering system based on Struts
Zou Yanfei, Liu Shuying
(Computer Science College of Xianyang Normal University, Xianyang 712000, China)
This system uses Myeclipse as a development tool on the Windows platform, and combining with JSP technology and the working principles and characteristics of MySQL database, to realize a Web online meal ordering system based on B/S mode. Users book the food needed through the website of the order, and the restaurant managers access and meet the needs of users to complete the transaction through the website.
Struts; online meal ordering; system design
基金項目:陜西省教育科學“十二五”規(guī)劃課題;項目編號:SGH140808。
作者簡介:鄒燕飛(1981— ),女,甘肅慶陽,碩士。