基于JSP的网上订餐系统论文_第1页
基于JSP的网上订餐系统论文_第2页
基于JSP的网上订餐系统论文_第3页
基于JSP的网上订餐系统论文_第4页
基于JSP的网上订餐系统论文_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

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

文档简介

商务,网上医疗,网络游戏等。本文从饭店和消费者的需求出发,旨在为中小餐厅本文设计了基于JSP的网上订餐系统,文中采用了Jsp+javaBean+SQL三层架构台页面显示,实现了应用程序逻辑和页面分离使界面设计更简单。网上订餐系统功能实现了用户在线浏览食品信息、开通网上购物车、在线提交订单等功能。管理员通过本系统可以添加食品及食品分类、管理用户、管理订单等。与订餐行为相比,Inthe21stcentury,withtherapwidely.Suchaselectronicbusiness,onlinemedicaltreatmentpaper,fromthehotelandtherequirementsoftheconmeansforsmallandmedium-sizedrestauranttorealizerealizesthelogicofapplicationprogramandinformationonline,opentheSystemadministratorcanaddfoodmanagementorder,etc.Comparedwiththebehavioroforprovidestheusersandbusinesshigherefficiencyandmoreconvenient 11.1研究的意义和目的 11.2国内外研究现状 11.3本文主要工作 2第二章系统实现的主要技术 32.1技术方案的选取 32.1.1开发模式选择 42.2相关语言及开发工具介绍 42.2.1Jsp技术简介 42.2.2MyEclipse简介 62.2.3JSP应用服务器Tomcat 6 6第三章需求和可行性分析 3.1系统功能分析 3.2需求分析 3.3可行性研究 3.4流程分析 第四章网上订餐系统总体设计 4.1系统功能设计目标 4.2网络订餐系统功能模块划分 14第五章数据库设计 5.1数据库系统概述 5.2数据库表设计 5.3数据库连接 20第六章程序设计 6.1界面模块的划分 216.2后台程序的设计 256.2.1注册 256.2.2登陆 266.2.3显示所有菜品 第七章结束语 参考文献 1第一章绪论1.1研究的意义与目的贸易的全球化合internet网络的全球化特征使两者自然的走到了一起,形成了如今风靡全球的电子商务。电子商务是指应用电子信息技术和现代Internet网络技术在客户,厂商及其他交易主体之间进行的以信息为依托的商务活动,而购物网站正是这种活动的具体表现形式。随着时代的进步,上网的人数越来越多,网上订餐是人们的一大生活方式之一,网上订餐系统的完善合便捷将是现代社会必然的需求。本系统的设计目的是为了满足消费者只要通过互联网就可以足不出户的订购自己喜欢的菜品,改变传统商业交易,在互联网上进行交易,实现网上购买菜品。在我国,网上订餐最早出现在20世纪90年代末期,98年广州等大城市己出现网上订餐业务。2000年7月,北京丽华快餐公司为了探索餐饮业网络经营的道路,寻求新的经济增长点,也推出了网上订餐,成为探索网上订餐的先驱。目前网上订餐已逐渐普及,特别是在快餐业发达的东部地区。但目前网上订餐在我国并未成气候,很多大的餐饮公司网上订餐业务经营惨淡,很多网站每天只有几十份,经营较好的也只有几百份。如果单纯依靠网上订餐,公司根本无法生存。相具,却取得了相当不错的效益。他们随着网上订餐业务的扩大,建立了自己的订餐网站,但最初单纯的网上订餐却发展成了网上送花,网上送票等的网上送货网站或者综合类的饮食网站,已经偏离了网上订餐的初衷。在美国,食品网是目前美国网上订餐行业中的先驱。设在三藩市的食品网在99年已服务于全美一万三千间餐馆,有七十万的网上消费者。任何消费者只要轻松上网,输入邮区号码,就可以了解到在周围有哪些餐馆提供网上送餐服务,并可以浏览到这些餐馆的菜单,做出预订。仅在二分钟内,预订者就可以通过电子邮件得到确定。再过一会,就可以收到所订的美食了。食品网发言人说:在参加该公司网上联网销售的餐馆中,网上订餐的数量实际上比普通的电话订餐高出22%。此外,网上订餐中多功能性的服务还可以让消费者从容地上网浏览餐馆的菜单,或进行价格上的比较,来选择所需要的美食佳肴。目前,通过上网提供外卖和送餐服务的餐厅多于独立餐馆经营者,外卖与送餐服务占餐饮生意额的一半以上。全美餐饮消费者越来2越趋向于使用网上订餐的形式来购买外卖,特别是年轻一族的消费者。显而易见,网上订餐将成为餐馆业扩大生意的金矿源,有眼光的餐馆业主应该尽早考虑如何利总的说来,单独的网上订餐还不足以支撑网站的经营。目前的状况是规模大的不盈利,小的有盈利。原因是规模大的范围广,运营成本高,规模小的由于运营成写JavaBeans来进行后台业务逻辑控制,即JSP+JavaBeans+SQL三层模式完网络订餐系统就成为了当今应用软件的首选体系结构。通过虚拟的店面通过图片和文字来描述其所提供的商品,进行促销活动。商店销售的绝大多数是有形商品,提供可直接下单的“购物车”系统,所销售的商品大都便于运送。当顾客实现了在线购买后,商店将以邮寄或专门运送的方式将商品送达顾客手中,货到付款。第三章介绍了网上订餐系统的系统功能分析,第四章介绍了网上订餐系统的总体设计,第网络订餐系统设计网络订餐系统设计3第二章系统实现的主要技术B/S)体系结构的应用程序得到了空前广泛的应用。但是服务器之间的通讯,尤其是在不同平台上运行的服务器之间的通讯仍然不是一件容易的事情。因为大多数Internet应用程序都是以数据库为中心的,方便的访问多种数据源的能力也比以往任嵌入JAVA³代码的脚本语言,它比一般脚本语言的执行速度更快,由于JSP是基于JAVA语言的,所以它可以运行在UNIX/LINUX和WINDOWS平台上,在动态内容的解决问题中,还存在其他的解决方法,但是开发人员要掌握这些Web管理人员想要调整页面的显示,就不得不从新编辑用这种方法,编写带有动态内容的页面需要有很熟练的应用程序开发技巧和经验。的技术和工具,产生了一种新的,开发基于Web应用程序的方法,这个方法给予使4的表现。模式一技术实现了页面的表现和页面的商业逻辑相分离。大量使用模式一很复杂时,这种情况会变得非常糟糕。大量的代码会使整个页面变得常复杂。对于前端界面设计人员来说,这简直不可想象。这种情况在大项目中最为常见,这也造成了代码的开发和维护出现困难,造成了不必要的资源浪费,在任何项目中,这样模式二JSP+Servlet+JavaBeans中,Servlets技术是一种采用但是在实际的项目开发过程中,页面设计者可以方便地使用普通HTML工具来开发模式二技术结合了JSP和Servlet技术充分体现了两者的技术优点。在此模式中通过JSP来表现页面,通过Servlet来完成大量的事务处理。Servlet充当一个控制者的角色,并负责向客户发送请求Servlet表现,清楚的开发者角色划分,可以充分利用开发小组的界面设计人员,这些优势在大型项目开发中表现的尤为突出,使用这一模式,可以充分发挥每个开发者各自的特长,界面设计人员可以充分发挥自己的表现力,设计出优美的界面表现形式,设计人员可以充分发挥自己的商务处理思维,来实现项目中的业务处理。在大型项开发工具供应商,还有各种各样富有经验的开发团体进行合作。最后找到了一种平5变化的,例如请求帐户信息或者特定的一瓶酒的价格。生成内容的逻辑部分被封装在JavaBeans组件中,并且捆绑在小脚本中,所有的脚本在服务器端运行。如果核心绝大多数JSP页面依赖于可重用的,跨平台的组件(JavaBeans或者EnterpriseJavaBeansTM组件)来执行应用程序所要求的更为复杂的处理问题。开发人员能够共享和交换执行普通操作的组件,或者发布这些组件使更多的使用者或者客户团体能Web页面开发人员不会都是熟悉脚本语言的编程人员。装了许多功能,这些功构中,以便使用现存的工具和技巧,并且扩展到能够支持企业级的分布式应用中。Java编程语言并且所有的JSP页面都能被编译成为JavaServlet,JSP页面就具有Java技他们的产品中,我们可以选择不同的服务器和工具,因为更改工具或服务器并不影6宣布将其捐给开放源码组织Eclipse。目前Eclipse的市场占有率已经超过了Borland公Eclipse中三个最吸引人的地方:一是它创新性的图形API,即SWT/JFace,WT/JFace大大改善了Java在这方面的能力。二是它的插件机制。三是利用它的插件MyEclipse企业级工作平台(MyEclipseEnterp大多数人(大概29%)都喜欢将ApacheTomcatl⁸当作JSP应用服务器使用。有人可能会说,它之所以受欢迎是因为这个服务器是免费和开放源代码的,但是真正的原的开发成本开销等有力的竞争因素,但这不是决定因素。Tomcat结构非常合理,更Tomcat是一个免费的开源的Serlvet容器,它是Apache基金会的Jakarta项目中的Tomcat不仅仅是一个Servlet容器,它也具有传统的Web服务器的功能:也处理因此,开发人员使用JDBCAPI可以不必编写一个应用程序来访问Sybas7另外编写一个应用程序去访问Oracle数据库,再写一个应用程序访问的MYSQL。不但如此,使用Java语言编写的应用程序可以在任何支持Java的平台上运行,不必在不同的平台上开发不同的应用程序。(1)同一个数据库建立连接。(2)向数据库建立连接。(3)处理数据库返回的结果。JDBC是一种通用低层的应用程序编程接口,它在不同的数据库功能模块的层次上提供一个统一的用户界面。说JDBC是一处低级的API,是指它直接调用SQL命令,它比其他的一些数据库连接API要容易使用些,但它有同样可以作为更高级的,用户办面更友好的API或开发工具基础。很多可视化的Java开发工具,如VisualAgeForJava、VisualCafé、J++等都提供了基于JDBC的更面向用户的类和包,直接将关系数据库的表或视图映射为Java类,程序员通过可视化工具直接对Java对象进行操作,而真正需要的SQL调用则根据程序员发出的对对象的各种属性、方法的操作来自动产生。另一种使用JDBCAPI的方式为,用户程序可以提供一个界面(如菜单等)让用户选择对数据库进行的操作,选中一个任务后,提示用户输入一些必要的信息,然后根据用户的输入产生相应的数据库数据库SQL命令以及Java程序。通过这处方式,用户可以完成对数据库的操作,即使他并数据库访问的三层结构如图2.1所示,浏览器端程序要访问数据库,首先通过中间件,然后由中间件对数据库操作权限进行认证,认证通过才能对数据库进行操作。用户对数据库的存取权限认证是中间件中完成,对数据库的查询、插入、更新和删除操作等都封装在中间件中,该中间件位于服务器端,中间件对数据库进行操作后,再将处理结果通过Web服务器返回到浏览器端用户。这样,在用户端输入的用户名和密码,可以通过加密算法进行加密后在网络上传输,在中间件中进行解密认证,然后再进行数据库的存取操作,数据库存取权限的用户名和密码出现在位于服务器端的中间件中,这样就更加安全。本系统采用的正是这样的三层结构的数据库访问模式,如图2.2所示。8JavaApplet客户机(GUI)(事务)服务器DBMS专用协议在三层模型中,命令将被发送到服务的中间层,而中间层将SQL语句发送到数据库。数据库处理SQL语句并将结果返回中间层,然后中间层将它们返回用户,其模型如图2.2所示。因为中间层可以进行对访问的控制并协同数据库的更新,并且可以使用一个易用的高层API,这个API可以由中间层进行转换,转换成低层的调用。所以在许多种情况下,三层模型可以提供更好的性能,本系统中所采用的就是此种模型。JDBC是JAVA应用程序与数据库的沟通桥梁。它提供了三项服务功能:一、与行结果。当JDBC要与数据库建立连接前,首先,它必须先取得连接此数据库的JDBC驱动程序,Class.forName()即是在执行此项工作。建立数据库连接的第一步骤就是将JDBC驱动程序的类载入至JVM(JavaVirtualLMachine)中,本系统中利用java.lang.Class类内的forName()静态函数依据指定的类名称,将JDBC驱动程序载入进来。完成载入驱动程序的步骤后,必须使用java.sal.DriverManager类所提供的getConnection()静态函数,取得与数据库间的连接对象。此连接对象的类类型为java.sql.Connection,必须通过它才能将SQL指令传递给数据库,而执行结果也9果。在java.sql.Statement的sql对象中执行查了JDBCAPI,就不必为访问Sybase数据库专门写一个程序,为访问Oracle数据库又专门写一个程序,或为访问Informix数据库又编写另一个程序等等,程序员只需用JDBCAPI写一个程序就够了,它可向相应数据库发送SQL调用。同时,将Java语言和JDBC结合起来使程序员不必为不同的平对Java程序员而言是API,对实现与数据库连接的服务提供商而言是Java具有坚固、安全、易于使用、易于理解和可从网络上自动下载等特性,是JDBC扩展了Java的功能。例如:用Java和JDBCAPI可以发布含有applet的网页,而该applet使用的信息可能来自远程数据库企业也可以用JDBC通过Intranet将所有职员连到一个或多个内部数据库中(即使这些职员所用的计算机有可继续使用它们安装好的数据库,并能便捷地存取信息,即使这些信息是储存在不同数据库管理系统上。新程序的开发期很短。安装和版本控制将大为简化。程序员可只编写一遍应用程序或只更新一次,然后将它放到服务器上,随后任何人就都可第三章需求和可行性分析为了最终实现目标系统,必须设计出组成这个系统的所有程序和文件(或数据3.1系统功能分析(1)网站应该包含菜品搜索功能:按菜品名(模糊)查询。3.2需求分析概况,明确用户的各种需求,然后在此基础上确定新系统的功能。新系统必须充分考虑今后可能的扩充和改变。在这里我们需要了解用户有什么样的具体要求和对系可行性研究阶段的主要任务是在系统初步调查的基础上,对新系统是否能够实现和值得实现等问题做出判断,避免在花费了大量的人力和物力之后才发现系统不能实现或新系统投入使用后没有任何实际意义而引起的浪费,对新系统可行性的分而一个网络订餐系统可以为学生提供软件条件,这样学可以在网站上随意浏览,登录系统后则可挑选餐饮(可增加、删除、修改购物车上YY餐饮的类型),网站提供餐饮信息列表,最先添加的餐饮信息优先列表给顾客作为选购时的参考。(2)判断:顾客确定所购餐饮信息后,系统将判断该顾客是否注册,如果是,则可直接填写订单;否则,提示顾客登记注册。(3)提交订单:已选购的餐饮信息需填写订单细节。(4)注册:顾客可在公司的网站上注册后提交申请。(5)确认:后台管理将实时得到顾客的注册信息,通过电话及其他方式确认,当确认后,系统管理员可对该顾客提交的预定信息进行审核。(6)送货与付款:网上的每一份订单都将实时存入后台数据库,后台操作人员通过电话及其他方式确认,确认后将及时实施审核该订单:向顾客送货,货到付款,完成网上交易。流程图如图3.1所示。讯YN网络订餐系统设计网络订餐系统设计第四章网上订餐系统总体设计4.1系统功能设计目标管理人员可以设置相应的操作权限,增加系4.2网络订餐系统功能模块划分(6)查看订单:成功登陆的用户可以在该页修改已经订购的菜品。如果用户还(7)修改订单:成功登陆的用户可以在该页修改或删除已经订购的菜品。如果用户还没有注册就直接进入或者没有成功登陆就进入页面,将被连接到户登陆页(8)菜品查询:成功登陆的用户可以在该页查找自己需要的菜品。如果用户还(9)修改密码:成功登陆的用户可以在该页修改自己的密码。如果用户还没有或View,或者同时改变两者。只要Controller改变了Models的数据或者属性,所有依赖的View都会自动更新。类似的,只要Controller改变了ViViews的显示,可以用StrategyPattern实现。Model通常是一个调停者,可采用也处于WebTier,通常用Servlet来实现,即页面显示限于视图上数据的采集和处理,以及用户的请求,而不包括在视图上的业务流程的处理。业务流程的处理交予模型(Model)处理。比如一个组件,但它不能作为应用设计模型的框架。它仅仅告诉你按这种模型设计就可以利用某些技术组件,从而减少了技术上的困难。对一个开发者来说,就可以专注于业的层次很重要,这也是判断开发人员是否优秀的设计依据。抽象与具体不能隔得太个顶级类,告诉它的子类你只能做这些,但没法限制你能做这些。这点对编程的开发人员非常重要。业务模型还有一个很重要的模型那就是数据模型。数据模型主要指实体对象的数据保存(持续化)。比如将一张订单保存到数据库,从数据库获取控制(Controller)可以理解为从用户接收请求,将模型与视图匹配在一起,共同完成用户的请求。划分控制层的作用也很明显,它清楚地告诉你,它就是一个分发器,选择什么样的模型,选择什么样的视图,可以完成什么样的用户请求。控制层并不做任何的数据处理。例如,用户点击一个连接,控制层接受请求后,并不处理业务信息,它只把用户的信息传递给模型,告诉模型做什么,选择符合要求的视模型、视图与控制器的分离,使得一个模型可以具有多个显示视图。如果用户通过某个视图的控制器改变了模型的数据,所有其它依赖于这些数据的视图都应反映到这些变化。因此,无论何时发生了何种数据变化,控制器都会将变化通知所有的视三者之间的关系和各自的主要功能,如图4.1所示。网络订餐系统设计网络订餐系统设计 图4.1MVC模式组件类型间的关系及功能SqlServer|l!)是由Microsoft开发和推广的关系数据库管理系统,它最初是由Microsoft、Sybase和Ashton-Tate三家公司共同开发的,并于1988年推出了第一个6.5版本;1998年,SQLServer7.0版本和用户见面;SQLServer2000是Microsoft公司于2000年推出的最新版本。SQLServer特点:消息,管理登录安全性等。SQLServer也可以很好地与MicrosoftBackOffice产品(5)具有很好的伸缩性,可跨越从运行Windows95/98的膝上型电脑到运行菜单表menu,用户表userinfo,管理员表adm,订单表orderform,订单详情表餐馆表存放的是餐馆的名字,编号,所在地,如表5.1所示。列名数据类型长度允许空4食物表存放的是所有的菜品,主要组成由菜名,成分,喜欢的口味,图片的名称。例如菜名孜然牛肉,成分牛肉,口味孜然,如表5.2所示。列名数据类型长度允许空6菜单表存放的是用户所点菜品的餐厅编号,食物编号,食物的价格。该表可以通过餐厅编号,食物编号可以查询餐厅表,食物表的信息,如表5.3所示。列名数据类型长度允许空666用户表用于存放用户的基本信息,即注册过的用户才能将其表存在数据库中,以便于根据用户的信息来判断是否超过了用户的访问权限,在做用户验证的时候能够方便的从数据库获得用户的信息,如表5.4所示。列名数据类型长度允许空6该表存放的是管理员的账号,密码。管理员餐厅,菜单,如表5.5所示。列名数据类型长度允许空6邮寄地址,电话号码,订单状态是否已经提交。如表5.6所示。列名数据类型长度允许空861该表存放的餐馆编号,菜品编号,订单编号,数量,如表5.7所示。列名数据类型长度允许空6666Java数据库连接2|(JDBC)是一个标准SQL(StructuredQueryLanguage,结构化查询语言)数据库访问接口,可以为多种关系数据库提供统一访问。JDBC (JavaDataBaseConnection,Java数据库连接)也提供一种基准,据此可以构建更高级的工具和接口。创建数据库连接主要分为四个步骤:Stringdriver=“com.mysql.jdbc.Driver”;//此处连接的是mysql数据库Conn=DriverManager.getConnection(url,upwd,uname);Stmt=conn.CreateStrs=stmt.ExecuteUp程序设计网络订餐系统设计程序设计第六章程序设计单价元海份素名脂椒牛擦单价600元海份[订购菜名盘椒牛柳菜名酯顿牛柳单价600元/每份图6.1主界面模块用户注册是为第一次登录网站的用户所设计(1)用户注册包括:登陆账号密码并输入相应的验证码。程序设计网络订餐系统设计程序设计用户名:图6.2用户注册模块图6.3用户登录模块||网上订餐|网上订座L图6.4菜品查询5.菜品浏览模块【品名称】漏军【厘和】期耳④【验】地算【验】地算购物车可以让客户持续购物,订单保存在购物车中。用户选购的商品将会保存在用户个人的购物车,每一个注册过的用户都会有一个自己的购物车。当用户结算后购物车将会自动的清空。用户可以在购物车里重新选择是否要购买此商品,后悔图6.6所示。程序设计网络订餐系统设计程序设计7.后台菜单管理菜单管理土豆丝盖饭盖饭7.0¥修改册除刀削面面6.0¥修改册除拉面面6.0¥修改册障共5页下一页尾页图6.7后台菜单管理菜单查询后所显示的相近菜品,如图6.8所示。订购要 订购要只有注册过的用户才有选购商品的权限,用户必须认真填写自己的真实的信息,注册页面有严格的表单的验证,用户注册主要代码如下。HttpSessionsession=request.getSession();//获取请求Map<String,String>errMap=newHashMap<String,//下面代码是姓名,密码,验证码的验证,并把错误信息存放在集合中if(uname==nullluname.trim().length()<2lluname.trim()errMap.put("uname","用户名长度应该在2位到16位");}if(vcode==nulllvcode.trim().length()==0llvcode2==nulll!vcode.equalslgnoreCaseerrMap.put("vcode"request.setAttribute("upwd1",pl);request.getRequestDispatcher("reg").forward(request,response);//如果验证成功,用户信息添加到数据库中,并跳转到注册成功页面reg_success,如果账号重复,则重新跳转到注册页面UserBeanu=newUserBean();intuserno=newUserManager().getUsernoByUname(uname);//执行数据库操作request.getRequestDispatchrequest.getReques

温馨提示

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

评论

0/150

提交评论