基于JSP的网上订餐系统的设计与实现.docx
《基于JSP的网上订餐系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《基于JSP的网上订餐系统的设计与实现.docx(18页珍藏版)》请在冰豆网上搜索。
![基于JSP的网上订餐系统的设计与实现.docx](https://file1.bdocx.com/fileroot1/2023-1/14/c141105e-d518-4bc7-b17e-632c69b02753/c141105e-d518-4bc7-b17e-632c69b027531.gif)
基于基于JSP的网上订餐系统的设计与实现的网上订餐系统的设计与实现基于JSP的网上订餐系统的设计与实现JSP-basedonlineorderingsystem基于基于JSP的在线订餐系统的设计与实现的在线订餐系统的设计与实现摘要:
随着生活节奏的不断加快,越来越多的人因为工作忙而没有时间自己出去订购喜欢的菜品。
随着Internet的飞速发展,网络已经成为我们日常生活中必不可少的部分,越来越多的人也接受了电子商务这种快捷、方便的交易方式。
网上订餐其独有的便捷性和直观性,能轻而易举的被当代人所接受,另一方面网上订餐同时推动着电子商务的发展。
因此,作为互联网的新形式,网上订餐是十分必要的。
本系统就是为了满足消费者足不出户,通过网络轻松闲逸的完成订购餐饮和食品,尤其是当代学生及白领,这些人一般都工作比较忙,并且对计算机比较熟悉,思想也比较超前,能够接受网上订餐。
网上订餐系统就是基于上述现状而开发出来的,该设计是基于互联网的B/S模式的网上订餐系统,系统运用JSP技术,数据库采用MySQ,L以Tomcat6为Web服务器。
关键词:
在线订餐系统;MySQ;LMyEclipse;B/S毕业设计(论文)外文摘要毕业设计(论文)外文摘要JSP-basedonlineorderingsystemAbstract:
itWiththeacceleratingpaceoflife,moreandmorepeoplearebusywithworkandtimeoutonorderdeliciousdishes.WiththerapiddevelopmentofInternet,thenetworhasbecomeanessentialpartofourdailylives,moreandmorepeopleacceptedthee-commercesuchafast,convenientwaytotrade.Onlineorderingofitsconvenientandintuitive,caneasilybeacceptedbythecontemporarypeople,ontheotherhand,alsopromotethedevelopmentofelectroniccommerce.Therefore,asanewformoftheInternet,Onlineorderingisverynecessary.Thissystemisinordertomeettheneedsofconsumersremainwithindoors,throughanetworkofrelaxedleisurelycompleteorderingofcateringandfood,especiallythecontemporarystudentsandwhite-collar,thesepeopleareusuallybusywithwork,andaremorefamiliarwiththecomputer,thoughtalsocompareslead,caneasilyacceptonlinemealordering.Theonlineorderingsystemisdevelopedbasedontheabove-mentionedstatusquo,thedesignisbasedonInternetB/Smode,thesystemusingJSPtechnology,databaseusingtheMySQLandTomcat6asaWebserver.Keywords:
Onlinereservationsystem;MySQL;MyEclipse;B/S第一章引言-1-1.1课题研究的意义和背景-1-1.2问题的定义与简介-1-1.3可行性分析-2-1.4课题的调研-2-1.5论文各章简介-2-第二章需求分析-3-2.1功能需求-3-2.2功能模块分析-3-2.3性能需求-3-第三章系统设计-4-3.1数据概念结构设计E-R模型-4-3.2数据逻辑结构设计关系模型-6-3.3数据结构优化关系规范化-6-3.4开发环境和运行环境设计-7-第四章详细设计-10-4.1会员功能的设计与实现-10-4.2管理员功能的设计与实现-18-4.3主要问题及其解决方案-19-第五章用户手册-19-5.1系统功能简介-19-5.2系统运行环境与系统安装-19-5.3系统操作指南-19-结论-20-致谢-21-参考文献-23-第一章第一章引言引言1.1课题研究的意义和背景课题研究的意义和背景计算机已经变得十分普遍了,人们已经渐渐离不开计算机了,如同我们离不开的自行车、汽车一样。
餐饮行业是一个具有悠久历史的行业,但大部分餐饮企业的运作管理模式仍基本沿袭传统的方法。
依靠人工录写菜单,然后由跑菜员将菜单送入厨房,房依据菜单制作菜肴,再由服务员将菜肴送至顾客。
但随着社会的不断进步,生活节奏的不断加快。
这种传统的运作模式已经面临挑战,人们没有那么多的时间等待,尤其是当代学生和一些白领。
他们更愿意的是来到饭店美味的菜肴已经等着他们更或者已经将菜肴送至办公室或者宿舍。
民以食为天,人们一日三餐,消费者对食的需求比较大,因此市场比较大,如果能在个性化和专业化上做好文章,一定能够经营成功。
就本系统而言,随着电脑的普及,为学生在网络上进行购物提供有利的条件。
而一个网络订餐系统可以为学生提供软件条件,这样学生便可以足不出户的买菜品了。
商家可以从中获得利润,两全其美。
目前国内较为成熟的、成体系的餐饮预订类网站为数不多,主要集中有京城的请客800、饭统网;上海的订餐小秘书,大众点评等据2010年中国餐饮业研究报告显示,中国餐饮行业规模2009年增长11%,达到约2万亿人民币,增长率比2008年的16%有所下降。
就外出就餐而言,中国的消费者比美国消费者更为保守。
如此巨大的餐饮市场,随着市场竞争的不断加剧和互联网信息技术的的快速发展,餐饮业也在不断的寻求营销模式的创新。
随着网购观念的普及,网络购物已经渐成网民消费生活的习惯。
另据iResearch艾瑞市场咨询今年对中国网上旅行预计市场的轿车统计,2006年中国网上旅行预订用户较2005年增产72.1%,达275万人,占中国网民的2%。
其中通过互联网预订过九点的用户达70.2%,预订过机票的用户占70.7%、预订了度假产品的占20.3%。
预计2008年中国网上旅行预订用户达570万人,2010年将有900万人采用网上预订方式预订旅游产品及服务,占整体网民的3.5%。
参考以上数据可以看出,国人随着社会的发展生活习惯也在改变。
随着互联网技术的不断发展和完善,网上订餐必将是未来的发展趋势。
1.2问题的定义与简介网上订餐系统就是基于上述现状而开发出来的,该设计是基于互联网的B/S模式的网上订餐系统,系统运用JSP技术,数据库采用MySQL5,以Tomcat6为Web服务器。
1.3可行性分析可行性分析1.3.1经济可行性费用:
本系统采用开源软件编写,基本费用为零。
效用:
使用系统可以给餐厅带来长期利益,它可以极大的提高工作效率,减少管理的支出。
从而保证餐厅的持续稳定发展因此在经济上是完全可行的。
1.3.2技术可行性硬件:
现有设备的性能完全能够满足该系统对所需的硬件设备,如服务器、pc机等系统功能的要求。
软件:
本系统采用JSP开发技术。
在国外,己经大量使用JSP作为网络应用程序的开发工具,而在国内,尽管JSP还不是主流开发技术,但是由于JSP的强大优势,许多网站都已经准备转向JSP,利用JSP来开发动态网站。
数据库我们采用MySQL服务器则用Tomcat6,开发工具采用MyEclipse。
这些软件在中小型管理系统开发中已被大量应用,技术上都比较成熟,因此技术上是可行的。
1.3.3管理可行性本系统管理简单,只需定时更新下菜单、定时管理订单,操作简捷、方便。
因此是可行的。
通过以上分析,开发网上订餐系统是完全可行的。
1.4课题的调研为了能够使在线订餐系统集能过顺利的进行,并能适用于其他、中小型餐饮企业,现做了详细的调查。
目前,餐饮企业还没有完全的信息化,网络化。
数据信息传输依旧为手动模式。
虽然酒店的现有系统的手动操作,可以向客户提供餐饮服务,但也有如下薄弱环节:
(1)现行的系统的是手动操作,操作人员操作大量的数据、传输不及时,统计和计算容易出错,工作效率低。
(2)业务流程管理不紧密。
(3)向客户提供手写清单,消费者常发生在字迹清晰,并没有统一的格式。
(4)客人消费单据难以保存和查询。
(5)个别服务员作弊,更改订单,欺骗。
1.5论文各章简介本文主要围绕着基于JSP的网上订餐的设计与实现而展开的。
第一章引言。
分析的开发网上订餐系统的意义与背景,说明了研发的课题,并分析的研发课题的可行性。
第二章需求分析。
在上一章可行性分析的基础上,论述了该系统的需求分析。
分别进行了业务流分析,数据流分许及数据字典。
第三章系统设计。
在需求分析的前提下对在线订餐系统进行系统设计,设计系统的总体结构、数据库结构,确定系统的开发环境和运行环境。
第四章详细设计。
对系统中各个子系统的结构,子系统中主要模块的功能、接口、界面设计、详细设计。
第五章用户手册。
对在线订餐系统功能、主要性能、运行环境和安装方法进行简介,并提供系统的操作指南。
第二章第二章需求分析需求分析2.1功能需求餐厅角色:
(1)菜单管理:
每个店的管理员可以通过此平台发布各自的菜单,可以修改菜单和删除菜单。
(2)查看订单:
每个店的管理员可以通过此功能随时地了解客户对各种餐饮的订购状况。
会员角色:
(1)个人信息管理:
会员可以通过此功能修改并完善个人信息
(2)订单管理:
会员通过此功能可以管理自己订购的餐饮。
具体如下:
A、查看订单:
查看自己已订购的餐饮。
B、删除订单:
退订已订购的餐饮。
C、修改订单:
对订单进行修改。
管理员角色:
管理员可以对会员及餐饮店的信息密码进行修改删除等。
2.2功能模块分析订餐管理:
订餐管理模块主要是顾客可以根据自己的需要随意点餐并一次性可购买指定数量。
在顾客点完餐之后快速的计算出消费金额。
订单管理:
该模块主要对订单信息进行管理。
记录了订单中的一些基本信息包括用户账号、订单内容、总消费金额。
并且拥有订单删除以及查看用户信息功能。
菜谱管理:
每个餐厅的管理员可以对当前的菜谱进行修改和删除功能,同样也能添加菜谱。
2.3性能需求性能需求1有效性要求有效性主要体现在信息系统的组成部分失败的程度,以满足业务性能要求。
例如,信息系统组件故障导致连接失败,但造成质量指标下降,平均延时增加,线路堵塞现象。
2完整性要求从XX的功能信息的完整性,不能改变。
在存储过程中的信息是不是意外或故意删除,修改,伪造,随机播放,插入损坏和缺失的功能。
3适应性的要求如用户错误操作,或经营环境发生了变化(例如,从Windows98升级到Windows2000,该系统可以继续适用),系统应能够适应新的连接,及时,方便,简单的系统更新。
第三章第三章系统设计系统设计3.1数据概念结构设计数据概念结构设计E-R模型模型根据以上系统分析,该系统的E-R图如下:
会员管图3-3菜单实体图3.2数据逻辑结构设计数据逻辑结构设计关系模型关系模型在E-R图向关系模型转换的过程中,注意灵活性,消除冗余数据,并考虑到用户对系统的要求,下列关系模型:
会员(会员编号,会员名,登录密码,地址,电话,年龄,性别);菜单(菜单编号,菜单名,价格,基本描述);订单(订单编号,顾客名,菜单列表,总价);3.3数据结构优化数据结构优化关系规范化关系规范化通过以上的分析和设计,并结合数据库设计的原则,设计出如下三张表:
1)T-course表为菜单信息表,该表存储该系统所有的菜单的信息,详见表3-1:
表3-1T-course表字段名数据类型长度允许空说明Idint11菜单编号namevarchar30菜名picvarchar30菜的图片prodInfovarchar100基本介绍pricedouble0单价2)T-Form表为订单信息表,该表存储了该系统中所有由顾客提交的订单的信息,详见表3-2:
表3-2T-form表字段名数据类型长度允许空说明Idint11订单编号usernamevarchar30会员名Contentvarchar200菜单详单pricedouble0总价格3)User-chen表为注册会员信息表,该表存储了该系统所有注册会员的会员详细信息,详见表3-3:
表3-3:
User-chen表字段名数据类型长度允许空说明Idint11用户编号usernamevarchar30用户名Namevarchar30姓名passwordvarchar30密码Phonevarchar30电话addressvarchar30地址3.4开发环境和运行环境设计开发环境和运行环境设计经过分析本系统采用SUN公司的JSP开发技术,采用B/S结构,使用MyEclipes作为开发环境。
数据库采用MySQL5,同时以Tomcat6为Web服务器3.4.1JSP技术技术JSP技术简介:
JSP(JavaServerPage服务器网页)是从1998年开始出现的新技术。
由Sun公司倡导、许多公司参与一起建立的一种动态网页技术标准,是基于JavaServlet以及整个Java体系的web开发技术。
在传统的网页HTML文件(*.htm,*.html)中加入脚本片段和JSP标记(Tag),构成JSP网页(*.jsp)。
JSP作为Java家族的一员,承袭了Java的特点,即跨平台的特性,也即一次编译,到处运行。
JSP体系结构:
JSP网站开发标准给出了两种使用JSP的技术:
model1:
jsp页面独自响应请求并将处理结果返回客户,这里面使用了表达与内容的分离,其中数据存取都是由bean来完成的。
model2:
MVC标注模式,JSP用于view展示,Servlet用于control,M代表业务领域模型层。
JSP的特点:
(1)一次编写,到处运行
(2)系统的多平台支持(3)强大的可伸缩性(4)多样化和功能强大的开发工具支持(5)支持服务器端组件基于以上优点我选择JSP技术来开发此程序。
3.4.2B/S模式模式随着WEB的兴起出现了一种网络结构模式B/S结构(Browser/Server,浏览器/服务器模式),客户端最主要的应用软件是WEB浏览器。
这种模式统一了客户端,使服务器集中实现系统功能的核心部分,使系统的开发、维护和使用简单了。
客户机上只要安装一个浏览器(Browser),如NetscapeNavigator或InternetExplorer,服务器安装Oracle、Sybase、Informix或SQLServer等数据库。
浏览器通过WebServer同数据库进行数据交互。
这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(TCO)。
3.4.3MyEclipse介绍:
介绍:
Eclipse是一个开源代码的、基于Java的可扩展的开发平台。
尽管Eclipse是使用Java语言开发的但他的用途并不限于Java语言。
例如,支持诸如C/C+、COBOL和Eiffel等编程语言的插件已经可用,或预计会推出。
MyEclipse是Eclipse的插件,也是一款功能强大的J2EE集成开发环境,支持代码编写、配置、测试以及除错。
利用它我们可以在数据库和程序的开发、发布,以及整合方面极大的提高工作效率。
3.4.4MySQL数据库:
数据库:
MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQLAB公司。
目前MySQL被广泛地应用在Internet上的中小型网站中。
由于他的体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,我们为了才选择MySQL作为网站数据库。
MySQL数据库的优点:
MySql的核心程序采用完全的多线程编程。
线程是轻量级的进程,它可以灵活地为用户提供服务,而不过多的系统资源。
用多线程和C语言实现的MySql能很容易充分利用CPU。
MySql可运行在不同的操作系统中。
简单地说,MySql可以支持Windows95/98/NT/2000以及UNIX、Linux和SUNOS等多种操作系统平简单地说,MySql可以支持Windows95/98/NT/2000以及UNIX、Linux和SUNOS等多种操作系统平台。
这意味着在一个操作系统中实现的应用可以很方便地移植到其他的操作系统下。
MySql有一个非常灵活而且安全的权限和口令系统。
当客户与MySql服务器连接时,他们之间所有的口令传送被加密,而且MySql支持主机认证。
MySql支持ODBCforWindows。
MySql支持所有的ODBC2.5函数和其他许多函数,这样就可以用Access连接MySql服务器,从而使得MySql的应用被大大扩展。
MySql支持大型的数据库。
虽然对于用PHP编写的网页来说只要能够存放上百条以上的记录数据就足够了,但MySql可以方便地支持上千万条记录的数据库。
作为一个开放源代码的数据库,MySql可以针对不同的应用进行相应的修改。
MySql拥有一个非常快速而且稳定的基于线程的内存分配系统,可以持续使用面不必担心其稳定性。
事实上,MySql的稳定性足以应付一个超大规模的数据库。
强大的查询功能。
MySql支持查询的SELECT和WHER语E句的全部运算符和函数,并且可以在同一查询中混用来自不同数据库的表,从而使得查询变得快捷和方便。
3.4.5Tomcat介绍:
介绍:
Tomcat是ApacheJakarta软件组织的一个子项目,Tomcat是JSP/Servlet容器,是Sun公司的JSWDK基础上发展起来的一个JSP和Servlet规范的标准实现。
Tomcat既可以和别的服务器组合使用,如和Web服务器组合使用或与EJB容器Jboss组合使用,也可以单独作为Web服务器使用。
3.4.6运行环境运行环境开发工具名软件用途MyEclipse代码编写与调试MySQL建立数据库TomcatWeb服务器MicrosoftOfficeWord文档制作第四章第四章详细设计详细设计4.1会员功能的设计与实现会员功能的设计与实现会员的主要功能为登录(注册),修改个人信息,订餐等。
4.1.1会员登录界面如图4.1所示图4.1登录界面图4.2为用户登录程序的流程图:
图4.2用户登录流程图当会员输入正确的会员名和密码时,将会登录成功进入会员登录成功界面loginSuccessed.jsp界面)如图4.3:
图4.3登录成功界面当用户输入的用户名或密码不正确时,将会进入登录失败界面(error.jsp)如图4.4:
图4.4登录失败界面部分代码:
if(action.equals(/login)/比较用户填写的number1与/session当中预先绑订的number2/如果相等,则比较用户名和密码。
/如果不等,提示用户验证码错误Stringnumber1=request.getParametern(umber);HttpSessionsession=request.getSession();Stringnumber2=(String)session.getAttribute(number);if(!
number1.equals(number2)request.setAttribute(checkcode_error,验证码错误);request.getRequestDispatcher(login.jsp).forward(request,response);return;Stringusername=request.getParameteru(sername);Stringpassword=request.getParameterp(assword);UserDAOdao=newUserDAO();trypassword=MD5Util.getMD5Str(password);booleanis=dao.login(username,password);if(is)request.setAttribute(username,username);session=request.getSession();session.setAttribute(login,username;)RequestDispatcherrd=request.getRequestDispatcher(loginSucceed.jsp);rd.forward(request,response);elserequest.setAttribute(username,username);RequestDispatcherrd=request.getRequestDispatcher(error.jsp);rd.forward(request,response);catch(Exceptione)e.printStackTrace();4.1.2用户注册会员注册内容包括用户名,密码,真实姓名,年龄,地址,电话,性别。
其中用户名,密码,真实姓名及年龄不能为空。
如图4.5:
图4.5注册信息为空的界面其中用户名必须为数字字母下划线组成(4-32位),密码必须为数字字母下划线组成(6-32位),年龄必须为13位数字。
如图4.6:
图4.6注册信息不正确界面正确填写信息并注册成功如图4.7,4.8所示:
图4.7正确填写注册信息图4.8注册成功部分代码:
if(action.equals(/regist)Stringusername=request.getParameteru(sername);UserDAOdao=newUserDAO();tryUseruser=dao.findByUsername(username);if(user=null)user=newUser();user.setUsername(username);user.setAddress(request.getParametear(ddress);user.setAge(Integerp.arseInt(request.getParameter(age);user.setGender(request.getParametegr(ender);user.setName(request