无线点餐系统设计文档

合集下载

无线点餐软件设计说明书

无线点餐软件设计说明书

无线点餐系统软件设计说明书专业名称:计算机科学与技术作者姓名:指导教师:***无线点餐系统小组组长:成员:目录一、引言 (3)1.1编写目的 (3)1.2项目背景 (3)1.3定义 (3)1.4参考资料 (3)二、总体设计 (3)2.1需求概述 (3)2.2软件结构 (4)2.2.1系统总体流图 (4)2.2.2系统流图 (5)三、程序描述 (5)3.1点餐模块 (5)3.1.1功能流程图 (5)3.1.2功能描述 (6)3.1.3界面设计 (6)3.2结账模块 (6)3.2.1功能流程图 (6)3.2.2功能描述 (7)3.2.3界面设计 (7)3.2.4存储分配 (7)3.3菜系管理模块 (7)3.3.1功能流程图 (8)3.3.2功能描述 (8)3.3.3界面设计 (8)3.3.4模块内部逻辑 (9)3.3.5存储分配 (9)3.4菜品管理模块 (9)3.4.1功能流程图 (9)3.4.2功能描述 (10)3.4.3界面设计 (10)3.4.4模块内部逻辑 (10)3.4.5存储分配 (11)3.5餐桌管理模块 (11)3.5.1功能流程图 (11)3.5.2功能描述 (11)3.5.3界面设计 (12)3.5.4模块内部逻辑 (12)3.5.5存储分配 (12)3.6基础信息设置 (12)3.6.1测试范围 (13)3.6.2测试方法 (13)四、运行环境规定 (13)一、引言1.1编写目的无线点餐系统详细设计是设计的第二个阶段,这个阶段的主要任务是在无线点餐系统概要设计书基础上,对概要设计中产生的功能模块进行过程描述,设计功能模块的内部细节,包括算法和详细数据结构,为编写源代码提供必要的说明。

概要设计解决了软件系统总体结构设计的问题,包括整个软件系统的结构、模块划分、模块功能和模块间的联系等。

详细设计则要解决如何实现各个模块的内部功能,即模块设计。

本文档的读者主要是已有一定的电脑水平的工作者。

无线点餐系统课程设计

无线点餐系统课程设计

题目10 无线点餐系统一、设计目的传统的餐饮行业,点餐过程都是由餐厅服务员人工完成的。

通常的过程是这样的,客人进入餐厅后,选择好桌位并开始点餐,服务员等待客人点餐完成,将客人的点餐内容送到厨房,由厨师下厨做菜。

这一过程对于一个很小的餐馆来说没有问题,但是如果餐馆比较大或客人比较多,客人的等待时间就会比较长。

为了解决这个问题,今年出现的无线点餐系统,该系统一般有无线终端(一般是一个PDA)、无线路由器和后台服务器组成。

这种技术架构很成熟,但是存在一个弊端就是PDA的价格较高,并且PDA 只能作为点餐使用,这无形中增加了系统成本,也造成了资源的浪费。

利用WinCE 手机嵌入式系统,我们可以在其中开发一套客户端软件来完成点餐功能。

这样既避免了资源的浪费,又能够提高大型餐饮企业的工作效率。

二、开发环境程序在Visual Studio 2005开发环境中编写与编译,使用C++与MFC作为开发的语言环境。

利用SQLite数据库实现数据表的建立。

三、设计任务及要求3.1 系统总体结构3.2 系统功能通过对系统进行需求分析,我们了解了系统的需求。

通过系统物理架构和技术选择,我们确定了项目的可行性。

接下来我们将对系统功能进行介绍。

(1) 系统的登录功能为了增强系统的使用安全,使用系统之前必须登录系统,登录过程是通过网络,在后台的数据库通过用户名称和密码进行查询。

注册用户方可使用该系统。

界面如图3-1所示。

