基于MVC的订餐系统的设计与实现_第1页
基于MVC的订餐系统的设计与实现_第2页
基于MVC的订餐系统的设计与实现_第3页
基于MVC的订餐系统的设计与实现_第4页
基于MVC的订餐系统的设计与实现_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

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

文档简介

1、基于MVC的订餐系统的设计与实现摘 要: 本文分析了传统餐饮现状和面临的问题,发现传统的服务模式已经不能适应市场发展的需求。随着网络技术的普及,方便、快捷的网上订餐服务正在进入人们的生活。针对这类问题,本文规划了一套最贴切的服务模式,为餐饮店铺提供区域网络门户,适应不同的客户群。本设计是一个基于MVC模式的网上订餐系统,能提供网络选择浏览菜品、点菜订餐等服务。为管理员提供一个智能的服务平台实现顾客信息与顾客订单的管理,从而提高了服务的质量。1、 目的与意义现代社会,人们生活节奏加快,有些甚至连外出吃饭的时间都抽不出来,本系统的设计目的是为了满足消费者只要通过互联网就可以足不出户的订购自己喜欢的

2、菜品,改变传统商业交易,在互联网上进行交易,实现网上购买食物。在订餐系统中,除了用户注册和用户登录功能,最为核心的功能就是订餐部分的功能。订餐模块的特点是:用户通过简单的输入数量和点击确认按钮操作完成点餐,并能在购物车中查看自己的购物信息。本系统在此模块的运行方式:在页面上显示食物的信息,包括食物名称、食物价格和食物图片等,当用户找到自己喜欢的食物时,通过输入自己订购的数量后,点击确定按钮后订餐。然后在购物车中可以查看到自己当前订餐的情况,可以删除不想要的食物,或者修改订餐的数量。另外,本系统中还开发了管理员的管理功能,如对用户的查询、删除、修改、增加,对事物的查询、删除、修改、增加,对订单的

3、查询删除和修改。2、 理论基础及技术路线本系统应用了MVC的开发模式,结合JSP和少量AJAX技术实现的。MVC(model、view、controller)模式,实现了业务模型和用户视图的分离。在本系统中,MVC的处理流程:首先通过点击视图表单中的submit按钮,再通过表单中的method值获取传输的方法,通过action值在web.xml中找到对应servlet,再到servlet中调用business处理数据,最后将数据返回视图。这种视图层和业务层分离,允许更改视图层代码而不用重新编译模型和控制器代码,同样业务流程或者业务规则的改变只需要改动模型层即可。JSP是基于JavaServle

4、t以及整个Java体系的web开发技术。在传统的网页HTML文件(*.htm,*.html)中加入脚本片段和JSP标记(Tag),构成JSP网页(*.jsp)。JSP技术为创建显示动态生成内容的web页面提供了简便的方法。JSP作为Java家族的一员,承袭了Java的特点,即跨平台的特性,也即一次编译,到处运行。在本系统中,通过大量运用插入java代码片段,从数据库中读取到信息,再把数据显示在页面上。AJAX技术是一项异步数据传输功能,在不刷新页面的情况下对页面信息更新。在本系统中,这项技术主要运用在注册页面当中。在用户注册的时候,通过JavaScript的XMLHttpRequest对象向服

5、务器端发送异步数据请求,从数据库中检索输入的用户名是否存在,如果存在就想客户端返回已经注册的消息,如果没有注册就向客户端返回可以注册的消息。3、 模块总体设计用例图:顾客用例图(主要对订单的增加和修改)管理员用例图(主要对用户、订单和食物的查增删改)数据流图:模块图: 系统总功能模块注册模块图:登录模块图:ER图: 系统er图数据库表:customer表属性数据类型允许空cnovarchar(3)not nullPrimary keycpasswordvarchar(10)not nullcadressvarchar(10)not nullcphonevarchar(10)not nullsu

6、pervarchar(1)not nullorder表属性数据类型允许空onovarchar(3)not nullPrimary keycnovarchar(3)not nullfnovarchar(3)not nullpriceintnot nullnumberintnot nullfood表属性数据类型允许空fnamevarchar(10)not nullPrimary keyftypevarchar(3)fimagevarchar(20)fpriceint(3)not null4、系统实现这一部分主要是截图,包括开发环境(MyEclipse或者Eclipse J2EE的工程文件夹部分)截

7、图,系统运行截图,另外对于核心代码也可以贴一两段出来,不过凡是出现的代码和截图都必需配有文字说明。Eclipse J2EE的工程文件夹部分: 用户注册界面: 运用ajax判断用户名是否可以注册。JavaScript部分代码如下:、/此段通过XMLHttpRequest对象的状态对页面中id为msg的div元素的内容进行设置。function callback()var msg = document.getElementById(msg);msg.innerHTML=;if(xmlHttpRequest.readyState = 4)if(xmlHttpRequest.status = 200)

8、var data =xmlHttpRequest.responseText;if(data = true)msg.innerHTML = 用户已存在;msg.style.color=red;document.getElementById(username).select();elsemsg.innerHTML = ok;msg.style.color=green;/此段创建XMLHttpRequest对象并传入的username设置参数,处理器的url等。function checkUserExists()var username = document.getElementById(usern

9、ame);var url = checkUserServlet;var param = username= + encodeURIComponent(username.value);xmlHttpRequest = createXmlHttpRequest();xmlHttpRequest.onreadystatechange = callback;xmlHttpRequest.open(POST,url,true);xmlHttpRequest.setRequestHeader(Content-type,application/x-www-form-urlencoded);xmlHttpRe

10、quest.send(param);下面用正则表达式判断用户名是否合法:function check()var regm1 =/a-zA-Z_+a-zA-Z0-9_+$/;if(form.username.value = | form.username.value=username)alert(Name is null.);form.username.focus();return false;if(!form.username.value.match(regm1)alert(Name is not right.);form.username.focus();return false;用户登录界

11、面:用户点餐界面:显示食物部分代码(其中图片用相对路径):/此段通过java代码从数据库中取出食物表的信息,在页面中显示出来。 地道小吃类 img src= input type=text value= class=fno name=fno input type=text value= class=fno name=price 数量: 点餐 订购成功界面:购物车界面:管理员管理界面:添加用户:添加完跳转至用户显示信息界面:添加食物(图片为默认图片):添加完成跳转至食物信息界面:添加订单:添加完成后跳转至查看订单界面:按号查找用户:查找完成跳转到用户信息显示页面:对信息修改后显示所有用户信息(修改c01密码为c02):5、总结这个系统是基于MVC的订餐系统,其中仅仅实现了很少一部分功能,还有很大的完善空间,以后我也会尽量完善我的订餐系统。在系统制作过程中,运用了很多方面的知识,JSP、MYSQL、XML、HTML、CSS 、JAVASCRIPT等,大大的丰富了我的知识量,也是对某些已经学过的知识的回顾和比较系统的应用。在系统的制作过程中遇到了不少的问题,比如说一个页面的参数传不到另外一个页面,后来通过查找资料后不断尝试,终于用session的方法解决了这个问题。另外通过这个系统的制作

温馨提示

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

评论

0/150

提交评论