学位论文基于jsp的网上订餐管理系统.docx
《学位论文基于jsp的网上订餐管理系统.docx》由会员分享,可在线阅读,更多相关《学位论文基于jsp的网上订餐管理系统.docx(75页珍藏版)》请在冰豆网上搜索。
![学位论文基于jsp的网上订餐管理系统.docx](https://file1.bdocx.com/fileroot1/2023-6/17/4c6f2320-635e-47a9-a23b-df3f664a72ec/4c6f2320-635e-47a9-a23b-df3f664a72ec1.gif)
学位论文基于jsp的网上订餐管理系统
基于JSP的网上订餐管理系统
摘 要
随着互联网的发展和普及,网上订餐也越来越普遍,设计开发一种更高效更方便的网上订餐系统已经显得十分必要了,将来网上订餐服务有望发展成一种非常受欢迎的订餐方式,将成为餐饮业销售的新模式和新的增长点。
本课题的任务是开发一套基于web的订餐系统,旨在通过网站的形式实现顾客的订餐过程。
本系统使用Java语言开发,采用SH框架,利用JSP技术结合MySQL数据库来实现的B/S结构。
系统是根据顾客和管理员两种不同用户的使用范围进行功能划分和设计,实现了订餐系统的基本功能。
顾客通过访问订餐系统的前台页面,注册成为会员,浏览餐饮,搜索餐饮,发表留言,订购餐饮等。
餐馆经营者以管理员的身份登录系统后台,管理会员,订单,餐饮,公告等。
本设计与现有的其他案例比较,具有界面直观,操作简便等优点,方便订餐者和餐饮管理着进行使用。
关键词网上订餐;JSP;MVC;B/S
OnlinemealorderingmanagementsystembasedonJSP
Abstract
WiththedevelopmentandpopularizationofInternet,onlinemealorderingismoreandmorepopular,thedevelopmentofamoreefficientandmoreconvenientonlinemealorderingsystemhasbecomeverynecessary,thefutureonlinemealorderingserviceisexpectedtodevelopintoaverypopularmealmode,willbecomeanewmodeofcateringsalesandnewpointofgrowth.
本课题的任务是开发一套基于web的订餐系统,旨在通过网站的形式实现顾客的订餐过程。
本系统使用Java语言开发,采用SH框架,利用JSP技术结合MySQL数据库来实现的B/S结构。
系统是根据顾客和管理员两种不同用户的使用范围进行功能划分和设计,实现了订餐系统的基本功能。
顾客通过访问订餐系统的前台页面,注册成为会员,浏览餐饮,搜索餐饮,发表留言,订购餐饮等。
餐馆经营者以管理员的身份登录系统后台,管理会员,订单,餐饮,公告等。
ThetaskofthisprojectistodevelopasetoforderingsystembasedonWeb,toachievecustomerorderingprocessthroughthewebsiteform.ThissystemisdevelopedbyJavalanguage,usingSHframework,B/SstructurewithMySQLdatabaseusingJSPtechnology.Thesystemisaccordingtothecustomerandmanageroftwodifferentuserscopeoffunctionsanddesign,toachievethebasicfunctionsoftheorderingsystem.Thecustomerthroughtheaccessreservationsystemfrontpage,registeredasamember,browsesearchcatering,catering,publishedmessage,orderingfoodetc..Restaurantoperatorstologintothesystemadministratorbackstage,membermanagement,order,catering,announcements.
本设计与现有的其他案例比较,具有界面直观,操作简便等优点,方便订餐者和餐饮管理着进行使用。
Comparedwithothercurrentcasesofthisdesign,hastheadvantagesofsimpleoperation,intuitiveinterface,easyordering,andcateringmanagementforuse.
KeywordsOnlineOrdering;JSP;MVC;B/S
目录
摘 要i
Abstractii
1绪论1
1.1订餐系统的研究背景1
1.2订餐系统的研究目的及意义1
1.3相关技术简介2
1.3.1JSP技术2
1.3.2MVC开发模式3
1.3.3SH框架技术4
1.3.4Hibernate框架5
1.4MySQL数据库5
2订餐系统分析7
2.1系统可行性分析7
2.2需求分析8
2.2.1系统功能需求8
2.2.2系统性能需求8
2.2.3系统重要用例分析9
2.2.4业务流程分析10
2.2.5数据流分析11
3订餐系统总体设计13
3.1系统设计原则13
3.2系统结构设计13
3.3功能模块设计13
3.3.1前台显示的功能模块设计14
3.3.2后台管理的功能模块设计15
3.4数据库设计15
3.4.1数据库表设计16
3.4.2数据库概念模型设计(E-R图)16
3.4.3数据库逻辑结构设计17
4订餐系统编码与实现22
4.1系统的分层设计与实现22
4.1.1表现层(UI)22
4.1.2业务逻辑层(BLL)23
4.1.3数据库访问层(DAL)24
4.2前台显示模块的实现25
4.2.1会员注册模块的实现25
4.2.2搜索餐饮模块的实现26
4.2.3订餐功能模块的实现26
4.2.4留言评价模块的实现29
4.3后台管理模块的实现30
4.3.1公告管理模块的实现30
4.3.2餐饮管理模块的实现31
4.3.3管理员管理模块的实现32
4.3.4订单管理模块的实现34
4.3.5会员管理模块的实现35
5订餐系统测试与运行37
5.1测试的定义37
5.2测试的原则37
5.3测试的目的37
5.4系统运行环境要求38
5.5系统测试基本要求38
5.5.1界面测试38
5.5.2功能测试38
5.5.3性能测试38
5.6系统测试用例38
5.7系统测试结果39
结论40
参考文献41
致谢42
外文原文43
中文翻译49
1绪论
1.1订餐系统的研究背景
餐饮业是一个古老的行业,随着我国经济的快速发展,人民生活水平的不断提高,我国的餐饮业必将有巨大的发展。
但是,目前我国的餐饮业信息化程度很低,还基本处于手工操作层面上,网上订餐已经成为餐饮行业一种新型的营销方式。
因此,开发网上订餐系统是很有必要的。
随着网络的普及和人们生活水平的提高,人们对自己的饮食也渐渐的注重起来,很多人在进行紧张工作之余会选择享受美食进行放松。
但很多时候会出现这样的情况:
人们到餐厅就餐,会出现排队或者没有位置的现象;还有就是有的人不愿出去或者没时间出去买餐,想在自己的家里就能享受到美味的食物。
基于客户的这些需求,就产生了网上订餐的这一构想。
其次在于我们的生活中出现网上订车票、机票的系统,对于网上餐饮的定制在日常生活中还是比较少见的,这样的系统发展潜力大,发展范围广泛。
现在在一些大型的餐馆或者酒店也有网上订餐的系统,但是使用还不广泛,有的只在餐馆里使用,网上订购这一功能没有得到充分利用。
这些现实问题为开发简便、实用的网上订餐管理系统提供了必要条件。
在日常生活中,最普遍的订餐方式是电话预定,这种预定方式简洁、方便,错误率也比较低,但是在订餐时,往往由于客户对餐饮企业提供的信息比了解或者不够了解,就会进行相关的咨询,这造成了一定程度上的时间浪费。
当多个客户拨打同一个电话时,有可能出现线路忙的情况,这会给顾客留下不好的印象,这些将都会带来不便,餐厅人员会在同一天反复重复相同的信息,造成了人力资源的浪费。
对于餐饮企业经营者,利润是目的,而效率是盈利的必要条件,使用方便快捷的网上订餐系统不仅可以减少人力消耗,还能很大程度上节约时间,提高工作效率。
综上,我认为开发网上订餐管理系统对于客户和经营者都是很必要的。
1.2订餐系统的研究目的及意义
网络的普及使人们对网站的设计和外观的要求越来越挑剔了,因此,网页作为一个企业的脸面需要精心设计。
餐饮经营者可以在自己的网站上,发放餐馆的信息和菜品信息,每一样菜都有精美的图片,实行餐馆企业的自我推介,从而吸引上网人员的关注。
设计个性化的界面吸引顾客,使消费者方便快捷的登录,并很方便的预订需要的菜品。
在企业经营管理方面,实行信息化的网上订餐的作用更为显著:
网上订餐可以餐饮企业提高效率,节约成本。
通过计算机进行订餐所需程序:
传单、订单、计算、汇总等,计算准确并且高效,这不仅加快了企业的卖餐速度,而且以快速,便捷的送货上门方式给顾客提供最好的最需要的餐饮及服务,为客户省去了很多不必要的时间。
网上订餐系统不仅能够比传统的订餐方式高效,还有自己的优点。
网上订餐系统,提供了图文并茂,及时更新的丰富信息,让客户有更多的选择机会,并且如同自己面对现成的食物一样,这样可以使顾客身心感觉都很好。
用餐时间,生意好的餐厅电话一般很难打通,为此客户可能做出其他选择,而网上订餐不会存在这样的问题。
网上订餐很适合白领等上班族的生活工作方式:
很多办公室人喜欢上网,网上订餐省时又省力,可以轻轻一点,足不出户就可以吃到想要的饭菜。
网上订餐带来的方便会在客户总形成良好的口碑,网络的应用也会提高餐馆的形象,从而吸引更多的顾客,为餐馆带来更多的盈利。
网上订餐系统其功能不言而喻,不仅能够满足顾客需求,而且餐饮企业也可以高效经营管理。
其能够占领市场的另一个优点是:
该系统运行平台很简单,只需要一台计算机,能够上网即可。
如果要选择网上支付,则经营者需要有网上银行。
这个系统属于小型的应用系统,经营者使用起来不必担心经济负担。
1.3相关技术简介
1.3.1JSP技术
JSP(JavaServerPages)是由SunMicrosystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。
JSP技术有点类似ASP技术,它是在传统的网页HTML文件中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件。
JSP全名为JavaServerPages,其根本是一个简化的Servlet设计,他实现了Html语法中的java扩张(以<%,%>形式)。
JSP与Servlet一样,是在服务器端执行的。
通常返回给客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。
Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户端。
插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。
JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。
网页还能通过tags和scriptlets访问存在于服务器端的资源的应用逻辑。
JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。
JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。
网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。
JSP将网页逻辑与网页设计的显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。
JSP(JavaServerPages)是一种动态页面技术,它的主要目的是将表示逻辑从Servlet中分离出来。
JSP页面由HTML代码和嵌入其中的Java代码所组成。
服务器在页面被客户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。
JavaServlet是JSP的技术基础,而且大型的Web应用程序的开发需要JavaServlet和JSP配合才能完成。
JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。
JSP2.0中的一个主要功能是JSPfragment,它的基本特点是可以使处理JSP的容器推迟评估JSP标记属性。
我们知道一般JSP是首先评估JSP标记的属性,然后在处理JSP标记时使用这些属性,而JSPfragment提供了动态的属性。
也就是说,这些属性在JSP处理其标记体时是可以被改变的。
JSP需要将这样的属性定义为javax.servlet.jsp.tagext.JspFragment类型。
当JSP标记设置成这种形式时,这种标记属性实际上的处理方法类似于标记体。
在实现标记的程序中,标记属性可以被反复评估多次。
这种用法称为JSPfragment。
JSPfragment还可以定义在一个SimpleTag处理程序中使用的自制标记动作。
像前面例子说明的,getJspBody返回一个JspFragment对象并可以在doTag方法中多次使用。
需要注意的是,使用JSPfragment的JSP只能有一般的文本和JSPaction,不能有scriptlet和scriptlet表达式。
JSP的优势:
①一次编写,到处运行。
除了系统之外,代码不用做任何更改。
②系统的多平台支持。
基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。
相比ASP的局限性JSP的优势是显而易见的。
③强大的可伸缩性。
从只有一个小的Jar文件就可以运行Servlet/JSP,到由多台服务器进行集群和负载均衡,到多台Application进行事务处理,消息处理,一台服务器到无数台服务器,Java显示了一个巨大的生命力。
④多样化和功能强大的开发工具支持。
这一点与ASP很像,Java已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下。
⑤支持服务器端组件。
web应用需要强大的服务器端组件来支持,开发人员需要利用其他工具设计实现复杂功能的组件供web页面调用,以增强系统性能。
JSP可以使用成熟的JAVABEANS组件来实现复杂商务功能。
1.3.2MVC开发模式
MVC是Model-View-Controller的简称,是XeroxPARC在八十年代为编程语言Smalltalk-80发明的一种软件设计模式,至今已被广泛使用。
MVC框架结构支持三层结构的类:
表现应用程序状态层、屏幕表现层和控制流层,因此这三层被称为模式(Model)、视图(View)和控制器(Controller)。
MVC是可以满足那些需要为同样的数据提供多个视图的应用程序的开发需要,在开发与用户界面相关,特别是对用户界面要求较复杂的相关的应用程序时,可以很好地以不同的方式来显示同一数据,也就是在不改变软件功能的前提下,可以实现用户对用户界面的个性化要求,而MVC模式的最大特点就是将业务层与表示层分离,而且提供了很多使显示界面更加个性化的标签库,所以它能更好地实现用户界面的各种个性化需求。
MVC模式在MIS系统、决策支持系统和ERP等分布式应用系统的设计与分析中广泛使用,但它本身并不局限于某一个特定的领域。
该模式的三个核心部件分别为:
模式(Model)、视图(View)和控制器(Controller),下面分别做简要的分析:
①模型(Model):
也就是业务流程/状态的处理以及业务规则的制定。
业务流程的处理过程对其它层来说是黑箱操作,模型接受视图请求的数据,并返回最终的处理结果。
业务模型的设计可以说是MVC最主要的核心。
目前流行的EJB模型就是一个典型的应用例子,它从应用技术实现的角度对模型做了进一步的划分,以便充分利用现有的组件,但它不能作为应用设计模型的框架。
它仅仅告诉你按这种模型设计就可以利用某些技术组件,从而减少了技术上的困难。
对一个开发者来说,就可以专注于业务模型的设计。
MVC并没有提供模型的设计方法,而只告诉你应该组织管理这些模型,以便于模型的重构和提高重用性。
②视图(View):
代表用户交互界面,对于Web应用来说,可以概括为HTML界面,但有可能为XHTML、XML和Applet。
随着应用的复杂性和规模性,界面的处理也变得具有挑战性。
一个应用可能有很多不同的视图,MVC设计模式对于视图的处理仅限于处理视图上数据的采集和处理,以及用户的请求,而不包括在视图上的业务流程的处理。
业务流程的处理交予模型(Model)处理。
比如一个订单的视图只接受来自模型的数据并显示给用户,以及将用户界面的输入数据和请求传递给控制和模型。
③控制器(Controller):
是系统的控制层,起到控制整个业务流程的作用。
控制器可以理解为从用户接收请求,将模型与视图匹配在一起,共同完成用户的请求。
控制层并不做任何的数据处理。
例如用户点击一个链接,控制层接受请求后,并不处理业务信息,它只把用户的信息传递给模型,告诉模型做什么,然后选择符合要求的视图返回给用户。
因此,一个模型可能对应多个视图,一个视图可能对应多个模型。
MVC模式的优点是非常明显的。
首先是显示逻辑和业务逻辑的分离很好地提高系统的可维护性和可扩展性。
其次,一个模型可以对应多个视图。
在目前用户需求的快速变化下,可能有多种方式访问应用的要求。
例如,订单模型可能有本系统的订单,也有网上订单,或者其他系统的订单,但对于订单的处理都是一样,也就是说订单的处理是一致的。
按MVC设计模式,一个订单模型以及多个视图即可解决问题。
这样减少了代码的复制,即减少了代码的维护量,一旦模型发生改变,也易于维护。
系统采用MVC模式是明智的选择。
WEB-MVC架构的结构图如图1-1所示。
图1-1MVC结构图
1.3.3SH框架技术
SH(Struts+Hibernate):
struts进行流程控制,Hibernate进行数据库操作的封装,这种新的开发模式让开发者更加方便、快捷、思路清晰。
Struts是一种基于MVC经典设计模式的开放源代码的应用框架,也是目前Web开发中比较成熟的一种框架。
现在,Struts是Apache软件基金会旗下Jakarta项目组的一部分,其官方网站是http:
//jakarta.apache.org/struts。
由于Struts能充分满足应用开发的需求,简单易用,敏捷迅速,在过去的一年中颇受关注。
Struts通过把Servlet、JSP、JavaBean、自定义标签和信息资源整合到一个统一的框架中,为Web开发提供了具有高可配置性的MVC开发模式。
Struts体系结构实现了MVC设计模式的概念,它将Model、View和Controller分别映射到Web应用中的组件。
Model由代表系统状态和商业逻辑Action来构建,View是由JSP和struts提供的自定义标签来实现,Controller负责控制流程,由ActionServlet和ActionMapping来完成。
Struts的核心组件包括ActionServlet、Action、ActionForm、ActionForward、ActionMapping。
Struts技术的MVC实现模型如图1-2所示。
图1-2Struts技术的MVC实现模型
1.3.4Hibernate框架
Hibernate是一种很好的ORM(Object/RelationalMapping)映射工具,是一个开放源代码的对象关系映射框架和一个独立的对象持久层框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。
Hibernate可以用在任何JDBC可以使用的场合,例如Java应用程序的数据库访问代码,DAO接口的实现类,甚至可以是BMP里面的访问数据库的代码。
Hibernate核心接口一共有6个,分别为:
Session、SessionFactory、Transaction、Query、Criteria和Configuration。
这6个核心接口在任何开发中都会用到。
通过这些接口,不仅可以对持久化对象进行存取,还能够进行事务控制。
图1-3显示了Hibernate的整体框架。
图1-3Hibernate整体框架图
1.4MySQL数据库
所有的企业都与数据息息相关,人们将越来越多的资料存入计算机中,并通过一些编制好的计算机程序对这些资料进行管理。
本系统是采用MySQL数据库。
MySQL是一个开放源码的小型关联式数据库管理系统,开发者为瑞典MySQLAB公司。
MySQL被广泛地应用在Internet上的中小型网站中。
由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。
MySQL是一个关系型数据库管理系统,由瑞典MySQLAB公司开发,目前属于Oracle公司。
Mysql是最流行的关系型数据库管理系统,在WEB应用方面MySQL是最好的RDBMS(RelationalDatabaseManagementSystem:
关系数据库管理系统)应用软件之一。
MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
MySQL所使用的SQL语言是用于访问数据库的最常用标准化语言。
MySQL软件采用了双授权政策,它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择MySQL作为网站数据库。
MySQL是一个高性能、多线程、多用户、建立在客户-服务器结构上的RDBMS,专门为了速度和稳定性而设计的。
在过去的几年里,它已经成为线上和线下适合于数据库驱动的应用程序最受欢迎的RDBMS之一。
现今,有超过400万的网站建立、使用并配置了基于MySQL的应用程序,并且网站的数量每天都在增加。
MySQL数据库的特征:
MySQL始终围绕三个基本原则而设计,它们是:
性能、可靠性和容易使用。
严格按照这些准则产生了一个价格便宜而富有特色、适应标准而容易扩展、速度快而效率高的RDBMS,使MySQL成为开发者和管理者建立、维护和配置复杂应用程序的完美工具。
MySQL具有性能优越,可靠性强,多用户支持,容易使用,可扩展,可移植,国际化,广泛的应用程序支持,开放源代码的特点。
2订餐系统分析
通过对网上订餐系统背景与意义的研究,可以从多方面对网上订餐系统进行分析。
在此主要从可行性、需求、数据流、技术等方面对本系统进行具体分析。
2.1系统可行性分析
商业软件是根据客户的根本目的和需要而设计和开发的,可行性是开发的系统具有使用价值和生命力的保证。
从软件开发的角度来看,当启动一个软件开发任务时,就进入了软件生命周期的第一个阶段,即可行性研究与计划阶段。
众所周知,世界上所有的问题不是都有简单明显的解决办法的,许多问题不能在预定的系统规模之内解决。
如果问题没有可行的解,那么花费在