(2) 系统主菜单系统登录成功之后便进入了系统主菜单,主菜单通过一个图形菜单的方式来展现系统的功能,单击某个选项便进入该功能的操作界面。

运行界面如图3-2所示。

图3-1 系统登录界面图3-2 系统主菜单(点菜定台转台结台)(3) 点餐功能点餐功能模块是本系统中一个重要的功能模块,该模块要完成的任务是操作员输入顾客的点餐信息,通过网络及时地将点餐的信息传送到后台服务器,进而在厨房终端显示,有利于厨师尽快下厨做菜。

该功能包括了三部分:开桌、点菜和下单。

无线自助点餐系统服务端设计

无线自助点餐系统服务端设计

无线自助点餐系统服务端设计随着科技的不断发展,无线自助点餐系统在餐饮行业逐渐普及。

无线自助点餐系统通过使用智能终端设备,顾客可以方便地选择菜品、下单和支付,提高了顾客的用餐体验。

而服务端的设计是无线自助点餐系统的核心,本文将介绍无线自助点餐系统服务端的设计。

首先,无线自助点餐系统服务端需要具备稳定的网络连接。

服务端通过与智能终端设备进行通信,接收顾客的点餐请求,将菜品信息和订单信息传输给后台处理。

因此,服务端需要保持稳定的网络连接,以确保顾客的点餐请求能够及时准确地传递。

其次,无线自助点餐系统服务端需要具备高效的数据库管理能力。

服务端需要将菜品信息、顾客信息、订单信息等存储在数据库中,并能够快速地对数据进行查询和管理。

同时,服务端还需要实现订单的实时更新和状态的变更,以便后台厨房能够及时准确地接收到顾客的点餐信息。

另外,无线自助点餐系统服务端还需要实现与后台厨房的无缝对接。

一旦顾客下单,服务端需要将订单信息传输给后台厨房,以便后台厨房能够准备和制作菜品。

服务端需要实现订单的即时推送和厨房的即时响应,以提高菜品的制作效率和准确度。

此外,无线自助点餐系统服务端还需要考虑到多用户同时访问的情况。

在高峰时段,可能会有多个顾客同时使用无线自助点餐系统进行点餐,服务端需要具备高并发处理能力,以确保顾客的点餐请求能够及时处理和响应。

最后,无线自助点餐系统服务端需要具备安全稳定的运行能力。

服务端需要采取相应的安全措施,保护顾客的个人信息和支付信息不被泄露和滥用。

同时,服务端还需要保证系统的稳定性和可靠性,以避免因系统故障导致的服务中断和数据丢失。

综上所述,无线自助点餐系统服务端的设计是一个关键的环节。

服务端需要具备稳定的网络连接、高效的数据库管理能力、与后台厨房的无缝对接、高并发处理能力以及安全稳定的运行能力。

只有具备这些特点,无线自助点餐系统才能够为顾客提供便捷、高效、安全的点餐服务。

餐厅无线点菜方案

餐厅无线点菜方案

无线餐饮管理系统为了承诺我们义无返顾马不停蹄希望我们的产品和服务能为您带来方便和快捷管理系统组成及结构简图系统主要由无线点菜机、无线信号接收基站、连结成局域网的管理计算机、触摸屏、热敏打印机、管理软件等部分组成。

根据用户的具体要求,设置了若干查询计算机子系统。

1.无线点菜手机本产品是继IC卡、条码(红外)、PDA之后,引进手机技术、自主开发的第四代点菜机。

CT-206电子扫描手持点菜机1.CPU:32bit处理器2.FlashRom:8Mbit3.无线射频RF通信方式:通信速率>19.2k通信距离>1km(开阔地)接收灵敏度:-105dBm4. 有线通信方式:支持RS-232和USB2.0、USB1.1通信速率>19.2k4.RF射频标签识别(选配):支持EM卡频率125kHz识读距离≥5cm识读时间≤1秒6.显示屏幕:128*160 彩色液晶显示模块65536色7.外壳UV喷涂、水晶按键美观、耐磨损,按键蓝色背光字体清晰8.电池:3.7V 可充电锂离子电池9.待机时间:≥10天10.外型尺寸:110 X 53 X 18 mm 长X 宽 X 高单位:毫米外型美观大方风格与著名移动电话厂家的高端商务手机相像。

