牟明任 趙璘
摘 ?要:本系統(tǒng)使用Spring MVC(Spring框架提供了構(gòu)建Web應用程序的全功能MVC模塊)框架,使用Java Web進行編碼,同時使用成熟的MySQL(一個關(guān)系型數(shù)據(jù)庫管理系統(tǒng))數(shù)據(jù)庫,具有很好的跨平臺效果,運行穩(wěn)定,不宜發(fā)生系統(tǒng)宕機,不僅可以提高效率,還能降低成本。
關(guān)鍵詞:餐廳管理系統(tǒng);Java Web;Spring MVC
中圖分類號:TP311.5 ? ? 文獻標識碼:A
Design of Restaurant Management System based on Java Web
MU Mingren, ZHAO Lin
(Department of Software Engineering, Dalian Neusoft University of Information, Dalian 116023, China)
mumingren18@dnui.edu.cn; zhaolin_sx@neusoft.edu.cn
Abstract: The proposed restaurant management system in this paper uses Spring MVC (Model View Controller) framework (Spring framework provides full function MVC module for building web applications), Java web for coding, and the reliable MySQL (a relational database management system) as database. This system, running stably with good cross-platform effect and rare occurrences of system downtime, helps restaurants to improve efficiency, as well as reducing the running cost.
Keywords: restaurant management system; Java Web; Spring MVC
1 ? 引言(Introduction)
如今餐廳的經(jīng)營模式已從以往的管理成本高、人工成本昂貴,運行效率差過度到現(xiàn)在的智能化、高效化的模式。但與此同時也需要更全面的經(jīng)營管理體系。輔助人工餐廳管理系統(tǒng)恰好可以彌補以往的不足,可以有效地幫助餐廳進行管理。
Web應用中,Spring為表現(xiàn)層提供了一個十分優(yōu)秀的Web框架—Spring MVC,Spring MVC通過注解無須實現(xiàn)任何的接口[1,2],Spring MVC的松散耦合,可以充分體現(xiàn)出它的靈活性和擴展性[3]。MySQL數(shù)據(jù)庫,可以展現(xiàn)出數(shù)據(jù)庫體積小,用量大等優(yōu)勢[4]。同時根據(jù)JSP的擴展性和維護性好的特點進行頁面的編寫來創(chuàng)建可移植的Web應用[5]。
2 ?系統(tǒng)架構(gòu)及技術(shù)(System architecture and technology)
2.1 ? 系統(tǒng)架構(gòu)
本系統(tǒng)程序是基于B/S(瀏覽器/服務(wù)器)架構(gòu)的Web應用程序,同時本系統(tǒng)使用的Spring Web模型—視圖—控制(MVC)框架是圍繞DispatcherServlet設(shè)計和開發(fā)的[6],DispatcherServlet用來處理所有程序中發(fā)來的的HTTP請求和響應。SpringMVC是一個極其優(yōu)秀的框架,現(xiàn)今廣泛應用,擁有良好的擴展性和穩(wěn)定性,Spring Web MVC DispatcherServlet的請求處理的工作流程圖如圖1所示。
與DispatcherServlet傳遞的HTTP請求相應的的事件流程如下:第一步先進行接收發(fā)送來的HTTP請求指令,DispatcherServlet會按照HandlerMapping進行相應事件的選擇并調(diào)用合理的的控制器。第二步,控制器接收到該指令并依據(jù)系統(tǒng)所提供的GET或POST方法進行調(diào)用合理的執(zhí)行操作方法。服務(wù)方法依照定義的相關(guān)業(yè)務(wù)邏輯來選擇設(shè)置程序所需要的模型數(shù)據(jù),然后把該視圖名稱扭轉(zhuǎn)到DispatcherServlet。DispatcherServlet會從ViewResolver獲得相應的支持,來對該請求需要檢索的需求視圖進行定義。當系統(tǒng)確定其特定的視圖,DispatcherServlet就會迅速將模型數(shù)據(jù)傳遞給視圖,并且它將最終呈現(xiàn)在相對應的瀏覽器中。各個相應組件,如HandlerMapping、Controller和ViewResolver,它們都是web ApplicationContext的內(nèi)容中的一部分,也是ApplicationContext的相對擴展,擁有豐富的web應用程序所需的額外附加特性。
當在使用web.xml文件中的URL相應的映射時,有著特定需求的各項配置都要求映射用戶的DispatcherServlet處理請求,使用web.xml文件中的URL進行映射。舉個例子,在要顯示HelloWeb DispatcherServlet聲明和映射的進程中:在應用程序的WebContent/web-inf目錄中添加一個web.xml文件并且將它完整保存下來。HelloWeb DispatcherServlet在進行初始化時,Spring MVC將進行WebContent/web-inf目錄中的應用程序內(nèi)容的加載,該目錄中的的相關(guān)文件名統(tǒng)一均為[servlet-name]-servlet.xml。在本演示流程中中,相應的用戶的文件是helloweb-servlet.xml。最后,DispatcherServlet將會處理標記指示的那些url。在框架中,全部以.jsp結(jié)尾的HTTP請求都將由HelloWeb DispatcherServlet來進行處理。
4.2 ? 修改個人信息模塊
修改個人信息模塊主要實現(xiàn)了員工對于個人信息管理的功能,執(zhí)行思想如下所描述:用戶在登錄成功后,就意味著后臺已經(jīng)錄入相應用戶信息,該用戶可以按照系統(tǒng)相應的標示語句進行自我的個人信息,和想要設(shè)置密碼的需求修改,當用戶修改完成后單機編輯按鈕;程序前端進行相應的有效性驗證,驗證失敗則給出失敗的信息,操作成功則發(fā)送請求至后端,后臺根據(jù)用戶輸入的信息向用戶表新增一條記錄,如果新增成功,則返回成功頁面,提示添加成功,否則,返回失敗頁面,提示修改失敗。
4.3 ? 管理菜品信息模塊
管理菜品模塊主要實現(xiàn)了管理員管理菜品功能,其實現(xiàn)步驟如下流程:在用戶身份驗證成功后,此用戶可以遵循相關(guān)的信息自行進行菜品的添加,也可以對菜品的各項信息進行相應的增刪改查,菜品信息編輯完成后按照指示提交按鈕;首先進行數(shù)據(jù)相關(guān)的有效性驗證,當驗證不成功則給出相關(guān)提示,當驗證成功則進行下一步,提交請求至后臺,后端會根據(jù)改用戶填寫的各項信息向菜品表新增一條相關(guān)操作的記錄,如果操作成功,系統(tǒng)窗口則提示修改成功信息,顯示添加成功的語句,反之,返回操作失敗頁面,系統(tǒng)提示相應信息修改失敗。
4.4 ? 餐位管理模塊
餐位管理模塊主要實現(xiàn)了管理員/員工管理餐廳餐位的功能,其編程思想的流程如下:當用戶在登錄該系統(tǒng)成功后,該用戶需要按照系統(tǒng)的要求的權(quán)限可以進行各種合理功能的操作,比如增加餐位信息、變更餐廳餐位的的信息,用戶的各項操作完成后進行提交;在前臺進行各項功能數(shù)據(jù)的正確性,保證填入信息準確,各項信息沒有漏填,當校驗失敗會提示操作的錯誤原因,頁面跳轉(zhuǎn)返回首頁,當驗證成功則提交請求至后臺,后臺根據(jù)用戶增加的信息向餐位表新增一條記錄,如果操作成功,則提示成功信息,提示已完成,否則,返回失敗頁面,提示操作失敗。
4.5 ? 訂單管理模塊
訂單管理模塊主要實現(xiàn)了對于訂單支付狀態(tài)管理的功能,其思想如下:登錄成功后,員工可以新增客戶追加或者刪除的菜品,點擊相應按鈕,后臺訂單表增加一條記錄,提示添加或者閃出成功當客戶結(jié)賬后,員工會確認支付狀態(tài),訂單的當前狀態(tài)會顯示為已支付狀態(tài),顯示訂單支付成功,后臺訂單表增加一條信息否則會一直顯示為未支付狀態(tài)。訂單管理模塊頁面如圖3所示。
4.6 ? 營業(yè)報表統(tǒng)計模塊
營業(yè)報表統(tǒng)計模塊主要實現(xiàn)了管理員查看餐廳銷售額情況的功能,其設(shè)計如下,登錄成功后,用戶點擊選擇前臺對應功能按鈕,單擊進入,餐廳的營業(yè)記錄實時會更新,前臺員工確認訂單支付后,訂單表會增加一條記錄,通過Total函數(shù)進行營業(yè)額的統(tǒng)計,最終顯示在頁面上。
4.7 ? 關(guān)鍵技術(shù)難點和解決方案
本系統(tǒng)作為一個餐廳管理系統(tǒng),勢必需要考慮它的安全性、健壯性和穩(wěn)定性,同時對于管理系統(tǒng)內(nèi)各種交互信息的添加和刪除格式都有嚴格的要求,對于一個對開發(fā)系統(tǒng)不是很熟悉的本人來說,提高安全性即密碼加密和添加各種信息的格式成為阻礙程序開發(fā)的兩大難點,同時,為了保證系統(tǒng)避免遭受黑客的潛在注入性攻擊,暴力破解造成死鎖的攻擊危險,維護其穩(wěn)定性,因此需要設(shè)置驗證碼登錄,保證密碼的安全性,避免信息被盜用,系統(tǒng)被破壞。其中這也是一大難點。因本文篇幅限制,故介紹密碼安全性的解決方案。
public static String makeMd5(String password){
MessageDigest md;
String pwd="";
boolean seccess = true;
try {md = MessageDigest.getInstance("MD5");
md.update(password.getBytes());
pwd = (new BASE64Encoder()).encodeBuffer(md.digest());
} catch (Exception e) {
seccess = false;
e.printStackTrace();
5 ? 結(jié)論(Conclusion)
本文進行了餐廳管理系統(tǒng)從需求分析到詳細設(shè)計再到系統(tǒng)實現(xiàn)的完整分析,基于Java Web的餐廳管理系統(tǒng)在實際使用功能的要求上,可靠性上,經(jīng)濟性上,穩(wěn)定性上都有極大的優(yōu)勢,同時對于各項功能的擴展都留有接口,使其可擴展性高,維護方便等。因此本系統(tǒng)的設(shè)計為提高目前餐廳經(jīng)營管理模式提供了一種有效解決方案。
參考文獻(References)
[1] 劉麗華,薛玉倩.基于SpringMVC的學生信息管理系統(tǒng)[J].通訊世界,2019,26(10):173-174.
[2] F.Zhang. Design and Implementation of a Logistics Report Management System Based on Spring MVC[C]. Science and Engineering Research Center.Proceedings of 2015 International Conference on Electrical, Automation and Mechanical Engineering(EAME 2015), 2015: 833-836.
[3] 閔夢嬌,羅恩韜,潘學文.基于Spring MVC框架的個性化PASS綜測系統(tǒng)設(shè)計與實現(xiàn)[J].電腦知識與技術(shù),2019,15(31):64-65.
[4] 鄭智方.MySQL的重要性以及步入云的應用實例[J].計算機產(chǎn)品與流通,2020(01):151.
[5] 劉志洋.AJAX技術(shù)在Web程序開發(fā)中的運用探討[J].輕紡工業(yè)與技術(shù),2020,49(02):169-170.
[6] 趙璘,王紅霞.JFinal與Spring MVC+JDBCTemplate在Web應用開發(fā)中的研究[J].電子元器件與信息技術(shù),2017,1(01):13-23.
作者簡介:
牟明任(1996-),男,本科生.研究領(lǐng)域:軟件工程.
趙 ?璘(1981-),男,碩士,講師.研究領(lǐng)域:軟件工程.