基于web的网上订餐系统的设计与实现毕业论文.doc_第1页
基于web的网上订餐系统的设计与实现毕业论文.doc_第2页
基于web的网上订餐系统的设计与实现毕业论文.doc_第3页
基于web的网上订餐系统的设计与实现毕业论文.doc_第4页
基于web的网上订餐系统的设计与实现毕业论文.doc_第5页
已阅读5页,还剩60页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

防灾科技学院毕业论文基于web的网上订餐系统的设计与实现毕业论文目 录第一章 绪论11.1引言11.2 本文的主要内容2第二章 网上订餐系统的需求分析32.1用户分析32.2功能分析32.3业务流程分析42.4性能需求分析6第三章 网上订餐系统设计73.1系统的概要设计731.1系统的主要功能结构731.2系统的结构流程设计931.3系统的层次结构设计103.2系统的数据库设计1132.1数据库的概念设计1132.2数据库的逻辑设计1232.3数据库的物理设计13第四章 系统详细设计与编码实现144.1客户端模块的设计1441.1 页面的搭建1441.2 用户登录模块的设计与实现1541.3 用户注册模块的设计和实现1741.4 登录界面的设计1941.5 登录验证功能的设计2041.6 后台登录功能的设计214.2订餐模块的设计2242.1 餐饮列表功能的设计2242.3购物车部分2642.4用户信息部分和购物清单部分294.3订单管理模块的设计3143.1订单列表显示部分3143.2详细订单部分324.4后台管理功能设计3244.1 后台首页设计3244.2 后台餐饮管理模块设计3444.3餐饮查询功能3444.4餐饮添加功能3544.5后台订单模块功能36第五章 网上订餐系统的测试395.1软件测试的介绍395.2系统的实例测试4052.1用户的信息管理测试4052.2餐饮信息的查询模块测试4252.3网上餐饮的订购模块测试4352.4购物车模块的测试4352.5餐饮订单的测试4452.6管理员模块的测试4552.7餐饮信息管理的测试4552.8订单管理的测试46第六章 结束语47致谢48参考文献49附录51第一章 绪论1.1引言现如今世界,随着因特网技术的高度发展,与之相关的产业也同时应运而生了,它现已广泛而深刻地渗透到世界的各个领域当中,从而导致了如今世界对因特网的依赖性的增强。与此同时,人们生活与因特网的脚步越来越紧密,再加上市场化和经济全球化越来越多的普及,众多国内外企业都深刻地认识到想要提高企业的市场竞争力,就要率先抓住因特网的商机,走网络化信息化的特色道路。于是基于网上的订餐系统就在这样的情况下应运而生和发展起来了。网上订餐系统是一种针对餐饮业而设计的商务服务网站。通过本系统,客户可以迅速查找到适合自己所处位置的餐馆名称、餐馆所具有的菜谱及其对应价位,从而可以选择送餐异或订餐的方式购买到所需食物。这种方式可以显著提高餐馆的工作效率,同时也可以很大程度地节省客户因等待所浪费的时间。随着当前全球餐饮信息化的发展,我国的餐饮信息化事业也进入了一个新的阶段。尤其在我国一些信息化程度较高的城市地区,网上订餐发展速度迅猛,比如商务型的华天酒店、总部设在上海的和美如家酒店,都有自己的门户网站,并且具有网上订餐功能。调查表明:一些大型的客户订餐已越来越习惯网上预订。餐饮订购已经开始从传统的电话预定餐饮转变为安全方便的网上订餐,并且它已日益成为餐饮企业提高销售效率的核心之一。随着因特网的迅速全球化、商业化、家庭化进程,以及人们对信息系统依赖性的增强,网上订餐有可能改变人们的社会饮食习惯,从而改变人们的生活方式。但从目前来看我国的网上订餐系统仍处于初期阶段,其重心还停留在大中型城市中。如今在全世界范围内,随着因特网技术的越来越成熟,国际上网上订餐系统已在世界上许多个国家和地区被频繁应用。该系统的开发与完善,必然将给高节奏工作的人们带来方便和饮食健康。餐饮信息化已成为众多企业高节奏运作不可缺少的因素,在美国、日本及欧洲的发达国家中,几乎所有的企业的高级管理者都认识到了上网订购餐饮来解决用餐问题的必要性。人们也越来越清楚意识到网上订餐与高节奏工作相适应的必然要求。餐饮信息化是真正进入信息社会的有效保障,在发达国家,网上订餐系统的应用在餐饮类企业己得到了普及。网上订餐系统是一种将传统的通过电话和面对面的销售的方式转换到基于网络这样一个更方便快捷的方式。该系统为企业节约了很多的时间和精力,时间就是金钱,对企业来说,节约时间就是节约成本,就是盈利。对用户来说,足不出户,就可以购买到自己想要吃的东西,对于所有高节奏工作的上班族来说,无疑是好之又好的事情。而且现在的网络发展速度相当的惊人,那么基于网络的订餐也会越来越流行,必定是一个趋势。1.2 本文的主要内容本文所论述的网上订餐系统是电子商务的一个典型案例,其主要任务是对基于web的网上订餐系统进行设计与实现。该系统能够帮用户远程浏览餐饮信息并且订购餐饮,为用户节约大量的时间和精力。它的基本功能具有一般用户的注册以及登录、餐饮信息的展示、餐饮的查询、餐饮的远程订购和后台管理员对餐饮以及用户的订单进行管理等功能。最后对网上订餐系统在我国的发展提出自己的见解。论文内容介绍如下:第一章, 主要介绍了网上订餐系统的起源、目的、背景、现状分析以及意义。第二章, 主要对用户(包含客户与管理员)、用户功能、系统的业务流程以及系统的性能需求进行分析。第三章, 系统性地介绍网上订餐系统的功能模块和系统的结构流程设计,分析其主要的功能结构、系统的层次结构 以及系统的数据库。第四章, 详细设计网上订餐系统,包括客户端模块、订餐模块的设计、订单管理模块的设计以及后台管理功能设计。第五章, 对所开发的系统中的各模块进行相应的测试,通过测试来分析各模块功能上的一些技术性缺陷,从而来改善该系统各模块的运行效果。最后就是结束语部分,主要对系统开发与论文的工作内容进行了总结,同时还对开发系统的成果以及系统存在的问题进行简要的总结,最后再对学校与论文指导老师以及给予我帮助的同学表示感谢。2第二章 网上订餐系统的需求分析2.1用户分析完整的网上订餐系统包括两种用户:客户:网上订餐系统的客户端使用者,他们就是通过远程登录相关网站来浏览餐饮信息的客户,同时也是餐饮的订购者,却不可以对该系统网站进行任何管理。经过一定的调查,网上订餐系统的客户具有如下一些特征:(1)主要分布在各主要大中城市中,交通比较方便,方便餐饮送货上门;(2)在工作单位或者家中都有电脑,能够登录网上订餐系统网站,选择菜单进行订购;(3)派送餐饮的地址清晰明了,可以大大地方便送餐人员上门交货。管理员:网上餐厅的系统管理者,可以对系统进行有效的管理。管理员登录系统后,进入管理界面,可以对系统进行日常的维护以及进行日常的管理,并按照网上餐厅销售商的意愿,对各种餐饮进行合理的管理,包括:管理注册用户,以及修改注册用户资料和删除注册用户资料;还可以对餐饮进行有效的管理,包括餐饮信息的添加,管理餐饮的分类,餐饮又可分为快餐菜品和饮料,管理员可以分别添加快餐菜品和饮料的相关信息,也可以删除已经存在的餐饮信息,并可以对已经存在的餐饮进行修改和删除等管理,他还可以处理客户订餐的订单以及安排餐饮的派送。2.2功能分析系统主要是由两大部分组成的,一部分是前台销售部分,只有当用户注册成为系统会员,才能在登录该系统之后进行个人信息管理以及网上订购餐饮等操作。在用户想要以会员的身份登录该系统时,只要点击系统上的注册链接,系统就会为他提供注册功能界面,在用户提交自己的注册信息后,需要对已提交的信息进行验证,以保证用户信息的正确性,其中验证的信息包含用户名、密码都不能为空并且确认密码与输入密码的一致性等。信息验证成功后,系统会自动将注册信息提交给数据库,从而完成注册信息写入数据库的过程。用户注册成功后,通过浏览器来访问登录网上订餐系统相关网站,可以进行餐饮查询,修改注册信息以及订购自己所需的餐饮等操作;另一部分是后台管理部分,管理员登录该系统后,就可以对用户信息,餐饮信息以及订单信息等进行管理和查询,当管理员登录后,其登录信息就会提交到系统中进行验证,若验证正确,登录页面则会跳转到相关的管理员界面,否则在登录界面中输出错误提示信息。系统模块结构功能树如图2-1所示:图 2-1 系统模块结构功能树2.3业务流程分析网上订餐系统是由前台和后台这两部分组成的。前台即客户端,在前台客户进入首页后,用户可以在首页看到登录时的时间显示,同时还可以查看一些形色艳丽的餐饮图片以及网站导航信息。用户可以通过点击餐饮图片来查看其相关餐饮的信息以及对应的餐饮知识。在客户看中某一餐饮时,可以事先登录,或者注册,然后可以随心订购自己所需要的餐饮,也可以自助订餐。客户端流程如下图2-2所示:图2-2 客户端流程图后台管理部分,管理员从订餐系统网站首页用户登录界面登录进入后台管理首页即可进行管理操作。在后台管理员可以进行用户管理,餐饮管理,餐种管理,订单管理,公告信息管理。后台管理端流程如:2-3所示:图2-3 后台管理端流程图2.4性能需求分析网上订餐系统要求能够做到操作简单便捷,界面应美观大方、风格突出富有特色,功能设计应体现人性化思想,方便用户操作,易于维护;数据库要求运行稳定,执行速度快,数据安全性强和可靠性高以及反应速度快;同时系统查询效率要求高,能够及时响应查询请求;另外,系统还应当较好的满足信息的完整性以及系统的可扩展性。63第三章 网上订餐系统设计系统设计是新系统的物理设计阶段。根据系统分析阶段所确定的新系统的逻辑模型、功能要求,在用户所能提供的环境条件下,设计出一个能在计算机网络环境上实施的方案,也就是建立一个新系统的物理模型。3.1系统的概要设计系统分为两类用户,前台注册会员用户和后台管理员用户。前台用户注册后可以进行查询菜单信息,订购餐饮,修改会员资料等;后台管理员可以对餐饮信息进行管理,可以管理注册会员,并进行餐饮订单处理。用户在网上餐厅订购餐饮的整个流程如下图3-1所示:图3-1网上订餐的交易流程31.1系统的主要功能结构一、前台功能(1)采用注册详细用户信息这一合理措施,全力保证网上交易的安全性以及成功率;用户登录系统后,根据自身情况可以修改自己的注册资料以及进行餐饮的定单查询等一系列功能,离开时则可以放心退出订餐系统。(2)较为强大的查询功能,快捷的找到用户自身所需要的订购的餐饮;也可以按餐饮的具体名称,餐饮的分类查询;餐饮有普通菜品和饮料之分,用户可以根据需进行订购。(3)用户订购餐饮流程:浏览菜单、将所需餐饮放入购物车中、填写个人详细资料,然后生成一个对应的订单号码,用户需要自己细心记住其订单号码,并且可以查询是否需要进行处理,后台管理员会发现有些新的订单生成,进行对应的处理。(4)最新餐饮展示:每天新增加的新式餐饮都会在第一时间展现在首页上,用户可以根据自己的需要来查看新式餐饮,如欲订购所需餐饮,即可直接点击首页展示的对应餐饮名称,填写个人信息,提交生成的订单号,等待后台管理员的响应。网上订餐前台系统功能模块图如下图3-2所示: 图3-2前台系统功能模块二、后台功能 (1)系统管理:管理员对网上订餐系统进行管理,可以新增管理员信息以及修改管理员信息和发布网站公告信息,从而使系统功能比较丰富。 (2)餐饮的管理:包括餐饮的分类管理,餐饮的订购情况管理,添加新式餐饮以及餐饮的公告信息等功能的管理,能够实现对餐饮的快速而有效的管理,提高了网上订餐系统的订购效率,吸引并留住更多的用户。(3)订单管理:查查询浏览订单的详细订餐信息及订单处理情况。(4)用户管理:查看、修改、删除用户的相关资料,更有效的管理好了注册用户。网上订餐后台系统功能模块图如图3-3所示: 图3-3后台系统功能模块通过对网上订餐系统的需求分析,以及从网上订餐的实际情况出发,总结出该系统的大致功能结构:该系统是由前台客户端与后台管理端两大部分组成,其中前台客户端由餐饮信息的浏览(包括餐饮列表,详细信息以及其类别的浏览),订单的管理(查看自己的订餐情况),购物车模块(将订购餐饮放入其中)以及用户信息的管理(修改自己的注册信息)组成;而后台管理端由订单的管理(查看订单列表的详细情况,并设置订单发放),餐饮的管理(实现对餐饮信息的添加,更改与删除)以及用户的管理(查看用户信息,并可更具需要进行删除操作)组成。具体结构如下图3-4所示。图3-4系统功能结构图31.2系统的结构流程设计用户登录系统就需要按照正确的顺序才可进入,用户角色又可分为管理员用户以及客户这两种。这两种用户成功登录后都可以通过一定的提示来进行相应的操作。该系统的面向用户的客户端流程图和面向管理员的流程图分别如下图3-5和图3-6所示:图3-5面向用户的客户端流程图图3-6面向管理员的流程图从上面的流程图中可以知道,用户登录系统,如果用管理员账号进入系统,那么该用户具有管理员的权限,做一些管理员权限范围内的操作,即可进行餐饮信息的管理以及订单管理等操作。如果以一般用户的账号进入系统,当他第一次使用该系统时,则需要先进行必要的注册,按照系统的提示信息填写相应的自身信息,在注册成功之后才可以成功登录系统。当系统用户已注册,则可输入正确账号与密码直接登录系统。当用户成功登录进入该系统之后,用户便可进行相应的操作来订购餐饮。31.3系统的层次结构设计该系统是以用户为主要角色。用户先注册才能登录相应的系统操作,用户注册成为会员后就可以进行相应的功能操作:包括餐饮检索、订购餐饮、确认订单、等。用户以餐饮名称等相关信息来进行餐饮检索后,系统便会从已完成的餐饮数据库中进行对应的餐饮搜索,当系统找到合适的餐饮后便会自动生成餐饮列表视图,从而使用户在浏览器更加直观的看到。而管理员可以查看客户的订单信息,按照订单信息来发货等操作。餐饮管理员还可对餐饮信息进行必要的增加、删除和修改等操作。该系统的数据流程图如下图3-7所示:图3-7系统的数据流程图用户先是通过操作浏览器对客户端发出请求,接着web服务器就会对该请求进行分析,之后再对数据库发出数据查询的请求,数据库会将已经准备好的数据回复给web服务器,Web服务器会次再将其结果以JSP代码的形式来响应浏览器的请求,最终实现一个完整的用户请求响应过程。从该过程中可以发现,web服务器对完成整个请求响应过程起到必不可少的作用,同时还必须具有创建动态页面的服务器技术和数据库管理系统以及实现web服务器与数据库端相连接的技术。3.2系统的数据库设计32.1数据库的概念设计系统的数据库在该网上订餐系统中具有相当重要的作用,数据库结构设计的好坏对系统的运行效率、数据的存储效率以及系统的复杂程度等问题起到关键性的作用,所以正确合理的运用数据库结构设计可以很好地提高系统性能。考虑到用户对一些实体的需求,该网上订餐系统划分出的实体主要有用户信息实体、餐饮信息实体、订单明细实体、购物车实体以及管理员信息实体。其中,一张订单可以包含多条订单明细,一条订单还可以显示用户订购餐饮的相关信息;一个用户可以提交多条订单;一个用户也可以订购若干餐饮;用户所订购的餐饮可以先暂时存放到购物车中,一个购物车可以放入若干餐饮。以上各实体之间的总体关系用E-R图来描述,如下图3-8所示:图3-8实体关系的E-R图32.2数据库的逻辑设计数据库设计在系统设计过程中占据非常重要的地位。数据作为系统设计的基础部分,数据的不够合理将会在系统的开发过程乃至到后期的系统维护中引起很多问题,严重时甚至会引起系统的崩溃。除了管理员实体外,该系统对会员用户、餐饮信息以及订单进行相应的管理。该系统需要的数据实体如下所示:(1)会员用户的数据实体:用于记录用户的基本信息,包括用户编号、用户名、密码、电子邮箱、地址以及联系方式。(2)餐饮的数据实体:用于记录餐饮的基本信息,包括餐饮编号、餐饮的名称、价格以及餐饮信息。(3)订单明细的数据实体:用于记录用户已下单的各种基本信息,包括订单编号、餐饮名称、餐饮价格以及订购数量。(4)管理员的数据实体:用于记录管理员的各种基本信息,包括管理员编号、用户名以及密码。32.3数据库的物理设计该系统主要是由如下4个数据表组成:用户信息表、餐饮信息表、订单明细表以及管理员信息表,这些表都集中在一个数据库里面。表1用户信息表字段号字段名类型宽度索引1用户编号字符型50主键2用户名字符型50唯一3用户密码字符型504用户住址字符型2555电话号码字符型506电子邮箱字符型50表2餐饮信息表字段号字段名类型宽度索引1餐饮编号字符型50主键2餐饮名称字符型50唯一3餐饮价格浮点型104餐饮信息字符型300表3订单明细表字段号字段名类型宽度索引1订单编号字符型50 主键2餐饮名称字符型50 唯一3餐饮价格浮点型104订购数量整型10表4管理员信息表字段号字段名类型宽度索引1管理员编号字符型50主键2用户名字符型50唯一3密码字符型50第四章 系统详细设计与编码实现 4.1客户端模块的设计41.1 页面的搭建开发一个比较好的网站系统,良好的页面设计风格和完善的页面框架是相当重要的,网上订餐系统对于页面风格和布局方面的要求很好的体现了页面设计和布局的重要性。在该网上订餐系统的首页界面设计中,首先要将该系统中最为精美的餐饮以及最新餐饮公告信息等具有鲜明视觉的特色信息和动态信息完好的展现给每一位顾客,之后再为顾客提供查看网站销售记录、餐饮订单、购物车、餐饮分类查询等业务。该系统大概介绍了如何开发客户端的功能。由于顾客进入网上订餐系统后,首先会看到的是网上订餐系统的主页,而良好的页面设计效果将会吸引大量的客流量,进一步会增加网上订餐的销售量,所以良好的页面设计对吸引顾客光顾该系统起到至关重要的作用。该系统客户端的主页面主要分为三部分。本模块的具体实现如下:first.jsp:防灾来必饱网上订餐系统首页 该页面的构建应用了标记,实现了将首页分成了五部分。其中,top.jsp用来实现页面顶部功能;left1.jsp和right1.jsp的功能是使整体页面更加美观;left.jsp用来实现左边的系统导航功能,即将该页面能容显示出来;主体部分将用来显示main.jsp的内容。前台首页的界面布局图以及首页设计效果显示图如下图4-1和图4-2所示:图4-1前台首页界面布局图图4-2首页设计效果显示图41.2 用户登录模块的设计与实现该模块的主要功能就是对访问该系统网站的用户进行必要的用户名、密码、用户身份验证,只有符合该系统的要求的用户才能够登录系统订购餐饮以及进行相应的管理。针对第一次使用该系统的用户需要事先通过注册用户个人真实信息才能够登录系统界面。在系统界面中有一处方便用户注册的提示信息。用户填写的全部信息是由Form提交的,同时需要用到post方法,通过getParameter函数获得用户所提交的信息,而后就与数据库中的已存在的相应信息进行对应的比较再做出判断是否符合系统的要求。在用户登录过程中,要使用setAttribute函数将用户名以及用户编码保存在session对象当中,从而方便其它页面使用getAttdbute函数获取相应的session对象中的用户名以及用户编码。除此之外,该系统界面还提供出错提示处理,例如用户登录时用户信息的填写不正确等异常来进行适当的提示,以保证正确的操作处理。该系统的会员与管理人员登录系统所用的全都是这个界面。在用户登录界面时系统会自动根据当前用户的身份区别来确定登录之后的界面显示。在此界面中还添加了一个清楚输入信息的重置按钮,以此来方便用户重新输入用户信息。用户登录界面如图4-3所示。图4-3用户登录界面具体用户登录流程图如下图4-4所示:图4-4用户登录流程图41.3 用户注册模块的设计和实现 良好的注册及登录界面除了具备美观以外,还要保证其操作的实用性、高效性以及安全性。该系统从系统的人性化设计角度出发,根据一些著名的界面设计理念,设置了具备良好视觉效果的背景图片,带给用户良好的心情,以便接下来开心地订购餐饮,以下是详细设计及效果展示。用户只有通过注册后才可以成功登录该系统网站,并且需要通过登录模块的验证才可以进行网上订购餐饮。在该系统中,普通用户可以浏览餐饮信息并进行一些相应的餐饮查询操作,但对其他操作的权限受到一定的限制。只有在用户注册并且登录本系统后才能进行个人信息管理以及网上餐饮订购等一系列的操作。当用户希望注册时,该系统会清晰地为其提供一些相关注册信息,当用户提交自身的注册信息后,系统就会自动的对用户提交的信息进行验证,以保证正确的用户信息,其中验证信息包括用户名、密码不能为空并且确认密码和密码必须一致等,信息验证后,将注册信息提交给系统中的数据库,并且写入数据库。当用户在系统登录界面中的“用户名”和“密码”文本框中输入已经注册成功的用户名和密码后,单击“登录按钮。如果验证成功,用户就会以普通会员的身份进入网上订餐系统的主界面,并且在该界面中就可以订购自己想要的餐饮。该系统规定只有本订餐系统的会员才有上网订购餐饮资格,这样才可以进行购物车以及生成订单等操作。非会员只可以进行简单的餐饮浏览,公告信息,以及餐饮信息的查看。在餐饮首页界面的右上角有一个用户注册提示链接,用户可以通过点击该提示链接来进入用户注册页面,从而可以进行相应的注册操作。在此注册界面中,用户需要填写自己的真实信息,所填写的注册信息如下:真实姓名,用户密码,电子邮箱,联系电话以及用户地址等信息。用户注册界面如图4-5所示:图4-5用户注册界面在该模块当中应用到了JavaBean,用它来实现页面跳转功能以及实现与用户信息相对应的数据的存储功能。它的具体属性与数据库表中的用户信息相关的所有字段相对应,主要作用就是用来存储注册页面当中的所提交的表单数据。主要的jsp代码如下所示:通过以上关键代码将注册页面中表单相对应的信息赋给user_info类的对象属性中。用户注册流程图如图4-6所示:图4-6用户注册流程图用户注册成功之后,该系统将新用户的用户注册名以及用户编号存储到session里面,以便之后用户操作时可以进行用户验证,同时在用户登录时也会作同样的操作。41.4 登录界面的设计部署好相应系统以后,启动tomcat服务器,在浏览器地址栏中键入以下地址::8080/DoShopping/login.jsp,即出现该系统的对应登录界面,其中8080是在系统代码创建过程中所设置的tomcat服务器端口号。为体现人性化设计,符合现代绿色食品潮流,该系统在登录页面上主要以绿色为主调,给予用户的放松的心情来该系统订餐。登录界面的具体效果如下图4-7所示:图4-7登录界面图41.5 登录验证功能的设计该系统从用户信息的安全性角度出发,在登录的过程中,如果用户出现用户名或密码输入错误或空输入,系统会弹出对应的提示信息。该功能通过action触发的用户名和密码验证事件找到对应的servlet,通过servlet名字找到对应的servlet类,通过servlet调用service层的方法,然后再通过service调用相应dao层的方法,dao层通过hibernite与数据库交互进行相对应的查找及核对操作,然后根据在数据库中查找到的信息进行反馈对照,最终通过浏览器将结果呈现给用户。用户登录验证的效果图如下所示:图4-8用户名验证效果图图4-8用户密码验证效果图41.6 后台登录功能的设计 为了方便网站系统的管理,系统用户可以用不同的身份进行登录,根据登录之后所做的具体操作以及一些功能上的区别,登录系统的角色可以分为管理员用户登录和普通用户登录。而其中管理员用户登录的用户名以及密码是系统事先设定好的,用户名和密码都为admin,但普通用户使用该系统必须要先进行注册,注册成功后才可以进行登录界面操作。管理员用户的功能比普通用户功能的多了一些功能,它是在普通用户功能的基础之上的。如餐饮的添加以及订单的管理等功能。管理员登录界面效果图如图4-9所示:图4-9管理员登录界面效果图其具有验证功能的关键代码如下:String name=request.getParameter(name);String password=request.getParameter(password);Customer c=null;tryif(name.equals(admin)&(password.equals(admin)response.sendRedirect(listFoodStorel.jsp);/管理员页面System.out.println(管理员登录);elseSystem.out.println(客户登录);c=customerService.login(name,password);/获得的customer放入内存sessionHttpSession session=request.getSession();session.setAttribute(customer,c);/若有别的request就得用内部跳转response.setCharacterEncoding(UTF-8);response.sendRedirect(listFoodStore.jsp);/用户页面catch(CustomerServiceException e)e.printStackTrace();request.setAttribute(errorl,e.getMessage();request.getRequestDispatcher(login.jsp).forward(request,response);4.2订餐模块的设计42.1 餐饮列表功能的设计 一个关于订餐系统的网站能否可以吸引住顾客,充足丰富的餐饮资源和种类是不可缺少的必要因素。因此,该网上订餐系统的餐饮列表管理是整个系统中相当重要的一个环节。如何能够安全而有效的存储餐饮信息、如何可以合理地安排页面内容,从而促使用户方便而高效地查询到自己所需要订购的餐饮,这是餐饮列表管理所需要考虑的主要内容。前台餐饮列表管理分为餐饮分页查询、餐饮分类查询、餐饮销售查询等多个功能模块。该模块的大概框架如下图4-10所示:图4-10前台餐饮列表功能模块框架图一、餐饮查询模块的设计和实现在主页中有一个搜索框,在此中输入餐饮信息就可以进行餐饮信息的相应检索,检索出的餐饮信息将在相应的页面中显示。如果检索失败将会显示相应的提示信息。其关键实现代码如下所示:if (way.trim().equals(1) clause = where name like % + keyword + %; else if (way.trim().equals(2) clause = where author like % + keyword + %; else if (way.trim().equals(3) clause = where publish_name like % + keyword + %;int pagesize = 10;String page = request.getParameter(page);ECFoodMgr mgr = new ECFoodMgr();int count = mgr.getCount(clause); int totalNum = count / pagesize;if (count % pagesize) 0) totalNum += 1;if (page = null) page = 1;request.setAttribute(totalNum, new Integer(totalNum);Collection c = mgr.getAll(pagesize, Integer.parseInt(page), clause);request.setAttribute(c, c);try request.getRequestDispatcher(result.jsp).forward(request,response); catch (Throwable t) getServletContext().log(t.getMessage();二、餐饮分类显示模块的设计和实现该网上订餐系统可以对所出售的餐饮进行分类,通过餐饮的不同种类进行查询和显示。该系统功能主要是对餐饮信息进行模糊的查询,并将检索出的餐饮信息进行分页显示,最后将其所要反映的信息显示在主页中。该系统功能的关键实现代码如下所示:if (id = null) request.setAttribute(error, 失败!); else ECFoodMgr mgr = new ECFoodMgr();ECFoodfood = mgr.get(Integer.parseInt(id);request.setAttribute(food, food);try request.getRequestDispatcher(food_store/food.jsp).forward(request, response); catch (Throwable t) getServletContext().log(t.getMessage();三、餐饮具体信息显示模块的开发与实现之前说明了餐饮信息的分类功能开发,以下将会描述餐饮具体信息显示功能的开发以及实现。在部分界面的显示页中点击餐饮名称或相关餐饮的图片就能够进入该餐饮的具体信息显示界面中,其主要实现效果的界面图4-11如下所示,点击“放入购物车链接就会显示出如下图4-12所示的效果页面,可以看出它已经成功地完成将该餐饮放入购物车的功能。图4-11餐饮具体信息的显示界面图图4-12餐饮订购成功显示效果图其关键实现代码如下所示:protected void service(HttpServletRequest req, HttpServletResponse res)throws ServletException, IOException String type=req.getParameter(type);if(add.equals(type)if(req.getParameter(mid)!=null)int mealId = new Integer(req.getParameter(mid).intValue();MealEntity meal = new MealDao().findMealById(mealId);this.makeShoppingCart(req).addMeal(meal);else if(clearcart.equals(type)this.makeShoppingCart(req).clearShopCart();res.sendRedirect(shoppingCart.jsp);protected ShoppingCartUtil makeShoppingCart(HttpServletRequest req) ShoppingCartUtil shoppingcart=(ShoppingCartUtil)req.getSession().getAttribute(cart);if(shoppingcart=null)shoppingcart=new ShoppingCartUtil();req.getSession().setAttribute(cart, shoppingcart);return shoppingcart;elsereturn shoppingcart;当客户登录通过输入验证用户名以及密码并且点击“登录”按钮进入到订餐界面之后,该网上订餐系统会同时自动调用注册服务器RegisterServlet中的doPost()方法,同时对应的页面就会跳转到相关餐饮订购页面。用户可以用不同的身份登录界面就会显示出两种不同的页面:后台管理员餐饮列表页面以及普通用户餐饮列表页面。当中管理员餐饮列表页面却是在普通用户餐饮列表页面的相关功能的基础上再增加了一些功能,如添加餐饮功能和管理餐饮订单的功能。该页面会将许多相关的餐饮信息详细的罗列出来,用户对餐饮所进行的相应操作有搜索餐饮信息、输入客户所订购餐饮的数量并点击“订购此餐点”后便便会判断订购是否成功,同时将所订购的餐饮放入购物车当中,当所有操作完成后页面便进入相关的购物车界面。四、餐饮的搜索功能设计该系统可以实现餐饮的搜索功能,即当输入相关餐饮信息的关键字所包含在餐饮名称中时便可以将其检索出来。这样能够很大程度上给用户对餐饮的检索操作带来便利,同时也可以扩大餐饮的检索范围,使客户在不确定将要订购餐饮时,仍然可以订购的一些餐饮,或打算订购客户所需要的餐饮时,只要输入已知有关的关键信息就能够轻松地搜索出自己想要订购的餐饮。其关键实现代码如下所示:public class SearchFoodServlet extends javax.servlet.http.HttpServlet implementsjavax.servlet.Servlet public SearchFoodServlet() super();protected void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException response.setHeader(Pragma,No-cache);response.setHeader(Cache-Control,no-cache);response.setDateHeader(Expires, 0);String type = request.getParameter(type);String clause = ;String keyword = request.getParameter(keyword);String way = request.getParameter(way);if (type = null)|(type.equals(null) if (way.trim().equals(1) clause = where name like % + keyword + %; else if (way.trim().equals(2) clause = where author like % + keyword + %; else if (way.trim().equals(3) clause = where publish_name like % + keyword + %; else if (type.equals(discount) clause = where discount=1; else if (type.equals(short) clause = where stock 0) totalNum += 1;if (page = null) page = 1;request.setAttribute(totalNum, new Integer(totalNum);Collection c = mgr.getAll(pagesize, Integer.parseInt(page), clause);request.setAttribute(c, c);try request.getRequestDispatcher(result.jsp?type= + type + &keyword= + keyword+ &way= + way).forward(request, response); catch (Throwable t) getServletContext().log(t.getMessage();42.3购物车部分之前叙述

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论