功能:1.房台服务:开台、换台、并台、清台、修改就餐人数等2.点菜服务:点菜、退菜、催菜、缓菜、套餐、全单备注等3.菜品查询:多种菜品查询方式、拼音、数字、汉字输入方式4.数据下载:支持有线、无线菜谱等数据的下载。

餐厅无线点菜方案点菜机功能简介34结构图及预算迎宾、客户管理计算机海鲜打印划菜打印收银打印财务查询凉菜打印无线通讯 手持机计算机餐饮管理系统结构简图无线通讯 无线通讯 无线通讯 无线通讯 无线通讯交换机收银计算机基站总经理查询计算机 面点打印热菜打印短信群发器固定电话来电盒2.基站外型尺寸:130(H)X120(W)X26(D )单位(毫米)。

电源:AC220v无线传输:全方位覆盖,室内可靠通信半径300米。

餐饮V6无线点餐管理系统方案设计

餐饮V6无线点餐管理系统方案设计

餐饮管理系统V6系统方案目录1. 前言 (4)1.1. 行业经验 (4)2. 系统网络架构 (5)2.1. 酒楼网络架构图: (5)2.2. 酒楼网络架构解析: (5)2.3. 快餐网络架构图: (6)2.4. 快餐网络架构解析: (6)3. 系统功能列表 (7)3.1. 前台营业: (7)3.1.1. 酒楼营业功能列表: (7)3.1.2. 快餐营业功能列表: (8)3.2. 会员管理: (9)3.3. 厨房打印监控: (10)3.4. 库存管理: (10)3.5. 报表系统(数据查询及分析): (11)4. 系统流程: (12)4.1. 库存管理流程: (12)4.1.1. 库存管理流程图: (12)4.1.2. 库存管理流程分析: (12)4.2. 前台管理流程: (13)4.2.1. 酒楼营业流程图: (13)4.2.2. 酒楼营业流程分析: (13)4.2.3. 快餐营业流程图: (14)4.2.4. 快餐营业流程分析: (14)4.2.5. 外卖管理流程图: (15)4.2.6. 外卖管理流程分析: (15)4.3. 成本管理流程: (16)4.3.1. 成本管理流程图: (16)4.3.2. 成本管理流程分析: (16)4.4. 预订管理流程: (17)4.4.1. 预订管理流程图: (17)4.4.2. 预订管理流程分析: (17)5. 系统特色: (17)5.1. 一版本多业态 (17)5.2. 配置灵活,规模可伸缩 (18)5.3. 高效并行厨打,杜绝丢单 (18)5.4. 全新的库存管理 (18)5.5. 支持触摸屏、点菜宝 (18)5.6. 提供功能完善的出品管理 (19)5.7. 超强会员管理系统 (19)6.系统配置清单前言随着餐饮业竞争的日趋白热化,竞争范围已经从原先的经营规模,商品价格等硬件因素渐渐扩大到经营策略、服务质量、管理效率等软件因素上来了。

这就使得经营决策者对与企业软环境的档次有了一个更高要求。

无线点餐系统方案

无线点餐系统方案

以我给的标题写文档,最低1503字,要求以Markdown文本格式输出,不要带图片,标题为:无线点餐系统方案# 无线点餐系统方案## 概要无线点餐系统是一种通过使用移动设备,如智能手机、平板电脑等,让顾客可以在餐厅内直接通过应用程序进行菜单浏览、点餐和支付的技术解决方案。

该系统不仅提高了餐厅的服务效率和顾客的就餐体验,还能减轻服务员的工作量。

本文档将介绍无线点餐系统的功能和实施方案。

