您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 酒店餐饮 > 订餐系统javaee课程设计
课程设计说明书NO.1沈阳大学网上订餐系统1.课程设计的目的当计算机与互联网飞速的发展和使用,越来越多的公司、单位和个人通过网站提供服务、公布信息、交流知识等使互联网越来越方便我们的生活。在Web开发中,Java语言以其可扩展性、灵活性、可靠性和跨平台等特点,成为进行web编程的首选。更重要的是,开源社区提供了一大批功能强大的框架技术,Structs、Spring、Hibernate等,利用这些技术使我们更高效的维护和建立我们自己的网站同时也让网站的开发更加方便和快捷。在这学期课堂上所学到的Java知识,能够为我们解决一些实际问题的能力。利用一周时间,使用Java框架技术完成网上订餐系统的分析设计和开发。有了网上订餐系统,人们可以在家随意挑选自己喜爱的食物。现在正是经济全球化的时代,利用网络,我们可以浏览不同地区甚至不同国家的商品,这也改变着人们的消费观,网上订餐系统正是符合了这一趋势的发展,越来越多的人能够不出门就能吃上美味可口的饭菜。2.设计方案论证2.1需求分析随着科技的进步、计算机技术的发展,越来越多的人选择用网络来满足自己的需求,网上订餐的出现,正是体现了这一点。不少商家都把眼观放在了网上销售这一方面,把实体销售渐渐转变为网上销售。现在人们越来越重视节省时间,提高效率,不管是消费者还是商家都如此,有了网上订餐系统,可以让订餐者与餐厅进行互动,足不出户,选择自己喜爱的菜品,对与商家而言,这样做节省了成本,不需要为实体店的地址而烦恼,这样做对于商家和消费者来说无疑是双赢的。2.2系统总体设计本系统为了便于各种操作,采用多页面的模式。用户可在不同网页进行相应操作:⑴在管理员信息表中,包括的数据项:帐号,密码,权限,注册时间。课程设计说明书NO.2沈阳大学⑵在订餐客户信息表中,包括的数据项:用户编号,用户名,密码,姓名,电话,身份证,注册时间等。⑶在菜品信息表中,包括的数据项:菜品编号,菜品名称,菜品价格,内容,类别,添加时间等,每道菜都有它的菜名、介绍、价格等信息,为了让菜品的这些信息在页面有个很好的呈现,我们把这些信息存入菜品信息表中进行维护。。⑷在定单列表中,包括的数据项:定单列表编号,用户名,菜品编号,下单时间等。⑸在购物车信息,包括的数据项:购物车信息唯一标识,食品id,订餐用户名,添加时间等。当顾客选购菜品放入购物车时,我们会把这些菜品的id、数量、价格记录存入订单关联表中,通过订单关联表中的信息算出会员将要支付的金额,再通过菜品id这个主健把相应的信息存入个人订单这张表中进行维护。⑹为了有效地管理菜品,在新增菜品时加了一个分类属性,在此需要建张分类表进行维护,系统总体功能图如图1所示。图1系统功能框图2.3系统流程设计课程设计信息管理系统,包括用户注册、管理员登录、菜品查询、菜品详单等。任务执行的流程如图2所示。后台菜肴价目信息发布餐厅销售统计用户留言及售后服务前台用户管理菜单浏览订单管理用户反馈网上订餐系统课程设计说明书NO.3沈阳大学图2系统流程图2.4数据库设计该系统是借助MySQL数据库对数据进行统一管理的。在网上订餐系统中需MySQL创建数据库“订餐管理系统”,MySQL数据库中数据的操作可以分为四种不同的类型,分别是添加、删除、查询和修改。该数据库包含的表有菜品信息表、管理员表、订单表等。2.4.1菜品信息表菜品信息表,记录系统中的菜品信息。把汉字转化为汉语拼音,作为字段名。把ID设为主键,且不为空,bianhao、mingcheng、leibie、tupian、jianjie、jiage、faburen、addtime与之相关联,如表1所示。进入系统主界面浏览页面用户注册用户登录选购商品数据库数据库加入购物车结账管理员登录用户注册订单查询后台管理注销登录操作页面菜品搜索系统公告课程设计说明书NO.4沈阳大学表1菜品信息表字段名类型长度是否为主键是否为空说明idint11是否菜品编号bianhaovarchar20否是菜品编码mingchengvarchar50否是菜品名称leibievarchar20否是菜品类别tupianvarchar50否是菜品图片jianjievarchar50否是菜品简介faburenvarchar30否是发布人2.4.2管理员信息表管理员信息表,存储系统中的管理员信息。把汉字转化为汉语拼音,作为字段名。其中,ID设置为int型,并设为主键,且不能为空;username、pwd设置为varchar型,如表2所示。表2管理员信息表字段名类型长度是否为主键是否为空说明IdInt10是否用户编号usernameVarchar30否是用户姓名PwdVarchar30否是用户密码课程设计说明书NO.5沈阳大学2.4.3用户注册信息表用户注册信息表,记录系统中的注册用户信息。把汉字转化为汉语拼音,作为字段名。把ID设为主键,且不为空,zhanghao、mima、ximgming、diqu、zhaopian、issh与之相关联。表3用户注册信息表字段名类型长度是否为主键是否为空说明idint11是否编号Zhanghaovarchar30否是账号mimavarchar20否是密码Xingmingvarchar30否是姓名Diquvarchar50否是地区Zhaopianvarchar50否是照片Isshvarchar10否是备注2.5主要功能用struts框架中的异常处理机制,本系统自定义了异常类SystemException和异常处理类SystemExceptionHandler。在MessageResources.properties中定义需要在Dao中抛出异常时声明的内容。在struts-config.xml中配置公共异常处理文件global-exceptions,加入资源文件message-resourcesparameter=MessageResources/在Dao中抛出自定义异常。并在公共异常处理页面中使用struts标签html:errors/进行异常信息显示。顾客模块为封装的异常跳转页面如下图3所示:课程设计说明书NO.6沈阳大学图3在struts-config.xml文件中的配置信息如下:global-exceptionsexceptionkey=errors.detailtype=com.hhq.util.SystemExceptionhandler=com.hhq.util.SystemExceptionHandlerpath=/jsp/clientError.jsp//global-exceptions在配置文件中可见,异常是以键值对的方式在struts1.1中存放,type属性是指异常类,handler属性是指异常的处理类,path属性是指出现异常后跳转的错误页面。3.设计结果与分析3.1订餐系统登录界面设计该系统通过输入用户名和密码进行登录,登录界面如图4所示。课程设计说明书NO.7沈阳大学图4登录界面功能描述:顾客登陆管理,包括登陆时管理员需要输入用户名、密码、验证码、也可已选择是否记录用户名和密码以便以后登录。如果管理员选择记住用户名和密码则下一次登陆的时候只需要输入验证码,即可直接登录。(1)登录页面控制模块Login相关代码如下:login.jsp:%@pagelanguage=javaimport=java.util.*,com.actions.*pageEncoding=gbk%%Stringpath=request.getContextPath();StringbasePath=request.getScheme()+://+request.getServerName()+:+request.getServerPort()+path+/;%%@taglibprefix=suri=/struts-tags%!DOCTYPEHTMLPUBLIC-//W3C//DTDHTML4.01Transitional//ENhtmlheadtitle登录页面/titlestyletype=text/css/style/headbodydivalign=centerbrspanclass=STYLE2订餐系统/span/div课程设计说明书NO.8沈阳大学divalign=centers:formaction=logins:textfieldname=userNamelabel=用户名value=/s:textfields:passwordname=passwordlabel=密码value=/s:passworddivalign=centers:submitvalue=登录/s:propertyvalue=resultMSG//div/s:form/div/body/htmlpublicclassALogin{publicvoiddoLogin(HashtableinputData,HashtableoutputData,HttpSessionmySession)throwsException{//获取输入信息StringsUsername=(String)inputData.get(username);StringsPassword=(String)inputData.get(password);//校验用户输入信息LUserlUser=(LUser)GlobalObjectProvider.getLogicService(CommonConst.LOGIC_KEY_USER);//如果对应的类没有的话,报错并返回login页面if(lUser==null){thrownewException(用户名或密码错误请重新输入!);}//获取用户信息UseruserInfo=lUser.getUserInfo(sUsername,sPassword);if(userInfo==null){outputData.put(pageId,CommonConst.VIEWID_LOGIN);outputData.put(errMsg,用户名密码检查失败!请重新输入。);outputData.put(username,sUsername);return;}Else{outputData.put(pageId,CommonConst.VIEWID_MENU);//往session中设置用户信息mySession.setAttribute(loginUser,userInfo);return;}}}课程设计说明书NO.9沈阳大学3.2订餐系统主页面模块设计用户可以通过订餐系统主页面进行订餐如图5所示。图5功能描述:顾客登陆管理,包括(1)登陆时可以以游客或者会员的两种方式进行订餐操作,如果是会员登陆,先前需要录入用户名、密码、验证码,以便系统确认登陆成功。(2)会员个人信息管理,会员可以修改个人资料(如:电话,地址等),也可以查看订餐信息,了解当前订餐的动态(详见会员登录流程图)。(3)选购美食,作为顾客,在挑选美食的过程中,可以直接将称心的美食选进购物车中也可通过一系列查询,进一步了解后,再选择美食(详见选购美食流程图)。选购美食部分代码如下:……//得到在Spring中动态注入的Service层对象……//得到日志对象logpublicActionForwardqueryForAll(ActionMappingmapping,ActionFormform,HttpServletRequestrequest,HttpServletResponseresponse){Stringforward=first;课程设计说明书NO.10沈阳大学if(request.getParameter(user).equals(manager)){forward=queryDishes;}Foodfood=newFood();List
本文标题:订餐系统javaee课程设计
链接地址:https://www.777doc.com/doc-1901009 .html