APP下载

基于JavaWeb的餐厅管理系统的设计

2020-09-22牟明任赵璘

软件工程 2020年9期

牟明任 赵璘

摘  要:本系统使用Spring MVC(Spring框架提供了構建Web应用程序的全功能MVC模块)框架,使用Java Web进行编码,同时使用成熟的MySQL(一个关系型数据库管理系统)数据库,具有很好的跨平台效果,运行稳定,不宜发生系统宕机,不仅可以提高效率,还能降低成本。

关键词:餐厅管理系统;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)

如今餐厅的经营模式已从以往的管理成本高、人工成本昂贵,运行效率差过度到现在的智能化、高效化的模式。但与此同时也需要更全面的经营管理体系。辅助人工餐厅管理系统恰好可以弥补以往的不足,可以有效地帮助餐厅进行管理。

Web应用中,Spring为表现层提供了一个十分优秀的Web框架—Spring MVC,Spring MVC通过注解无须实现任何的接口[1,2],Spring MVC的松散耦合,可以充分体现出它的灵活性和扩展性[3]。MySQL数据库,可以展现出数据库体积小,用量大等优势[4]。同时根据JSP的扩展性和维护性好的特点进行页面的编写来创建可移植的Web应用[5]。

2  系统架构及技术(System architecture and technology)

2.1   系统架构

本系统程序是基于B/S(浏览器/服务器)架构的Web应用程序,同时本系统使用的Spring Web模型—视图—控制(MVC)框架是围绕DispatcherServlet设计和开发的[6],DispatcherServlet用来处理所有程序中发来的的HTTP请求和响应。SpringMVC是一个极其优秀的框架,现今广泛应用,拥有良好的扩展性和稳定性,Spring Web MVC DispatcherServlet的请求处理的工作流程图如图1所示。

与DispatcherServlet传递的HTTP请求相应的的事件流程如下:第一步先进行接收发送来的HTTP请求指令,DispatcherServlet会按照HandlerMapping进行相应事件的选择并调用合理的的控制器。第二步,控制器接收到该指令并依据系统所提供的GET或POST方法进行调用合理的执行操作方法。服务方法依照定义的相关业务逻辑来选择设置程序所需要的模型数据,然后把该视图名称扭转到DispatcherServlet。DispatcherServlet会从ViewResolver获得相应的支持,来对该请求需要检索的需求视图进行定义。当系统确定其特定的视图,DispatcherServlet就会迅速将模型数据传递给视图,并且它将最终呈现在相对应的浏览器中。各个相应组件,如HandlerMapping、Controller和ViewResolver,它们都是web ApplicationContext的内容中的一部分,也是ApplicationContext的相对扩展,拥有丰富的web应用程序所需的额外附加特性。

当在使用web.xml文件中的URL相应的映射时,有着特定需求的各项配置都要求映射用户的DispatcherServlet处理请求,使用web.xml文件中的URL进行映射。举个例子,在要显示HelloWeb DispatcherServlet声明和映射的进程中:在应用程序的WebContent/web-inf目录中添加一个web.xml文件并且将它完整保存下来。HelloWeb DispatcherServlet在进行初始化时,Spring MVC将进行WebContent/web-inf目录中的应用程序内容的加载,该目录中的的相关文件名统一均为[servlet-name]-servlet.xml。在本演示流程中中,相应的用户的文件是helloweb-servlet.xml。最后,DispatcherServlet将会处理标记指示的那些url。在框架中,全部以.jsp结尾的HTTP请求都将由HelloWeb DispatcherServlet来进行处理。

4.2   修改个人信息模块

修改个人信息模块主要实现了员工对于个人信息管理的功能,执行思想如下所描述:用户在登录成功后,就意味着后台已经录入相应用户信息,该用户可以按照系统相应的标示语句进行自我的个人信息,和想要设置密码的需求修改,当用户修改完成后单机编辑按钮;程序前端进行相应的有效性验证,验证失败则给出失败的信息,操作成功则发送请求至后端,后台根据用户输入的信息向用户表新增一条记录,如果新增成功,则返回成功页面,提示添加成功,否则,返回失败页面,提示修改失败。