## 功能无线点餐系统应具备以下主要功能:### 1. 菜单展示系统应该能够展示餐厅的菜单,包括菜品的图片、描述、价格等。

菜单信息应该对顾客友好且易于浏览。

### 2. 点菜和定制顾客可以通过系统选择菜品,并可以根据个人口味进行定制。

例如,加入或删除配料、选择烹饪方式等。

### 3. 购物车和订单管理顾客选择完菜品后,系统应该能够显示已选择的菜品清单,以及总价和预计等待时间。

顾客可以根据需要修改购物车内容,并最终提交订单进行支付。

### 4. 支付和结算无线点餐系统应提供多种支付方式,如在线支付、扫码支付、信用卡支付等。

系统应确保支付过程安全可靠,并能保护顾客的个人或银行信息不被泄露。

### 5. 顾客评价和反馈无线点餐系统应该允许顾客对餐厅和菜品进行评价和反馈。

这有助于餐厅了解顾客的满意度,以及改进菜单和服务。

### 6. 服务员管理系统应该支持服务员的账号管理和权限设置。

服务员可以在系统中查看顾客的订单,并进行确认和处理。

## 实施方案无线点餐系统需要以下基础设施和技术支持:### 1. 移动应用程序开发开发一个移动应用程序,支持Android和iOS操作系统。

该应用程序应具备良好的用户界面设计,以提供良好的用户体验。

### 2. 后台管理系统建立一个后台管理系统,用于管理餐厅的菜单、订单和顾客评价等信息。

后台管理系统应具备易用性和稳定性,并且能支持高并发的操作。

### 3. 数据库管理系统无线点餐系统需要一个数据库管理系统来存储和管理菜单、订单、顾客信息等数据。

酒店无线点菜系统方案书

酒店无线点菜系统方案书

酒店无线点菜系统(方案书)时刻服务在您身边目录一、需求分析与方案设计二、系统简介三、网络示意图四、无线点菜机介绍五、各子系统功能介绍六、实施方案七、售后服务八、费用预算一、需求分析与方案设计XX酒店是一家面积平方米左右的餐饮消费场所。

根据餐厅要求和我公司的实际工程经验,整理并分析需求如下:1、建立餐厅计算机管理局域网,实现餐饮收银、总经理、财务库房等岗位的计算机联网、数据共享。

2、按照餐厅面积及餐台的数量,计算机管理局域网中应配置计算机站点数如下:收银站点个,安装“前台管理”软件,用以服务员对帐单进行收银管理;库房配置1台计算机,安装“库房管理”软件,用来处理库存商品的出入情况、供货商的供货情况等;总经理查询站点1个,安装“后台经营分析”软件,用以监控餐台的经营情况和收银员的收银情况。

3、使用无线点菜功能,可省去了服务员来回跑动下单的麻烦:客人进店后,服务员通过无线点菜机点菜,所点菜品均实时在厨房与吧台打印机打印。

客人如有催菜、等叫、退菜等要求均可以用无线点菜机来完成,客人要结帐时,服务员可随时通过无线点菜机查询客人消费金额。

(所有的操作均有权限限制)根据餐台的数量及点菜方式,配置无线点菜机,根据餐厅的实际面积及无线通信基站的有效距离应配置基站台。

4、实现厨房的分单打印功能:“厨房制作”模块能根据系统的设置将不同的菜品分单到不同的厨房打印机,厨房设置台厨房打印机。

5、划单打印:建议在传菜部安装划菜打印机,打印划菜单,用于上菜确认。

二、系统简介1.后台数据库采用微软SQL SERVER2000。

它是目前主流的数据库系统,具备C2级的安全性,具备数据的备份、恢复等的手段和方法,实现实时的数据备份。

2.整套系统的开发环境采用面向对象的开发工具,整体为完全独立的模块式结构,允许用户根据需要灵活配置。

