基于web的网上订餐订座系统.docx
《基于web的网上订餐订座系统.docx》由会员分享,可在线阅读,更多相关《基于web的网上订餐订座系统.docx(24页珍藏版)》请在冰豆网上搜索。
基于web的网上订餐订座系统
摘要
基于B/S架构的网上订餐系统是基于MyEclipse这个可以用于构建集成Web和应用开发工具的平台,以Tomcat6.0作为服务器。
构建一个方便快捷的网上订餐网站,它改变了过去人们生活上经常打电话到饭店预订餐桌和现场点菜的习惯,人们通过这个网站可以预先了解该饭店的菜式,可以根据自己的爱好进行预先点菜和预定桌子,还可以通过网站的留言板发表自己的评论,提出自己的建议。
大大的节省了人们在现场点菜时候的时间,也解除了人们为了预订餐桌而费力找电话号码的烦恼,在方便顾客的通知也有利于饭店管理员对饭店的经营和管理,还可以直接从留言板了解顾客的需求,采纳顾客的建议。
关键词:
MyEclipse7.5;网上订餐;网上订座
Abstract
On-linesubscribesmealthesystembasedontheB/SconstructionismayuseinbasedonMyEclipsethisconstructingintegratesWebandtheapplicationdevelopmentkit'splatform,5.0takestheserverbyTomcat.Constructsaconveniencequicklyon-linetosubscribemealthewebsite,itchangedthepastpeopletolivetelephonesfrequentlythecustomwhichandorderedfoodonthespottothehotelreservationdinnertable,thepeoplethroughthiswebsitemightunderstandinadvancethishotelthecuisine,mightactaccordingtoownhobbytocarryonordersfoodinadvancewiththepredeterminedtable,butmightalsomakeowncommentarythroughthewebsitemessagecenter,putforwardownproposal.Timebigsavedthepeopletoorderfoodthetimeinscene,alsorelievedthepeopletoorderthedinnertabletotakethetroubletolookforthetelephonenumbertheworry,wasfacilitatingcustomer'snoticetobealsoadvantageoustothehotelmanagertothehotelmanagementandthemanagement.
KeyWords:
MyEclipse7.5;On-linesubscribesmeal;On-linereservations
1.绪论
随着信息社会的到来,社会的发展趋向于多远化,时代越来越进步,在这个知识经济时代最为突出的是计算机技术与互联网的飞速发展,其带给我们的冲击更是越来越大,各个行业和部门都开始加强自己的计算机操作和运用的能力,以及通过互联网改变自己的工作模式和生活模式。
随着互联网技术的不断发展,基于浏览器/服务器(Browser/Server简称B/S)体系结构的应用程序得到了空前广泛的应用。
但是服务器之间的通讯,尤其是在不同平台上运行的服务器之间的通讯仍然不是一件容易的事情。
因为大多数Internet应用程序都是以数据库为中心的,方便的访问多种数据源的能力也比以往任何时候都更加重要。
JSP无疑可以轻松地实现这类功能,JSP技术是一种服务器端的HTML页面中嵌入JAVA代码的脚本语言,它比一般脚本语言的执行速度更快,由于JSP是基于JAVA语言的,所以它可以运行在UNIX/LINUX和WINDOWS平台上,是一种难得的动态网页开发语言。
商业领域受到的冲击与其他领域受到的冲击相比,更是显示出计算机技术和互联网对商业领域的巨大影响。
面对这一伟大变革的时代,商人们更是抓住机会,迎接挑战,勇于创新,改变固有的经营模式。
如今,人们通过互联网获取信息和学习,互联网已经成为人们生活中必不可少的一部分了,它正在潜移默化地影响着人们的生活,改变着人们的思想。
俗话说“民以食为天”,吃饭点菜、订餐桌成为人们日常生活必须的环节。
在注重效率的今天,节省时间和方便快捷是每个人都想达到的目标,而有效管理则是每一个经营者都希望得到的策略。
对于上班一族,每天都行色匆匆,连去饭店吃饭是时间都是匆匆忙忙的,万一到了饭店才发现菜式不合自己的喜好或者已经没有空闲的餐桌,那么就大大的浪费了时间。
而且现场点菜也需要时间,占用的餐桌也会更久,这将影响饭店的利益。
目前很少饭店有专门的网站用于预订桌子和预先点菜的,为了人们更好地安排时间更好的工作和更好的生活,为了商家能获取更大的利益,所以开发了这个网上订餐系统。
2.系统概述
本章节中,我们将全面对网上订餐系统的设计和应用进行全面分析,全面介绍它的产生背景、系统可行性分析、系统的构思、特点及其所能实现的功能等方面内容。
1.1系统背景
随着社会的发展和时代的进步,人们通过互联网获取信息和学习,互联网已经成为人们生活中必不可少的一部分了。
在注重效率的今天,节省时间和方便快捷是每个人都想达到的目标,而有效管理则是每一个经营者都希望得到的策略。
对于上班一族,每天都行色匆匆,连去饭店吃饭是时间都是匆匆忙忙的,甚至到了饭店才发现菜式不合自己的喜好或者已经没有空闲的餐桌,大大的浪费了时间,很多人工作的需要,要吃饭应酬,却愁着订桌和菜式,有的人甚至在宴请宾客之前要话时间到实地去了解一番。
然而人们在现场点菜也需要时间,占用的餐桌也会更久,这将影响饭店的利益。
目前很少饭店有专门的网站用于预订桌子和预先点菜的,为了人们更好地安排时间更好的工作和更好的生活,为了商家能获取更大的利益,所以开发了这个网上订餐系统。
1.2需求分析
随着经济的快速发展,B2C电子商务越来越受到人们的关注。
人们对生活质量的追求不断提高,由于人们工作,学习的关系,常常无法正常吃饭,随着网络的普及,网上订餐业务在中国开始盛行,人们也通过网络订餐的方式获得自己需要的食物。
这样既节省了时间,也可以为广大用户提供更多的口味。
网上订餐类网站,已经如雨后春笋般的出现在了个大城市。
特别在公司,企业内部,团体订餐已经成为了趋势。
同时,随着全国人民的精神、物质和文化生活高度的提高,人们已经不在仅仅停留在吃饱的程度,不但要吃饱,还要吃好,而且口味也越来越挑刺,正因为如此网络订餐业务的出现,正迎合了这些人的口味,他们不但省去了自己做饭的麻烦,而且也能寻找和发现新的菜品,品尝不同风格的菜品,网络订餐业务在中国有着极大的发展空间以及良好的背景。
而当代大学生,白领工作人士作为社会中的重要群体,他们对饮食的要求都在不断提高,饮食在他们生活中起着重要作用。
因此,面向大学生和都市白领人士的网络订餐网站的设计有着良好的现实意义。
订餐管理系统无论是在应用的深度还是广度都是一个逐步发展的过程。
在开发一个局部系统时要充分考虑到局部系统和整个目标系统之间的相容性和完整性,以利于今后整个系统的建立。
进货订单管理系统从总体上把握系统的设计,在具体的设计实现上我们围绕着三个方面的需求展开,即管理者、系统使用者、系统维护者。
1.3可行性分析
1.3.1技术可行性
为实现本网站的程序设计,开发该软件采用IE浏览器作为操作平台实现与用户的交互工作,同时使用主流的java面向对象编程语言和javaweb技术,MyEclipse_7.5开发平台和Tomcat6.0服务器创建该网站,在技术上是可行的。
1.3.2经济可行性
随着互联网应用深入人们的生活,人们越来越重视工作效率和时间管理,网上购物的人也越来越多,网上订餐系统,在客户端于用户进行交互,具有运行效率高、容易维护、扩展能力强、技术规范等特点,在经济上完全是可行的。
1.3.3操作可行性
现今社会,互联网已经成为人们生活中必不可少的部分,而java是面向对象的主流编程语言,MyEclipse开发环境,是一个成熟的可扩展的体系结构,可以安装不同的插件,支持C/C++、java、PHP等多种编程语言,开放源代码、为编程人员提供一流的java集成开发环境,因此该系统是具有操作可行性。
1.4系统构思和特点
1.4.1开发设计思想
网上订餐是用JSP+JavaBean开发模式进行的,JSP页面独自响应请求并将处理结果返回客户,所有的数据通过Bean来处理JSP实现页面的表现,模式一技术实现了页面的表现和页面的业务逻辑相分离。
这种不能满足大型项目的需要,但是可以较好的满足小型应用,因为本网站是一个小型网站,所以用这个JSP+JavaBean模式会比较合适。
1.4.2系统特点
(1)开放性、可扩充性、可靠性原则
开放系统是生产各种计算机产品普遍遵循的原则,遵循这种标准的产品都符合一些公共的、可以相互操作的标准,能够融洽的在一起工作。
开放系统使得各种类型的网络和系统互连简单、标准统一,容易扩展升级。
从而适应广大用户需求的多变性和产品的更新换代。
(2)良好的用户操作界面
用户操作界面美观、方便、实用,使用户能在较短的时间内掌握其使用方法。
(3)实用性原则
任何系统的设计都要考虑其实用性,系统开发的目的是为了实现业务处理自动化、规范化,提高工作效率,减轻工作人员的劳动强度,减少开支。
(4)工作平台设计原则
能适应不同的操作平台,不同的网络。
2.总体设计
本网站主要是为了方便顾客利用互联网进行订餐而开发设计的工具。
要求系统界面友好,使用简单。
2.1系统模块划分
(1)用户管理模块
(2)订座模块。
2.2运行环境
2.2.1硬件环境
数据库:
SQLServer2005数据库
开发工具:
MyEclipse6.0开发平台和Tomcat6.0服务器
开发语言:
java
3系统数据库设计
3.1SQLServer2005数据库
3.1.1SQLServer2005数据库简介
SQLServer2005是一个分布式的关系型数据库管理系统,具有客户/服务器体系结构。
SQLServer2005是一个应用广泛的数据库管理系统,具有许多显著特点,例如,用户喜欢的易用性、适合分布式组织的可伸缩性、用于决策支持的数据仓库功能、与许多其他服务器软件紧密关联的集成性、良好的性能价格比等。
SQLServer2005系统中,数据库的管理采取了先进的动态管理机制,数据库的大小可以随着数据量的变化而缩小或者扩大。
另外,用户数据都是非常重要的和保密的,这些数据存储在SQLServer2005系统中有绝对的安全性保障,有完善的用户帐户策略和许可机制,只有经过授权的用户才能访问系统,并且执行相应的操作和访问允许访问的数据。
XX的用户既不能执行相应的操作,也不能访问数据库中的相应数据。
SQLServer2005系统具有强大的网上功能,可以在Internet上发布数据库中的数据。
在SQLServer2005系统中,允许用户简单的使用一些向导和工具把数据库的数据发布到网络上,并且可以根据需要来调度修改已经发布的数据。
3.1.2SQLServer2005数据库的主要特点和功能
一、SQLServer2005的主要特点如下:
(1)高性能设计,可充分利用WindowsNT的优势。
(2)系统管理先进,支持Windows图形化管理工具,支持本地和远程的系统管理和配置。
(3)强壮的事务处理供呢个,采用各种方法保证数据的完整性。
(4)支持对称多处理器结构、存储过程、ODBC,并具有自主的SQL语言。
SQLServer以其内置的数据复制功能、强大的管理工具、与Internet的紧密集成和开放的系统结构为广大的用户、开发人员和系统集成商提供了一个出众的数据库平台。
具有较好的集成开发功能。
可以采用VBA(VisualBasicApplication)编写数据库应用程序。
二、数据库设计的步骤
数据库的设计一般要经过:
分析建立数据库的目的、确定数据库中的表、确定表中的字段、确定主关键字以及确定表之间的关系等步骤,如图3-1所示:
图3-1数据库设计步骤框图
3.2数据库表的设计
3.2.1概述
表是数据库中用来存储数据的对象,是整个数据库系统的基础。
SQLServer2005允许一个数据库中包含多个表,用户可以在不同的表中存储不同类型的数据。
通过在表之间建立关系,可以将不同表中的数据联系起来,以便供用户使用。
在数据库中,要为每个表确定主键,还可以根据表的性质确定不同的外键。
要根据项目的功能设定数据库表,规范到每一个属性和字段,进一步确定项目的哪一个功能会操作到哪一张表,每个表所包含的信息都应该属于一个对象的内容,因此,在确定所需要的字段时,要注意每个字段包含的内容应该与表的主题相关,而且应包含相关主题所需的全部信息。
3.2.2数据库表
系统关键数据表如下:
(1)用户表(users):
用户登录是需要用户名和密码,所以用户数据表中必须包含用户名(uname)、密码(upass)两个信息,还有些其他的用户信息,比如power指的是用户权限(管理员还是非管理员)。
从功能上数据库表设计如表3.1。
表3.1用户表
(2)菜品信息表(food):
菜品信息表主要描述菜品信息,如:
菜品ID号(foodid),此ID号为系统自动生成;菜品名称(fname);菜品价格(price);所属分类ID(categoryId);图片信息(images)。
商品信息表详细描述如表3.2
表3.2菜品信息表
(3)订座菜单表(st):
客户订餐的一些相关信息,如stId指的订餐ID号,此ID和是系统自动生成的;菜品名称(fname);订购数量(num);价格(price);座位编号(seatId)等,具体描述表3.3
表3.3订座菜单表
(4)订单表(orders):
订单表有一下描述信息。
订单ID(ordersId),订购人姓名(name),地址(address),联系电话(tel),价格(price),备注信息(context)等,具体描述如表3.4所示:
表3.4订单表
(5)订单菜单表(Shop)具体描述如表3.5所示:
表3.5订单菜单表
(6)订座表(Seat)具体描述如表3.6所示
表3.6订座表
(7)菜品分类表(Category)具体描述如表3.7所示
表3.7订座表
3.3系统体系结构分析
3.3.1C/S结构与B/S结构
客户/服务器(CLIENT/SERVER)结构,是将一个系统分解为前台的客户应用程序和后台的服务器部分,通过网络连接应用程序和服务器。
这种结构的核心是客户应用程序向服务器发送服务请求,服务器完成后端处理。
服务器是一台管理数据资源并执行数据库引擎功能(加数据存储、操作和保护)的计算机,处理结构由服务器发回客户应用程序,由客户应用程序对处理结构进行显示。
这种结构的优点是只有处理后的数据在网络中传递,大大减轻了网络的负担,而且由于通过服务器端统一管理数据,易于保证数据的一致性。
B/S结构,即Browser/Server(浏览器/服务器)结构,是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。
在这种结构下,用户界面完全通过WWW浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现,形成所谓3层结构。
B/S结构利用不断成熟和普及的浏览器技术实现原来需要复杂专用软件才能实现的强大功能,并节约了开发成本,是一种全新的软件系统构造技术。
这种结构更成为当今应用软件的首选体系结构,.net也是在这样一种背景下被提出来的架构,JAVA技术已经是很成熟的应用了。
3.3.2B/S与C/S的优越性
C/S(Client/Server,客户端/服务器)是建立在局域网的基础上的,B/S是建立在广域网的基础上的。
传统的C/S体系结构虽然采用的是开放模式,但这只是系统开发一级的开放性,在特定的应用中无论是Client端还是Server端都还需要特定的软件,没能提供用户真正期望的开放环境;B/S结构则不同,它的前端是以TCP/IP协议为基础的,企业内的WWW服务器可以接受安装有Web浏览程序的Internet终端的访问,作为最终用户,只要通过Web浏览器,各种处理任务都可以调用系统资源来完成,这样大大简化了客户端,减轻了系统维护与升级的成本和工作量,降低了用户的总体拥有成本。
总的来说,两者有如下差别:
(1)硬件环境不同
C/S一般建立在专用的网络上,小范围里的网络环境,局域网之间再通过专门服务器提供连接和数据交换服务。
B/S建立在广域网之上的,不必是专门的网络硬件环境,例如电话上网,租用设备,信息自己管理,有比C/S更强的适应范围,一般只要有操作系统和浏览器就行。
(2)对安全要求不同
C/S一般面向相对固定的用户群,对信息安全的控制能力很强。
一般高度机密的信息系统采用C/S结构适宜,可以通过B/S发布部分可公开信息。
B/S建立在广域网之上,对安全的控制能力相对弱,面向是不可知的用户群。
(3)对程序架构不同
C/S程序可以更加注重流程,可以对权限多层次校验,对系统运行速度可以较少考虑。
B/S对安全以及访问速度的多重的考虑,建立在需要更加优化的基础之上。
(4)软件重用不同
C/S程序可以不可避免的整体性考虑,构件的重用性不如在B/S要求下的构件的重用性好。
B/S对的多重结构,要求构件相对独立的功能,能够相对较好的重用。
就如买来的餐桌可以再利用,而不是做在墙上的石头桌子。
(5)系统维护不同
系统维护是软件生存周期中,开销大,相当重要C/S程序由于整体性,必须整体考察,处理出现的问题以及系统升级难,可能是再做一个全新的系统。
B/S构件组成方面构件个别的更换,实现系统的无缝升级。
系统维护开销减到最小,用户从网上自己下载安装就可以实现升级。
(6)处理问题不同
C/S程序可以处理用户面固定,并且在相同区域,安全要求高的需求,与操作系统相关,应该都是相同的系统。
B/S建立在广域网上,面向不同的用户群,分散地域,这是C/S无法作到的,与操作系统平台关系最小。
(7)用户接口不同
C/S多是建立在Window平台上,表现方法有限,对程序员普遍要求较高。
B/S建立在浏览器上,有更加丰富和生动的表现方式与用户交流,并且大部分难度减低,降低开发成本。
(8)信息流不同
C/S程序一般是典型的中央集权的机械式处理,交互性相对低。
B/S信息流向可变化。
(9)成本降低,选择更多
软件系统的改进和升级越来越频繁,B/S架构的产品明显体现的更方便的特性。
无论用户的规模有多大,有多少分支机构都不会增加任何维护升级的工作量,所有的操作只需要针对服务器进行,如果是异地只需要把服务器连接上网即可立即进行维护和升级,这对人力、时间、费用的节省是相当惊人的。
传统的C/S结构的软件需要针对不同的操作系统系统开发不同版本的软件,由于产品的更新换代十分快,这么高的代价和低效率已经越来越不适应了。
在JAVA这样的跨平台语言出现之后B/S架构更是飞快地普及起来了。
(10)面向电子商务时代的技术
将来所有的应用系统几乎都在互联网上运行,企业发展电子商务也是不可避免的,而B/S架构的软件则代表了将来的技术,只要连上互联网或内部广域网就可以与全球的客户相连,与各地的分支机构相连。
综上所述,可以看出B/S结构的众多优点,比其他结构的先进性,无论是办公自动化管理系统,人力资源管理系统,客户关系管理系统,ERP等等,发展的趋势是不断融合,结合当今这些方面的发展,我们可以得出这样的结论:
采用统一的B/S结构开发的产品无论是现在还是将来都是最好的选择,而在今后的实际工作开发中,则应该首选B/S结构。
3.4系统结构设计
将功能分为前台和后台两类,因此模块也分为两大类:
前台模块和后台模块。
图3-1为系统模块总图:
图3-1系统模块总图
4系统详细设计
4.1本系统中的连接方式
在本TOMCAT中配置了连接池,连接程序用JavaBean方法封装,放在WEB-INF\classse目录下。
importjava.sql.*;
importjavax.sql.*;
importjavax.naming.*;
publicclassDb{
publicConnectioncon;
publicStatementstmt;
publicResultSetrs;
publicPreparedStatementpstmt;
publicstaticinterror=0;
publicstaticsynchronizedConnectiongetCon()throwsException{
Contextctx;
DataSourceds;
try{
ctx=newInitialContext();
ds=(DataSource)ctx.lookup("java:
comp/env/jdbc/webmail");
System.Err.println();
System.err.println("数据连接+"+(++error));
returnds.getConnection();
}catch(SQLExceptione){
System.out.print(e);
throwe;
}
catch(NamingExceptione){
System.out.print(e);
throwe;
}
}
publicStatementgetStmtread(){
try{
con=getCon();
stmt=con.createStatement(java.sql.ResultSet.TYPE_SCROLL_INSENSITIVE
java.sql.ResultSet.CONCUR_READ_ONLY);
}catch(Exceptione){
System.out.println("getStmtread");
System.out.println(e.getMessage());
}
returnstmt
4.1.1核心算法实现——分页显示
int i;
一页显示的记录数 = 10;
取得待显示页码
PageSet:
strPage = page;
if(strPage==null)//page参数为空时,此时显示第一页数据
{
待显示页码 = 1;
}
else{
待显示页码 = Integer.parseInt(strPage);//将字符串转换成整型
if(待显示页码<1) 待显示页码 = 1;
}
执行SQL语句并获取结果集
ResultSetrs = sqlStmt.executeQuery("SQL”);
获取记录总数
rs.last();
记录总数 =