![在线订餐系统设计_第1页](http://file2.renrendoc.com/fileroot_temp3/2021-11/22/35601c8d-e8ce-47dc-bb86-40e7ff5b7721/35601c8d-e8ce-47dc-bb86-40e7ff5b77211.gif)
![在线订餐系统设计_第2页](http://file2.renrendoc.com/fileroot_temp3/2021-11/22/35601c8d-e8ce-47dc-bb86-40e7ff5b7721/35601c8d-e8ce-47dc-bb86-40e7ff5b77212.gif)
![在线订餐系统设计_第3页](http://file2.renrendoc.com/fileroot_temp3/2021-11/22/35601c8d-e8ce-47dc-bb86-40e7ff5b7721/35601c8d-e8ce-47dc-bb86-40e7ff5b77213.gif)
![在线订餐系统设计_第4页](http://file2.renrendoc.com/fileroot_temp3/2021-11/22/35601c8d-e8ce-47dc-bb86-40e7ff5b7721/35601c8d-e8ce-47dc-bb86-40e7ff5b77214.gif)
![在线订餐系统设计_第5页](http://file2.renrendoc.com/fileroot_temp3/2021-11/22/35601c8d-e8ce-47dc-bb86-40e7ff5b7721/35601c8d-e8ce-47dc-bb86-40e7ff5b77215.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、本科毕业论文(设计)本科毕业论文(设计)题题 目目 在线订餐系统设计学学 生生 指导教师指导教师 年年 级级 2011 级级专专 业业 电子信息工程二级学院二级学院 信息工程学院信息工程学院2015 年 5 月郑重声明郑重声明本人的毕业论文(设计)是在指导教师的指导下独立撰写完成的。如有剽窃、抄袭、造假等违反学术道德、学术规范和侵权的行为,本人愿意承担由此产生的各种后果,直至法律责任,并愿意通过网络接受公众的监督。特此郑重声明。毕业论文(设计)作者(签名): 年 月 日I在线订餐系统的设计摘摘要要当今社会,生活节奏的加快,使的人们对就餐时间和方式有了更高的要求,21 世纪来,互联网技术的快速发
2、展,结合了餐饮业和计算机网络的网上订餐因运而生。不仅解决了人们对快捷要求的需求,也是电子商务的一种全新的体现。本控制系统采用 Java 代码来编写,分为前台和后台两个大的模块,前台是用户的订餐页面,包括登录、注册、选购、下单、和对订单的跟踪。后台为管理员和系统管理员两部分组成,系统管理员可以增加管理员的人数,管理员可以对后台物资进行,添加、删除、修改的操作,对订单物资进行倒表进行查看,对用户留言反馈处理。本系统功能齐全,页面清楚简单,用户可以方便的对相应的模块进行查看和下单,使的购餐方便快捷。 关键词:关键词:订餐系统 Java Web SSHIIThe Design Of The Onlin
3、e Reservation SystemHu Zhifang Directed by the lecturer Zhang Zhilai ABSTRACT In todays society, the accelerating rhythm of life, make people have a higher request for dinner time and way, to the 21st century, the rapid development of Internet technology, combinedwith catering and computer network o
4、nline order for shipment.Not only solved thepeople demand for quick request, also is a kind of new electronic commerce.This control system USES Java code to write, is divided into foreground and background two modules, front desk is the users order page, including login, register, the choose and buy
5、, order, and tracking on the order.Background for the administrator and system administrators in two parts, the system administrator can increase the number of administrator, the administrator can on the background material, add, delete, modify operations, order material for table view, on the user
6、feedback message processing.The system fully functional, simple page is clear, the user can convenient to view and order of the corresponding module, make the order of convenient and quick.KEY WORDS:Reservation System Java Web SSH 1目目 录录前言 .11 背景介绍 .21.1 在线订餐系统的背景 .21.2 研究的目的及其意义 .22 需求分析 .32.1 可行性分
7、析 .32.1.1 经济可行性 .32.1.2 技术可行性 .32.2 需求分析 .42.2.1 功能性需求 .42.2.2 功能划分 .42.2.3 非功能性需求 .43 系统设计 .53.1 设计思路 .53.1.1 系统的设计思路 .53.1.2 系统的设计步骤 .63.2 订餐用例图设计 .63.3 数据库设计 .73.3.1 概念模型设计 .73.3.2 数据库的逻辑设计 .73.3.3 数据表设计 .73.4 Struts2 框架 .94 系统实现 .104.1 系统首页 .104.2 注册用户 .114.3 登录 .114.4 管理员用户操作 .124.4.1 添加物资类别 .1
8、24.4.2 显示物资类别 .134.4.3 增加物资 .144.4.4 显示物资 .154.5 会员和普通用户操作 .154.5.1 浏览商品 .1624.5.2 查看物资明细 .164.5.3 购物车 .175 系统测试和分析 .175.1 测试环境 .175.2 测试过程 .185.3 系统分析 .185.4 数据库分析 .186 结论 .19参考文献 .20致谢 .21附录 .221前前言言二十一世纪是信息化、知识化的世纪,随着社会的进步、计算机应用迅猛的发展和网络应用的不断扩大,使的传统订餐的形式有了极大的扩充,人们订餐变得更加的便捷。基于 Web 的网上订餐系统,就是一种基于计算机
9、网络的网上订餐形式,它的出现,大大地扩展了现行订餐的方式,使餐饮摆脱了空间和时间上的束缚,任何人,只要会上网,都可以坐在电脑前面,方便地进行上网订餐,这可以说是对餐饮业的一次革命。相比传统的订餐方式,网上订餐系统使用起来非常方便,只要是能够上网的地方,人们都能够轻松使用系统的所有功能。而今网络技术的突飞猛进,发展迅速,新技术产生速度是以前的数十倍。网上订餐可以用声音、文字、图像等加以直观的展示出来,给顾客留下非常深刻的视觉印象,有利于增加潜在的订餐顾客。所以可以肯定的说,网上订餐的前景是非常广阔地,可扩展性非常的好。因此,开发一个在线订餐系统是十分必要的,通过前台餐饮商品信息的展示,添加购物车
10、,结算下单的模式形成餐饮企业的电子商务平台,通过后台的库存系统,整合餐饮企业的供应链,提高其在信息化环境下的管理水平,对现在激烈竞争的餐饮行业中求发展的餐饮企业来说,无疑是福音。我们对餐饮企业菜品和材料标准化地处理,大大减小了企业的库存成本,提高餐饮企业的经济效益。为人类饮食文明和对社会的发展起到一定的推动作用,也对以后自己工作带来有益的影响。21 背景介绍本部分主要介绍在线订餐系统的背景和研究的目的和意义。1.1 在线订餐系统的背景21 世纪,全球网络化,科技在突飞猛进。我们的生活同网络通信息息相关。计算机已经普及到我们社会和经济生活中的各个领域中。人们进行信息交流的深度与广度不断在增加着,
11、这使得我们的服务,管理也应该跟上时代步伐去前行。电子商务在此得到极大地普及与发展。 餐饮业在电子商务中还处于形成初期;传统饮食业中,大都是以实际门面的形式来进行宣传与交流的。作为网络普遍化的社会,这还缺少了一些更为现代化的元素。餐饮业是一种个性化、多样化的服务产业,而电子商务是最能体现个性化、多样化服务的商务方式。而且现在大部分电子商务都体现的像大企业服务,结合餐饮这个特殊行业,终将还发展为向小区域小店铺服务的模式。以最贴切的方式,最灵便的服务进入各个网络社区,进入人们的生活。渐渐更多地人接受了电子商务这种简便、快速的网上交易形式,网上订餐系统的顺势而出很快受到了大家的欢迎。互联网的应用已经渐
12、渐普及到千家万户,这为网上订餐提供了良好的发展空间。同时,网上订餐系统服务的直观、有效、便捷等优点是传统电话订餐业务无法比拟地。通过调查数据显示,北京白领更乐于去选择网上订餐服务, 网上订餐将是白领一族捕获餐店信息、进行订餐的发展趋势。网络在线订餐系统随着互联网的成长会逐渐被人们所喜爱,正如几年前手机移动短信一样,为企业带来几百个亿的业务收入。在互联网世界里面,谁早一步在应用上创新,谁就掌握了未来的方向,品牌更是一炮打红,网上订餐,看到的希望是希望,看到的泡沫是泡沫。1.2 研究的目的及其意义网络订餐可充通过色彩、图片、说明、设置动画加强产品的宣传,达到了餐饮业的“色型”要求。而该系统实现商品
13、管理方便,不用因为更改菜色而重新印刷。只要在后台鼠标轻轻一点,全线马上就会更新。采用 B/S 模式,订餐者无须去安装第三方软件,只要上网就能订餐,甚至可以利用手机上网订餐,使操作更加简便,订餐信息更加准确。避免口头传递信息的错误,优化服务。网络不会跟电话一样占线,在高峰期对订餐的处理更是游刃有余,只看着屏幕点打印即可,就可下厨房配菜配送。地址永远不会丢失,是一个永远存在的电子菜单,甚至还可以通过网上的推广而让更多的客人认识,不用派人去发宣传单,可以省去一笔宣传和人工费用。订餐途径有了更好的改善,网络订餐成3为电话订餐又一有力补充,扩大客流,从而整体提高业务量。倡导了一种时尚,餐店的定位更是网络
14、化,时尚化,具备更为勃勃的生机。缓解了食堂的拥挤的困境,为食堂提供更为轻松的环境。有时间的提前性,方便统筹安排,集中处理。采用会员制度,设立积分换赠送,营销手段更是利用得淋漓尽致。可以设立团体会员制,利用赠品或优惠,扩大市场份额。利用网页技术,展示本公司的精品,增强吸引力。详细介绍每一个产品,展现公司周到、细微的服务。容易形成品牌和连锁经营,即使没有合适的店面,主要配送队伍健全,一个店面,就可以做全市生意。订餐者省电话费,实现双盈。提供了交流的平台,实现消费者可贵信息的反馈和交流。方便统计和查询,分析经营来得更直接,企业创新,跟得上市场的需要。2 需求分析本部分从经济可行性和技术可行性分析得出
15、系统开发的可行性,从功能性需求和功能划分了解系统的实现功能,非功能性需求来介绍开发的工具。2.1 可行性分析2.1.1 经济可行性本项目的特殊性,使其无需投入额外设备费用和人员培训的费用,所以在经济上本项目的开发是完全可行的。此外本项目对开发的需求以及软硬件要求都不是很高,所以在软硬件的支出上十分有限。因此,本系统在任何一台连接 Internet 地机器上都可以运行操作,有很高的经济可行性。 按照上述两方面进行可行性分析、研究后,我认为本项目在技术上是可行的,在经济上也是没问题的,所以完全可以进行开发。2.1.2 技术可行性本系统选择 JSP 作为页面开发语言,选择 Oracle 作为后台数据
16、库,采用 B/S 结构,使用 JDBC 连接池来连接数据库。 而 JSP 可以创建和运用动态、交互的 WEB 服务器应用程序。同时,JSP 也具有向跨平台跨服务器的优点。Oracle 11g 是一个杰出成功的数据库平台,具有功能强大,安全可靠等特点,可用于大型联机的事务处理、数据仓库及电子商务等。所以在技术理论方面上是可行的42.2 需求分析2.2.1 功能性需求该系统在性能功能应达到如下要求。 (1)操作简单,界面美观:空间式的页面布局,使得菜品、咨询等信息录入工作变得更简单;另外,跟踪出现的提示信息也让用户随时了解自己的操作情况。对常见类似的网站管理的各个方面:基本信息的录入、浏览、删除、
17、修改、搜索等方面都大体实现,用户对餐品的预定以及支付方式。(2)即使可见:对客户预定餐饮信息处理(包括录入、删除)将立即在首页对应的栏目显示出来,达到“即时发布,即时见效”的功能 。(3)系统运行应该快速、稳定、高效、可靠。(4)在结构上应该具有很好的可扩展性,便于将来功能扩展和维护。 2.2.2 功能划分本系统的主要功能是以用户以及管理员扩展开来的,下面简单介绍下本系统的一些主要功能。 (1)对于普通用户,具有下列功能:注册:可以注册成为会员,管理自己信息,对餐品进行下单。浏览菜单:可以查看所有的餐品但是不能放入购物车和下单。 (2)对于会员用户,具有下列功能:登录:用系统号登录,显示会员用
18、户页面。个人信息管理:可以查看、修改个人信息,修改密码。留言反馈:可以对餐品提出个人看法,并且提交。下单:会员可以购买餐品,进行下单。 (3)对于管理员,具有以下功能:会员管理:对会员用户进行查看和查封操作。物资管理:对餐品物资进行添加、删除、修改的操作。订单管理:对会员订单进行导出报表查看。留言管理:可以查看、审核用户的留言。页面维护:对页面的显示商品进行选择。2.2.3 非功能性需求选择微软 IE 平台作为主导,是考虑到当前大多数的企业在设计内部网络时,将微软5IE 平台作为首选方案;并且微软 IE 平台上的应用在开发和软件的配置上都非常容易,具体如下。(1)开发工具:MyEclipse
19、10。(2)辅助开发工具: Dreamweaver CS3,notepad+,PLSQL Developer。(3)数据库:Oracle10g。(4)服务器:Apache Tomcat6.0。(5)运行环境:安装 JDK1.6 支持 Java 运行。(6)技术:前台页面的设计应用 JSP 技术开发制作。采用 Struts2 框架响应用户业务逻辑的请求,并对用户的请求在 Action 中处理理后将相应 JSP 页面发送给客户,相应的数据库操作则是由 Hibernate 来进行操作的。3 系统设计3.1 设计思路该系统用户分为游客、会员和管理员,不同的用户会有不同的操作,然后由用户及其角色的功能操
20、作来了解系统的运行过程,然后建立需求用例,设计数据表,整合框架,最后编写和调试代码。3.1.1 系统的设计思路俗话说的好,巧妇难为无米之炊,一个系统也是一样要想设计一个完整的系统,首先要构想出来这个系统的大体流程和功能模块,然后才能在此基础上建立需求,设计数据表等后续工作,下图便是在想订餐系统的系统设计构想运行图。图 3-1 系统设计构想运行图63.1.2 系统的设计步骤(1)建立需求用例图先想好系统的大体框架,编写需求文档,在 UML 软件中按照需求分析绘制出各个功能的用例图。(2)设计数据表按照用例图功能,建立对应的数据表,每个数据表设置一个状态字段,删除字段时只需改变状态就行,可以保留历
21、史记录,每个表留着几个预留字段,防止以后需求变更造成数据表大幅度变化。数据表关联字段不用外键,数据表一多,或是删除一些数据表的字段时会造成大量的关联数据错误。(3)整合 SSH 框架建立 Database 数据连接,整合 SSH 框架,然后将数据表反向生成 Java 代码导入MyEclipse,将代码层次化,建立DAO,BIZ,Action,Utils,VO,Serviceiface,Serviceimple 包来存放相应的代码,代码采用注释,使的代码明了化。运行 Tomcat 看是否系统运行异常,有异常处理异常,使的系统运行正常。(4)编写代码按照用例图来编写功能模块的代码,模块采用 MVC
22、 模式,调用数据库采用 Service 接口,数据库开放接口,BIZ 使用接口来实现功能。编写代码统一采用方法调用,变量采用方法注入,这样可以在需求变更,变量改变时只需变更少量代码便可实现。(5)调试,实现功能要求调试系统功能,修复 DEBUG,然后运行系统,在运行中有什么问题及时修改。3.2 订餐用例图设计用例图是反应各个角色和系统功能的动态视图。本系统中用例图采用 UML 来进行绘画,而通过用例图的显示我们可以更方便、简单的获取需求,在后续的系统设计中起到很好的指导作用。下面就介绍游客和会员用户的用例图。 7图 3-2 游客时序图游客:可以浏览订餐网站的所有商品,但是不能下单和加入购物车,
23、执行非游客操作只能新注册用户,登录订餐网站。图 3-3 会员和普通用户时序图会员和普通用户:可以执行游客的所有操作,除此之外,可以对商品进行购买和下单,对自己信息进行修改维护,密码丢失的情况可以联系管理员进行修改密码,对网站或是商品也可以提出自己意见对管理员进行留言。3.3 数据库设计3.3.1 概念模型设计概念结构设计是将分析得到的用户需求抽象为信息结构(即概念模型)的过程,它是整个数据库设计的关键。3.3.2 数据库的逻辑设计 数据库的逻辑设计分为三个阶段,分别是:用户要求、建立 E-R 模型和数据库模式设计。 数据库逻辑设计中的第一阶段收集和分析用户的需求是按以下四步进行的:分析用户活动
24、,确定系统范围,分析用户活动所涉及的数据和分析系统数据。逻辑设计第二阶段建立 E-R 模型分两步,首先应进行局部 E-R 模型设计,然后进行总体 E-R 模型的设计。逻辑设计第三阶段在数据库模式设计阶段分两步进行,第一步初步设计,把 E-R 图转换为关系模型,第二步优化设计,对模式进行调整和改善。 83.3.3 数据表设计根据用例图来建立数据表,数据表是用于存放系统运行数据和筛选符合用户需求的数据,数据表的建立可以使得系统有不必担心数据的丢失,也可以根据数据的存储时间对数据进行动态的跟踪和维护,所以数据表建立的完善程度直接影响了系统的完善程度,也对后期系统的维护的难易造成了影响。下面介绍三个相
25、关联的数据表的结构。(1)Ep_user(用户表)用户表中存放的是游客注册用户的信息,用户登录的时候会从用户表中对用户的 ID和密码进行检测,匹配正确后才能登录首页。其中的状态字段是撤销用户或是删除用户的字段,0 代表删除,1 代表有效,这样可以更好的保留历史记录,其中表中的五个预留字段防止以后表 3-1 ep_user 表的结构字段类型是否主键是否为空描述Syus_idNumber(10)主键否用户主键Syus_user_nameVarchar2(20)否否用户名Syus_user_passwordVarchar2(20)否否用户密码Syus_role_idNumber(5)外键否用户角色
26、IDSyus_mailVarchar2(20)否否用户邮箱Syus_phoneNumber(11)否否用户电话Syus_statusNumber(4)否否用户状态Syus_user_addressVarchar2(50)否否用户地址Syus_create_timedate否是创建时间Syus_creatorVarchar2(20)否是创建人Syus_oneVarchar2(20)否是预留字段 1Syus_twoVarchar2(20)否是预留字段 2Syus_threeVarchar2(20)否是预留字段 3Syus_fourVarchar2(20)否是预留字段 4Syus_fiveVarch
27、ar2(20)否是预留字段 59(2)Ep_order(订单表)订单表中存放的是会员和普通用户下单成功后存放的订单信息,用户可以在订单浏览中查看订单,管理员可以在后台对用户下的所有单子进行查看,按照订单的地址进行送货。订单表中的状态字段也是采取 0 为无效订单,1 为有效订单的处理方式来保留历史数据,表中也有五个预留字段来防止以后表结构的变更造成系统大幅度调整。表 3-2 ep_order 表的结构字段类型是否主键是否为空描述Epor_epor_idNumber(10)主键否订单主键Epor_epor_noVarchar2(20)否否订单号Epor_epor_adressVarchar2(50
28、)否否订单地址Epor_dscpVarchar2(50)否否申请备注Epor_total_priceNumber(11,2)否否申请总价Epor_creatorVarchar2(20)否是申请人Epor_create_timedate否是创建时间Epor_mobileNumber(11)否是申请人手机Epor_statusNumber(4)否是状态Epor_oneVarchar2(20)否是预留字段 1Epor_twoVarchar2(20)否是预留字段 2Epor_threeVarchar2(20)否是预留字段 3Epor_fourVarchar2(20)否是预留字段 4Epor_fiveV
29、archar2(20)否是预留字段 53.4 Struts2 框架Struts2 框架是过滤器,拦截器,Struts 标签库等多个功能集一体的框架,不仅提供了servlet 的解耦合方法来获得 jsp 页面的内置对象,还提供了 Struts2 的标签库,运用Struts2 框架可以更好的用于数据的交互和页面的设计。而且其也是 SSH 三大框架整合的基础框架。10本系统中用户提交请求经过 Struts2 的拦截器,过滤器最后请求到 Action 中,Action对其中的要求进行筛选,然后调用 BIZ 控制层,BIZ 控制层调用 Service 相应的接口,Service 接口调用数据库进行相应的
30、操作并且封装,提供 BIZ 调用的接口,BIZ 调用接口返回相应的结果,BIZ 将相应的结果进行处理后回传到 Action 中,Action 对返回的数据进行 Request 和 Session 的封装最后通过 Result 定位到相应的页面。Struts2 框架,如图 3-4 所示:图 3-4 Struts 框架图4 系统实现本系统分为前台和后台两部分,管理员和会员用户登录页面相同,登录成功后会根据不同的角色进入相应的页面,管理员进入后台页面,对商品进行添加、删除、查看的操作。会员进去首页对商品进行查看,购买下单。4.1 系统首页商城首页采用分栏式布局,最上面一栏是用户的一些快捷功能,比如登
31、录、注册查询订单,中间是搜索餐品的输入框,采用 Ajax 输入及时匹对,下面是热卖商品的轮展效果,可以在后台管理员进行维护操作。11图 4-1 商城首页图4.2 注册用户用户没有用户 ID 和用户名时进行注册操作,系统号是系统自动匹配的,用户填写别的基本信息,只有按照信息填写完整后才能提交,如图 4-2 所示。图 4-2 注册用户部分代码如下:int user_result=this.userBIZ.addUser(epuser);Map map=new HashMap();if(user_result0)map.put(msg,添加成功);map.put(flag,1);12elsemap.
32、put(msg,添加失败);map.put(flag,0);result=JSONObject.fromObject(map).toString();以上代码表示,epuser 是存放用户的注册信息,user_result 是添加的结果,大于 0 代表添加成功,会将结果封装到 JSON 字符串中,返回到注册页面提醒用户注册成功或是失败。4.3 登录用户的登录采用弹出窗遮罩的效果来实现,如图 4-3,用户在弹出框输入用户名、密码和验证码来进行登录,用户 ID 和密码会在输入验证码的时候通过 Ajax 及时后台数据验证并返回结果用红字显示错误信息。如果是会员用户登录后会进入商城首页,并显示登录人的
33、信息,如果是管理员登录则会直接跳转到后台页面。 图 4-3 登录图部分实现代码如下:List list=this.userBIZ.userLogin(Integer.parseInt(user_id),password); if(list.size()0) com.vo.User user=list.get(0); this.getRequest().getSession().setAttribute(user, user);13 return home;以上代码表示,从数据库中对用户输入的系统 ID 和密码进行检测,如果存在该用户并且 ID 和密码相符,则将用户的信息用 Request 页面
34、内置对象将 User 进行封装,然后返回首页。用户登录成功后会在右上角会显示该用户的用户名,用户可以点击旁边的退出进行注销操作。 4.4 管理员用户操作4.4.1 添加物资类别管理员进入后台可以对物资进行维护,添加物资类别实行 Ajax 异步及时刷新的技术,如图 4-4,用户商品大类不选直接添加商品种类则是添加物资大类,添加完后会直接在商品大类的下拉框显示出来,如果选择商品大类,则输入商品种类则是添加商品大类的子类,添加完后会在页面及时显示出来。商品种类的添加可以支持添加五种,但考虑到首页的显示问题和数据的维护问题,本系统只让添加两种类别。图 4-4 增加物资类别信息部分代码如下:$.ajax
35、(url:/footing/goods_cates_json/getGoodsCatesLists_json.action,type:post,dataType:json,data:value:val,success:function(data)var jsonobj = eval( + data + ););14以上代码表示,用户点击商品大类的时候,会调用 Ajax 事件,type 类型 post 代表异步请求,不会让程序一直处于等待回传的状态,dataType 是数据传送的类型,采用 JSON可以对数据进行很好的封装,data 是数据传送的参数,此程序选用的是物资大类的物资ID 对该商品大
36、类的物资进行检测后台 getGoodsCatesLists_json.action 对数据进行处理,然后将结果用 JSON 封装,页面采用 eval( + data + );来对 JSON 字符串进行解析。解析完结果后将结果字符串拼接到商品类别里面。4.4.2 显示物资类别管理员进入显示物资类别的窗口会显示添加的物资类别信息,如图 4-8,该页面会显示商城的大类,划过物资大类名称时会显示出来该下的子类个数,可以点击进去查看子类的信息,如图 4-9 所示,用户可以删除物资的大类和子类的信息,删除子类不会有提示,删除大类时,如果有子类会提示是否删除大类,一经删除子类信息也将删除的提示。图 4-5
37、物资大类信息4.4.3 增加物资进入物资添加的页面如图 4-6,填写物资信息时会有绿色的提示,如果数据信息为空会有红色的信息提示,数据信息符合要求填写时才会有红色对勾出现,选择物资类别时点击大类别会及时出现物资子类,管理员选择相应的子类,每个物资必须要选择一个小类,还有上传物资图片,所有信息填写完整后提交后会有提示是否查看添加的商品,如果要查看新添加的商品信息会进入查看页面,页面会显示出添加的商品详细信息,并且鼠标滑过图片时,图片会变大,为了能方便管理员清楚的查看图片。15图 4-6 物资添加信息部分代码如下:private File uploadImage;private String up
38、loadImageFileName;private String uploadImageContentType;int goodID=this.goodsBIZ.addGoods(epGoods); int add_goods_flag=0; if(goodID0) this.imagesPath(uploadImage,path,uploadImageFileName); this.load_ImagesPath(uploadImage, uploadImageFileName); add_goods_flag= this.goodsBIZ.addGoodsImages(goodID,mod
39、ityName,uploadImageFileName); 以上代码 uploadImage 是取的物资图片路径,uploadImageFileName 是物资图片的名称,uploadImageFileName 是物资图片的类型,epGoods 里面存放的是新添加商品的信息,goodID 是添加物资返回的结果,结果大于 0 则代表添加成功,结果等于 0 代表添加失败,当物资添加成功后将物资图片存放到服务器上并拷贝到本地文件一份。最后将物资 ID,物资图片路径,物资图片名称存放到数据库中。164.4.4 显示物资进入显示物资的页面,如图 4-7,按照物资编号从大到小排序的,显示物资类别编号,商品
40、添加时图片存到服务器上,显示的图片是从服务上取出的,并且也有滑过图片也会变大,使的图片可以清楚点。商品会分页显示,每页显示 10 个物资,后期会添加一个搜索物资的功能用于搜索物资的信息。图 4-7 显示物资4.5 会员和普通用户操作会员和普通用户可以查看商品,添加购物车,购买下单。4.5.1 浏览商品用户点击餐品浏览可以浏览餐饮商品的物资,左边一栏显示的是物资的类别,右边是商品,左边商品为大类,右拉框中的为小类,选择大类和小类可以对商品进行及时的刷新。商品显示价格和物资名称,当鼠标放在物资名称上时会显示物资的描述。图 4-8 浏览商品部分实现代码如下:List list=this.goodsB
41、IZ.showGoods();List list_biggoods=this.goodsCatesBIZ.getBigGoodsCatesList();if(list!=null&list.size()0)17this.getRequest().setAttribute(list, list);this.getRequest().setAttribute(list_biggoods,list_biggoods);return show_goods;return error;以上代码 list 存放的是所有商品信息,list_biggoods 存放的物资类别信息,然后将结果用 Reque
42、st 封装返回到 JSP 页面,如果数据异常或是没有物资,这跳入物资异常页面。4.5.2 查看物资明细用户点击商品物资后会进入物资明细页面如图 4-9 所示,会有相应的物资名称,描述和价格,用户可以选择立即购买和刚入申请车,购买和放入申请车用户必须登录否则会有请先登录的提示信息提醒。物资的图片采用鼠标滑过图片放大的处理模式。图 4-9 查看物资明细4.5.3 购物车用户选择商品后进入购物车如图 4-16,购物车可以修改数量,也可以进行删除操作,确定没问题后,点击结算进行下单。图 4-16 购物车185 系统测试和分析在开发系统软件过程中,即使使用了许多保证软件质量的分析、设计,可还是会难免在工
43、作中犯错误。所以,认真的进行软件测试是必须的。系统测试是软件系统与硬件等其他因素结合在一起,在其中找出开发系统与用户需求不符或矛盾的地方,进行信息系统的各种组装测试、确认测试。下面介绍此系统的测试环境、过程及测试结果的分析。5.1 测试环境系统测试的软件环境:操作系统为 Windows 7,开发工具为 MyEclipse10,数据库Oracle10g,Tomcat 6.0,JSP 等开发的在线订餐系统。系统测试的硬件环境:普通个人计算机,CPU 主频 2.3GHZ,内存 4G。数据库测试环境:操作系统为 Windows7,数据库为 Oracle10g,链接数据库的工具室 navicat。数据库
44、测试的硬件环境:普通的个人计算机,CPU 主频 2.3GHZ,内存 2G。5.2 测试过程(1)系统测试过程:运行程序,进入商城首页,输入用户名及密码返回首页或进入后台。管理员进入后台页面后,对商品模块,用户模块测试。测试通过后,用会员用户返回首页可以对页面查看商品,添加购物车,下单等进行测试。测试各模块时,功能均实现了。但是当会员查看商品物资明细时会有物资图片加载失败的情况出现,调试找到的问题是由于服务器关闭后造成的图片丢失的情况,后来我在存图片是会备份一个到本地磁盘当中,这样当服务器娶不到图片时,就在本地读取。(2)数据库测试过程:打开 Oracle Net Manager 程序,配置链接
45、数据库的用户名、密码以及 ip,然后用PL/SQL 连接数据库,连接成功后对数据库相应表数据和结构进行查看和检查。检查时着重查看中文入库的数据,最初会出现中文乱码,现已解决。5.3 系统分析对本系统来说,可以稳定运行是主要目标,能实现一些常用的功能,能够方便快捷的进行相关功能的操作。经过测试得出它基本达到了要求,具有操作简单快捷,运行速19度较快等特点。5.4 数据库分析本系统采用的是 Oracle 数据库,可以更好的进行数据的查询和存储,经过测试数据完全达到标准,没有出现乱码问题和数据冗余。6 结论本系统这次的项目,我们使用了 MyEclipse 来进行项目的开发,在软件架构的方面,主要是根
46、据 MVC 思想,将模型、视图、控制层分离,然后应用 SSH 框架来对代码进行具体实现,使用 Struts 分离视图层和控制层,使用 Spring 管理 bean 对象,减少了从前new 一个对象就要创建一个内存空间的占用空间,使的程序运行能够有足够的内存空间去运行顺畅,直接的优化了代码,我自己也养成了接口编程的好习惯,service 开放调用数据库的接口,防止用户直接调用数据库,维护了程序的安全性,而使用接口编程还有一个很好的优点就是提高代码的重用率和可维护率,修改接口的功能只需要将接口参数和返回数据的变更便就可实现,使用 Hibernate 来管理数据库,采用面向对象的思想,有效实现了与数
47、据库之间的耦合。设置本系统我很认真的去找了很多资料来学习,努力汲取前人前辈的经验,就是希望能做出一个令自己满意的网上订餐系统。 通过设置本系统,我掌握了很多知识,也渐渐锻炼自己每写一个方法必有注释,数据库操作要编写接口实现方法调用,为防止直接操作数据造成的影响。通过设置本系统也渐渐发现自己有好多东西要学,以后还需继续努力学习技术才行。20参考文献参考文献1孙卫琴,李洪成.Java Web 开发技术详解.电子工业出版社,2003 年 2BruceEckel.Java 编程思想. 机械工业出版社,2003 年3FLANAGAN.Java 技术手册. 中国电力出版社,2002 年 4孙一林,彭波.J
48、ava 数据库编程实例. 清华大学出版社,2002 年 5LEE ANNE PHILLIPS.巧学活用 HTML4.电子工业出版社,2004 年 6飞思科技产品研发中心.JSP 应用开发详解.电子工业出版社,2003 年7耿祥义,张跃平.JSP 实用教程. 清华大学出版社,2003 年 8孙涌.现代软件工程.北京希望电子出版社,2003 年 9萨师煊,王珊.数据库系统概论.高等教育出版社,2002 年10Brown 等.JSP 编程指南(第二版). 电子工业出版社,2003 年 11清宏计算机工作室.JSP 编程技巧. 机械工业出版社,2004 年 12朱红,司光亚.JSP Web 编程指南.
49、电子工业出版社, 2001 年 13赛奎春.JSP 工程应用与项目实践. 机械工业出版社, 2002 年14刘中兵.Java Web 核心框架 电子工业出版社.电子工业出版社,2009 年15王嫚/杜秀川.JSP 网络编程 电子工业出版社机械工业出版社, 2006 年16曲培新 .Java 项目开发案例精粹.电子工业出版社,2010 年17孙卫琴.精通 strutsM电子工业出版社机械工业出版社.2004 年18林上杰.林康司编著JSP2.0 技术手册电子工业出版社,2004 年2119岑红旗.浅析网上购物在中国的现状.时代金融. 2007 年20胡崧编著.网站建设实例大制作.北京:中国青年出
50、版社,2007 年 21唐远新.靖固等.Oracle 数据库实用教程.北京:高等教育出版社,2005 年22林信良.Spring2.0 技术手册.北京:电子工业出版社,2005 年23徐洁磐.现代数据库系统教程.北京希望电子出版社,2011 年24黄浩文.JSP 核心技术和电子商务应用实例.北京:清华大学出版社,2000 年 25肖刚.Java Web 服务器应用程序设计.北京:电子工业出版社,2002 年 26胡崧编著.网站建设实例大制作.北京:中国青年出版社,2007 年 27孙鑫.Java Web 开发详解.北京:电子工业出版社,2008 年28王永红.使用 JavaScript 增强网
51、页的功能.福建:福建师范大学学报,2008 年29张龙祥等.数据库原理与设计.北京人民邮电出版社,2009 年30Sanden, Bo. SYSTEMS PROGRAMMING WITH JSP D. EXAMPLE-A VDU CONTROLLER, Communications of the ACM,Vol28,No10,198531Zoya Ali. Designing Object Oriented Software Applications within the Context of Software Frameworks D. Ohio State University,2011
52、致致 谢谢在论文完成之际,首先感谢我的指导导师老师。论文的修改、系统的维护工作都得到了孙老师的关心和帮助。在这几个月的的毕业设计中,孙老师经常在群里和我们交流,询问我们的进展情况,遇到问题耐心地辅导我们,并时常给我们提供大量的相关资料,解决了我在系统中遇到的许多问题,再此感谢不厌其烦的指导设计中的问题。回想我学习的过程,从一个对 Java web 什么都不懂到如今自己可以自主的编写一个系统,真的谢谢教过我的老师们,是老师们的辛勤哺育才会有我的今天,乘凉莫忘种树人,我只能努力的学习来回报老师。遇到问题时我通常会烦躁、焦急,这时老师回过来跟我说,有问题出现很正常,我们就是要解决问题,如果没有问题出
53、现那就不正常了,然后老师也会和我分享他那时候编程的经历,然后跟我说,静心才能凝神,想要解决问题首先要静心。这渐渐的成了我做事的座右铭。同样感谢给予过我帮助的老师和同学们,是你们的帮助和支持使我学有所得。最后,向百忙之中评阅拙文的各位专家、教授致以衷心的感谢,并诚挚地希望各位专家、教授给予批评指正!再次向所有教导我、关心我、帮助我、鼓励我的老师、亲人和朋友致以深深的谢意! 22附附录录程序部分关键代码:程序部分关键代码:代码代码 1-Struts2.xml1-Struts2.xml/home.jsp23 image/jpeg imageStream 2048 result result resu
54、lt 24 /showGood.jsp /index.jsp 40960000 png,bmp,jpg 代码代码 2-baseaction2-baseaction /存放存放 actionaction 共同的一些配置和方法共同的一些配置和方法package com.action.beans;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import
55、java.io.InputStream;import java.io.UnsupportedEncodingException;import java.util.logging.Logger;import javax.servlet.http.HttpServletRequest;25import org.apache.struts2.ServletActionContext;public class BaseAction private HttpServletRequest request;public HttpServletRequest getRequest()try if(reques
56、t=null) request=ServletActionContext.getRequest();request.setCharacterEncoding(utf-8); catch (UnsupportedEncodingException e) / TODO Auto-generated catch blocke.printStackTrace();return null;return request;public String getPath()String path=ServletActionContext.getRequest().getServletPath();int num=
57、path.lastIndexOf(/);String p=path.substring(num);return p;public void removeSession()getRequest().getSession().removeAttribute(path);getRequest().getSession().removeAttribute(msg);public void imagesPath(File file,String path,String obj)FileInputStream in=null;FileOutputStream out=null;path=path+unlo
58、ad_images/;try in=new FileInputStream(file);out=new FileOutputStream(path+obj);26byte b=new byte1024;int len=0;while(len=in.read(b)!=-1)out.write(b, 0, len); catch (Exception e) / TODO Auto-generated catch blocke.printStackTrace();finallytry in.close();out.close(); catch (Exception e) / TODO Auto-ge
59、nerated catch blocke.printStackTrace();public void load_ImagesPath(File file,String obj)FileInputStream in=null;FileOutputStream out=null;String path=e:/footing_images/;try in=new FileInputStream(file);out=new FileOutputStream(path+obj);byte b=new byte1024;int len=0;while(len=in.read(b)!=-1)out.writ
60、e(b, 0, len); catch (Exception e) / TODO Auto-generated catch blocke.printStackTrace();finallytry in.close();27out.close(); catch (Exception e) / TODO Auto-generated catch blocke.printStackTrace();代码代码 3-securityimage3-securityimage 工具类工具类package com.units;import java.awt.Color;import java.awt.Font;impo
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 苏科版数学八年级上册5.1《物体位置的确定》听评课记录
- 八年级道德与法治下册第三单元人民当家作主第五课我国基本制度第3框基本政治制度(第1课时中国共产党领导的多党合作和政治协商制度)听课评课记录(新人教版)
- 人教版九年级数学上册第二十五章概率初步《25.3用频率估计概率》听评课记录
- 八年级思想读本《6.2军强才能国安》听课评课记录
- 小学二年级上乘法口算天天练
- 五年级下册数学听评课记录《折纸》北师大版
- 孵化楼租赁合同范本
- 二零二五年度酒店设施租赁及使用权购买合同
- 外架工班组劳务分包协议书范本
- 工程项目全过程管理协议书范本
- 一级建造师继续教育最全题库及答案(新)
- 2022年高考湖南卷生物试题(含答案解析)
- GB/T 20909-2007钢门窗
- GB/T 17854-1999埋弧焊用不锈钢焊丝和焊剂
- GB/T 15593-2020输血(液)器具用聚氯乙烯塑料
- 直线加速器专项施工方案
- 联苯二氯苄生产工艺及产排污分析
- 储能设备项目采购供应质量管理方案
- 2022年全国卷高考语文答题卡格式
- 复旦大学简介 (课堂PPT)
- CKD马达使用说明
评论
0/150
提交评论