3.整套系统的运行界面均支持用户自定义,菜品、餐台、报表等部分数据可实现数据的导出,用户可根据业务的实际需求灵活地定义系统的各种参数,具备完整的数据检查、数据自动生成、自动纠错功能,具体可以参考后续的系统各模块介绍。

博立无线点菜餐饮管理系统方案书

博立无线点菜餐饮管理系统方案书

博立无线点菜餐饮管理系统方案书博立无线点菜餐饮管理系统方案书随着消费需求的变化以及技术不断发展,无线点菜已成为许多餐饮企业的必备配置。

博立无线点菜餐饮管理系统方案书是为餐饮企业提供一种完整的管理解决方案。

该系统方案使用先进的技术,结合餐饮行业实际需求,为餐厅提供全方位的数字化管理服务。

一、系统功能该系统方案主要包括餐厅前台点菜、后厨制作、订单管理、营销推广、数据分析五大模块。

具体功能如下:1. 前台点菜用户可使用手机扫描二维码进入点菜系统,根据菜单选项自主选取菜品,并可以选择口味和数量。

同时,系统也具备人机交互功能,服务员可在后台查看用户点单信息,给顾客提供更加个性化的建议和服务。

2. 后厨制作当用户下单完成后,厨房系统会自动接收到订单,并根据订单详情制作出相应的菜品,确保每个菜品都能够及时制作和送达。

同时,系统也支持多人制作相同品类的菜品,防止瓶颈出现。

3. 订单管理系统会自动记录每个顾客的点单信息和消费记录,方便餐厅管理对顾客的消费习惯和偏好进行分析。

并且系统支持顾客预订、排队叫号、自动记账等功能,更加方便用户就餐。

4. 营销推广该系统方案也提供了各种营销活动,在满足用户就餐需求的同时,让用户在餐厅拥有更好的用餐体验。

例如,派发优惠券、集赞活动、生日福利提醒等。

5. 数据分析本系统在每日的营运中,实时对餐厅的运营数据进行统计分析。

将数据可视化,帮助管理员更快、更准的掌握餐厅的日常运营数据,更好地做出相应的经营决策。

二、系统优势1. 提高效率无线点菜系统的出现,简化了传统点餐流程的繁琐环节,比如顾客不用在点餐时面对复杂的菜单和纸质版点餐单,节省了人工耗时。

2. 提升用户体验无线点菜系统的数据化服务,让管理员能更好地对顾客的消费记录进行分析,个性化推荐,提升顾客满意度。

3. 降低成本凭借无线点菜系统,减少了错误订单,杜绝了因为口音、听力不好等语音交流问题造成的点餐错乱;并且电子订单管理,让菜品制作更加科学合理,减少人工操作的成本。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

无线点餐系统详细设计1、引言1.1编写目的软件可行性研究报告的编制是为了使用户和软件开发者双方对该软件的初始规定有一个共同的理解,使之成为整个开发工作的基础.1.2编写背景旨在改善就餐厅餐环境,缓解就餐高峰期点餐顾客等待时间过长的问题,运用高科技点餐,突破原有的餐厅服务模式,吸引更多的客户。

2、可行性研究2.1 要求主要功能:将餐厅点菜自动化、自由化、个性化功能需求:➢面向经理:后台管理(访问权限,修改菜单,增加菜项,删除菜项,查询订单,结账等等) ➢面向顾客:消费评分➢面向服务员:显示菜单、预定餐桌、下单功能性能要求: 管理员录入的信息必须无差错地存储至中心服务器,且对客户端的数据应该及时进行更新。

输出要求:数据完整,详实。

输入要求:方便,简捷,快速。

安全与保密要求: 餐厅服务员只有查询和下单功能管理人员则拥有在其权限内的查询,修改,增加,删除菜单,制定价格等一些管理功能。

2.2 目标为各中小型餐厅酒店提供一个统一、方便、安全的信息管理平台.2.3 可行性研究方法可行性研究的方法是通过对各大中小型餐厅、酒店管理者进行问卷调查及访问谈话而得到用户对此系统的信任度关注度及依赖度的,通过建模分析,得出了该系统的功能需求,成本分析,可行性分析。

