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