4.3   管理菜品信息模块

管理菜品模块主要实现了管理员管理菜品功能,其实现步骤如下流程:在用户身份验证成功后,此用户可以遵循相关的信息自行进行菜品的添加,也可以对菜品的各项信息进行相应的增删改查,菜品信息编辑完成后按照指示提交按钮;首先进行数据相关的有效性验证,当验证不成功则给出相关提示,当验证成功则进行下一步,提交请求至后台,后端会根据改用户填写的各项信息向菜品表新增一条相关操作的记录,如果操作成功,系统窗口则提示修改成功信息,显示添加成功的语句,反之,返回操作失败页面,系统提示相应信息修改失败。

4.4   餐位管理模块

餐位管理模块主要实现了管理员/员工管理餐厅餐位的功能,其编程思想的流程如下:当用户在登录该系统成功后,该用户需要按照系统的要求的权限可以进行各种合理功能的操作,比如增加餐位信息、变更餐厅餐位的的信息,用户的各项操作完成后进行提交;在前台进行各项功能数据的正确性,保证填入信息准确,各项信息没有漏填,当校验失败会提示操作的错误原因,页面跳转返回首页,当验证成功则提交请求至后台,后台根据用户增加的信息向餐位表新增一条记录,如果操作成功,则提示成功信息,提示已完成,否则,返回失败页面,提示操作失败。

4.5   订单管理模块

订单管理模块主要实现了对于订单支付状态管理的功能,其思想如下:登录成功后,员工可以新增客户追加或者删除的菜品,点击相应按钮,后台订单表增加一条记录,提示添加或者闪出成功当客户结账后,员工会确认支付状态,订单的当前状态会显示为已支付状态,显示订单支付成功,后台订单表增加一条信息否则会一直显示为未支付状态。订单管理模块页面如图3所示。

4.6   营业报表統计模块

营业报表统计模块主要实现了管理员查看餐厅销售额情况的功能,其设计如下,登录成功后,用户点击选择前台对应功能按钮,单击进入,餐厅的营业记录实时会更新,前台员工确认订单支付后,订单表会增加一条记录,通过Total函数进行营业额的统计,最终显示在页面上。

4.7   关键技术难点和解决方案

本系统作为一个餐厅管理系统,势必需要考虑它的安全性、健壮性和稳定性,同时对于管理系统内各种交互信息的添加和删除格式都有严格的要求,对于一个对开发系统不是很熟悉的本人来说,提高安全性即密码加密和添加各种信息的格式成为阻碍程序开发的两大难点,同时,为了保证系统避免遭受黑客的潜在注入性攻击,暴力破解造成死锁的攻击危险,维护其稳定性,因此需要设置验证码登录,保证密码的安全性,避免信息被盗用,系统被破坏。其中这也是一大难点。因本文篇幅限制,故介绍密码安全性的解决方案。

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   结论(Conclusion)

本文进行了餐厅管理系统从需求分析到详细设计再到系统实现的完整分析,基于Java Web的餐厅管理系统在实际使用功能的要求上,可靠性上,经济性上,稳定性上都有极大的优势,同时对于各项功能的扩展都留有接口,使其可扩展性高,维护方便等。因此本系统的设计为提高目前餐厅经营管理模式提供了一种有效解决方案。

参考文献(References)

[1] 刘丽华,薛玉倩.基于SpringMVC的学生信息管理系统[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综测系统设计与实现[J].电脑知识与技术,2019,15(31):64-65.

[4] 郑智方.MySQL的重要性以及步入云的应用实例[J].计算机产品与流通,2020(01):151.

[5] 刘志洋.AJAX技术在Web程序开发中的运用探讨[J].轻纺工业与技术,2020,49(02):169-170.

[6] 赵璘,王红霞.JFinal与Spring MVC+JDBCTemplate在Web应用开发中的研究[J].电子元器件与信息技术,2017,1(01):13-23.

作者简介:

牟明任(1996-),男,本科生.研究领域:软件工程.

赵  璘(1981-),男,硕士,讲师.研究领域:软件工程.