2.4 决定可行性的主要因素成本/效益分析结果,效益>>成本。

技术可行,现有技术可完全承担开发任务。

操作可行,软件能被原有工作人员快速接受。

3、需求分析3.1 现状✓顾客:一些生意较好的餐厅人往往比较多,点个菜都要等好久,更别提什么时候能吃上了。

✓服务员:有的顾客比较挑剔,点菜的时候会对各种菜问个究竟,有的顾客拿点菜迟迟不定主意,人多的时候根本忙不过来。

3.2 发展前景在计算机技术以及互联网飞速发展的今天,先进的经营理念,人性化的设计,以及高科技的支持,无疑使得餐厅、酒店更受消费者的欢迎。

通过先前的调查分析得知,点餐系统以其高效率、直观、便捷的优点将迅速占领整个餐饮市场。

4、流程设计4.1 服务员4.2 管理员5、总体设计5.1 启动系统客人点击菜单进入系统,开始选菜,启动界面如下图所示。

图15.2 选菜品客人选择了桌号的时候,就可以进入选菜阶段。

客户根据自己的口味爱好进行筛选,可以按菜系进行搜索。

(如图二),点击菜品图片就可以进入到该菜品的详细信息页面。

图二5.3 查看菜品客人对某个菜品感兴趣的时候,可以查看菜品的的详细信息,可以对查看的菜品进行下单,下单之后重新进入选菜的页面,如果对该菜品不感兴趣可以返回选菜的页面。

(如图三)图三5.4 查看已下的订单客人可以随时查看点过的菜的清单,对数目经行核对,同时可以对本次用餐的情况进行评价(如图四)图四5.5 查看购物车客人可以随时查看购物车,还可以修改某个菜的数量。

(如图五)图五5.6 菜系管理首先在浏览器地址栏上输入“http://localhost:8080/wl/pages/admin/index.jsp”,打开后台首页。

然后打开pages/admin/index.jsp页面,把所有jsp路径前面的pages/admin删除掉。

管理员可以对菜系进行查询、添加、删除、修改。

➢查询菜系:第一步:修改pages/admin/common/left.jsp页面,指定菜系管理的访问地址。

第二步:创建一个Servlet类,该类获取所有的菜系数据,并发送JSP进行显示;package cn.itcast.wl.admin.menu;import java.io.IOException;import java.sql.SQLException;import java.util.List;import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import cn.itcast.model.MenuBean;/*** 显示菜单的Servlet*/@WebServlet("/admin/listMenu.do")public class ListMenuServlet extends HttpServlet {protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {MenuBean menuBean = new MenuBean();try {//获取所有的菜单数据List menuList = menuBean.list();//把数据添加到Requestrequest.setAttribute("menus", menuList);} catch (SQLException e) {e.printStackTrace(); //把输出信息以及错误发生的位置输出到控制台第三步:创建一个MenuBean类,该类实现从数据库中查询所有菜系的功能;}//查询所有的菜单public List list() throws SQLException {//创建一个QueryRunner对象QueryRunner runner = new QueryRunner(DbUtil.getDataSource());String sql = "select * from menu";//执行查询return (List)runner.query(sql, new BeanListHandler(MenuBean.class));}}第四步:修改pages/admin/menu/list.jsp页面,把菜系的数据遍历出来;➢添加菜系:第一步:修改pages/admin/menu/list.jsp页面,指定“新建”按钮的页面地址;第二步:修改pages/admin/menu/add.jsp页面,指定表单提交的地址;第三步:创建一个Servlet,实现添加数据的功能;package cn.itcast.wl.admin.menu;import java.io.IOException;import java.sql.SQLException;import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import cn.itcast.model.MenuBean;/*** 添加新的菜系*/@WebServlet("/admin/addMenu.do")public class AddMenuServlet extends HttpServlet {protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {//处理请求参数的中文乱码问题request.setCharacterEncoding("utf-8");//获取表单的数据String menuName = request.getParameter("menuName");//把数据保存到数据库中MenuBean menuBean = new MenuBean(menuName);try {menuBean.save();//保存数据的结果信息request.setAttribute("message", "保存成功!");} catch (Exception e) {request.setAttribute("message", "保存失败,请联系管理员!");e.printStackTrace();}//跳转回添加页面,并显示保存的结果request.getRequestDispatcher("/pages/admin/menu/add.jsp").forward(request, response);}}第四步:修改MenuBean.java,添加save方法,实现保存数据的功能;第五步:修改pages/admin/menu/add.jsp页面,设置显示保存结果的信息;5.7 菜品管理管理员可以对菜品进行添加、删除(图七)➢查询菜品:查询菜品的实现步骤与查询菜系一样。

但是,需要注意:因为需要查询菜系的名称,所以,需要同时查询food和menu表。

并且,为了区分food表的name字段和menu表的name字段,可以指定menu表name字段的别名:menuName。

只有查询出来的字段名与JavaBean的字段名相匹配的时候,DbUtil才会自动地帮我们把查询出来的数据封装成对应的JavaBean。

➢添加菜品:第一步:修改pages/admin/food/list.jsp页面,指定新建按钮的访问地址;第二步:修改pages/admin/food/add.jsp页面,指定表单的提交地址,以及指定enctype属性;第三步:创建一个Servlet,实现文件上传的功能;为了简化文件上传的操作,需要使用commons-fileupload组件。

该组件的作用是简化文件上传的操作。

➢使用commons-fileupload组件实现文件上传的步骤:第一步:创建一个ServletFileUpload对象;第二步:调用该对象的parseRequest方法把Request对象中的每一个表单项解析成一个个的FileItem对象,然后保存在一个集合中并返回。

也就是说,一个FileItem对象就代表一个表单项(普通字段、文件)。

该对象提供了一些方法获的数据;ServletFileUpload fileUpload = new ServletFileUpload(new DiskFileItemFactory());//把request对象中的每一个表单项解析成一个个的FileItem对象,然后保存在集合中并返回List list = fileUpload.parseRequest(request);//创建FoodBean对象FoodBean foodBean = new FoodBean();//遍历集合的数据for (int i = 0; i < list.size(); i++) {//一个FileItem就代表一个表单项//注意:获取普通表单项与获取上传文件的方式不一样FileItem fileItem = (FileItem)list.get(i);//如果isFormField返回true,代表该fileItem对象是一个普通的表单项//否则,该fileItem对象是一个文件if (fileItem.isFormField()) {//获取普通字段的名称String fieldName = fileItem.getFieldName();String fieldValue = fileItem.getString("utf-8");/*if ("menuId".equals(fieldName)) {foodBean.setMenuId(fieldValue);} else if ("name".equals(fieldName)) {foodBean.setName(fieldValue);} else if ("price".equals(fieldName)) {foodBean.setPrice(Double.parseDouble(fieldValue));} else if ("mprice".equals(fieldName)) {foodBean.setMprice(Double.parseDouble(fieldValue));} else if ("introduce".equals(fieldName)) {foodBean.setIntroduce(fieldValue);}*///根据字段名字把数据设置javabean中的对应属性BeanUtils.setProperty(foodBean, fieldName, fieldValue);} else {//读取文件/*读写文件的步骤:第一步:把文件读取到输入流里面;第二步:在服务器指定目录下创建一个空文件;第三步:把读取到的字节数据通过输出流写入到该文件中;第四步:关闭输出和输入流;*/InputStream in = fileItem.getInputStream();String fileName = fileItem.getName();//获取upload目录在Tomcat服务器中的绝对路径String savePath = request.getServletContext()除此以外,还要添加一个save方法。

相关文档
最新文档