版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Java系统与分析大型实验报告设计题目:基于JavaEE的网上订餐系统班级:姓名:学号:指导老师:需求分析网上订餐系统需要提供客户快捷、方便的订餐服务,开发本系统的具体要求如下:在系统首页需要提供推荐菜单、热门菜单已经菜单搜索功能,方便用户快速选购自己喜欢的菜单。系统要求用户进行注册和登录。在用户订餐完毕后,需要能够自动计算菜单价格。同时在用户提交订单时,需要用户确定订单无误,同时还将自动生成订单号,并保存到系统的剪贴板中,方便用户保存订单号。系统还需要提供会员服务功能,会员每消费一块钱将增加一积分。同时在系统首页将显示积分榜,鼓励会员消费。系统需要提供菜单分类查看功能,从而方便用户选购。功能分析模块:餐店简介模块:用来介绍餐店信息,例如餐店名称、联系人、地址、电话等。美食分类模块:用来分类显示美食信息,可以通过单击菜单来查看菜单详细信息,可以发表评论信息。订餐模块:点击菜单的订餐按钮,进入购物车,提供订餐功能。会员中心模块:用来显示会员身份信息,并提供会员信息更新功能。订单查询模块:负责订单的查询功能,提供订单时间、订单号查询功能。功能说明用例图:图1用户用例图图2管理员用例图系统设计系统流程图:图3前台系统流程图图4后台系统流程图数据库实体表:图5店铺信息表图6订单信息表图7用户信息表图8菜单信息列表图9菜单种类表ER图:图10店铺实体E-R图图11菜单种类实体E-R图图12菜单信息实体E-R图图13用户信息实体E-R图14订单信息实体E-R图模块设计表现层代码如下:<%@pagelanguage="java"import="java.util.*"pageEncoding="utf-8"%><%@pageimport="org.shop.model.*"%><%@tagliburi="/struts-tags"prefix="s"%><%Stringpath=request.getContextPath();StringbasePath=request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%><!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN"><html><head><basehref="<%=basePath%>"><BASEtarget=_self><title>食为天</title> <metahttp-equiv="pragma"content="no-cache"> <metahttp-equiv="cache-control"content="no-cache"> <metahttp-equiv="expires"content="0"> <metahttp-equiv="keywords"content="keyword1,keyword2,keyword3"> <metahttp-equiv="description"content="Thisismypage"> <linkrel="stylesheet"type="text/css"href="styles.css"><scripttype="text/javascript"> functionsetImg(img,width,height) { varscale_w=img.width/width;//按宽度得到的缩放比例 varscale_h=img.height/height;//按高度得到的缩放比例 varscale=scale_w>scale_h?scale_w:scale_h;//得到缩放比例(取最大值) img.width=img.width/scale;//缩放宽度 returnfalse; } varallId=""; varallPrice=0; functionaddShopBus(name,price,num,id) { varstr=name+"价格"+price+"数量"+num+"已加入购物车"; varallPrices=document.getElementById("allPrices"); varallPricess=document.getElementById("allPricess"); varstrId=document.getElementById("strId"); vartable=document.getElementById("shopBusTable"); vartr=table.insertRow(2);//在第二行插入一行,并赋值 vartd1=tr.insertCell(); td1.innerHTML=name; vartd=tr.insertCell(); vartd2=tr.insertCell(); td2.innerHTML=price; vartd3=tr.insertCell(); td3.innerHTML=num; allPrice=allPrice+price; if(allId=="") {allId=allId+id;} else {allId=allId+","+id;} strId.value=allId; allPrices.innerHTML=allPrice; allPricess.value=allPrice; } functioncheck() { varstrId=document.getElementById("strId").value; if(strId!=""){ alert("订单生成成功!"); returntrue;} else{ alert("您还未点菜!"); returnfalse;} } functiongotothat(flag) { if(flag=="login") { showModalDialog("login.jsp", window,"dialogHeight:20;dialogWidth:29;"); } if(flag=="reg") { showModalDialog("reg.jsp", window,"dialogHeight:20;dialogWidth:29;"); } } functionmore(InfoId,TypeId) { showModalDialog("more.jsp?InfoId="+InfoId+"&TypeId="+TypeId, window,"dialogHeight:30;dialogWidth:29;"); }</script></head><body><%ShopInfoshopInfo=(ShopInfo)session.getAttribute("shopInfo");MemberInfomemberInfo=null;if(session.getAttribute("memberInfo")!=null){memberInfo=(MemberInfo)session.getAttribute("memberInfo");}List<MenuType>menuTypes=(List<MenuType>)session.getAttribute("menuType");List<OrderInfo>orderInfos=(List<OrderInfo>)session.getAttribute("orderInfo");MenuTypemenuType=newMenuType();MenuInfomenuInfo=newMenuInfo();%><%if(memberInfo==null){%> <divid="member"> <inputtype="button"value="登录"onclick="javascript:gotothat('login')"> <inputtype="button"value="注册"onclick="javascript:gotothat('reg')"> </div><%}else{%><divid="member">欢迎<%=memberInfo.getName()%>在食为天订餐!<br/>您目前的积分为<%=memberInfo.getSource()%><ahref="login_out">注销</a></div><%}%><divid="shopInfo"><tablewidth="250"><tr><td>店名:</td><td><%=shopInfo.getName()%></td></tr><tr><td>联系人:</td><td><%=shopInfo.getPersonName()%></td></tr><tr><td>联系电话:</td><td><%=shopInfo.getPhone()%></td></tr><tr><td>地址:</td><td><%=shopInfo.getAdress()%></td></tr></table></div><divid="shopBus"><formaction="addOrderInfo"method="post"onsubmit="returncheck()"> <tableid="shopBusTable"> <tr><tdcolspan="3"align="center">购物车</td></tr> <tr><tdwidth="160">菜名<td><tdwidth="40">价格</td><tdwidth="40">数量</td></tr> <tr><tdwidth="160">总价:<fontcolor="red"id="allPrices">0</font><td> <tdwidth="40"><inputid="strId"type="hidden"name="orderInfo.menuAll"value=""></td> <tdwidth="40"><inputid="allPricess"type="hidden"name="orderInfo.allPrice"></td></tr> <tr><tdcolspan="3"align="center"><inputtype="submit"value="生成订单"/></td></tr> </table> </form></div><divid="orderList"><h3>我的订单</h3><table><tr><td>编号</td><td>菜编号</td><td>总价</td><td>时间</td></tr><%if(orderInfos.size()<1){%><tr><tdcolspan="4">您目前还没有订单!</td></tr><%}else{ for(Iteratorit3=orderInfos.iterator();it3.hasNext();) { OrderInfoorderInfo=(OrderInfo)it3.next(); %> <tr> <td><%=orderInfo.getId()%></td> <td><%=orderInfo.getMenuAll()%></td> <td><%=orderInfo.getAllPrice()%></td> <td><%=orderInfo.getTime()%></td> </tr> <%}}%> </table></div><%for(Iteratorit=menuTypes.iterator();it.hasNext();){ menuType=(MenuType)it.next();%><divid="menuType"><h3><%=menuType.getName()%></h3><p><%=menuType.getDescription()%></p><table><tr><%inti=0;//标记for(Iteratorit2=((MenuType)menuType).getMenuInfo().iterator();it2.hasNext();){ menuInfo=(MenuInfo)it2.next(); if(menuInfo!=null){%><td><tableclass="menuInfo"><tr><td>菜名:</td><td><%=menuInfo.getName()%></td></tr><tr><td>图样:</td><td><imgalt="<%=menuInfo.getName()%>"src="menuPhoto/<%=menuInfo.getPhoto()%>"onload="javascript:setImg(this,120,80)"></td></tr><tr><td>单价:</td><td><%=menuInfo.getPrice()%>¥</td></tr><tr><td>描述:</td><td><%=menuInfo.getDescription()%></td></tr><tr><td>编号<%=menuInfo.getId()%><td><inputtype="button"value="详情"onclick="javascript:more('<%=menuInfo.getId()%>',<%=menuType.getId()%>)"/></td></tr><tr><td></td><td><inputtype="button"value="购买"onclick="javascript:addShopBus('<%=menuInfo.getName()%>',<%=menuInfo.getPrice()%>,1,<%=menuInfo.getId()%>)"/></td></tr></table></td><%i++;if(i%4==0){i=1;%></tr><tr><%}}}%></tr></table></div><%}%></body></html>控制层代码如下:<?xmlversion="1.0"encoding="UTF-8"?><!DOCTYPEstrutsPUBLIC"-//ApacheSoftwareFoundation//DTDStrutsConfiguration2.1//EN""/dtds/struts-2.1.dtd"><struts> <packagename="default"extends="struts-default"> <actionname="index"class="org.shop.action.indexLogin"> <resultname="success"> /shopMain.jsp </result> </action> <actionname="addOrderInfo"class="org.shop.action.orderInfo"> <resultname="success">/index.jsp</result> </action> <actionname="login_member"class="org.shop.action.loginAction"> <resultname="success">/login_success.jsp</result> <resultname="error">/login.jsp</result> </action> <actionname="login_super"class="org.shop.action.loginAction"method="superOn"> <resultname="success">/super/super.jsp</result> <resultname="error">/super/login.jsp</result> </action> <actionname="reg"class="org.shop.action.loginAction"method="reg"> <resultname="success">/success.jsp</result> <resultname="error">/reg.jsp</result> </action> <actionname="login_out"class="org.shop.action.loginAction" method="out"> <resultname="success">/index.jsp</result> </action> <actionname="addMessage"class="org.shop.action.messageAction"> <resultname="success">/more.jsp</result> </action> </package></struts>业务逻辑层代码如下:<?xmlversion="1.0"encoding="UTF-8"?><beansxmlns="/schema/beans" xmlns:xsi="/2001/XMLSchema-instance"xmlns:p="/schema/p" xsi:schemaLocation="/schema/beans/schema/beans/spring-beans-2.5.xsd"> <beanid="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> <propertyname="configLocation"value="classpath:hibernate.cfg.xml"> </property> </bean> <beanid="shopInfoDao"class="org.shop.dao.imp.ShopInfoDaoImp"> <propertyname="sessionFactory"ref="sessionFactory"></property> </bean> <beanid="shopInfoService"class="org.shop.service.imp.ShopInfoServiceImp"> <propertyname="shopInfoDao"ref="shopInfoDao"></property> </bean> <beanid="menuTypeDao"class="org.shop.dao.imp.MenuTypeDaoImp"> <propertyname="sessionFactory"ref="sessionFactory"></property> </bean> <beanid="menuTypeService"class="org.shop.service.imp.MenuTypeServiceImp"> <propertyname="menuTypeDao"ref="menuTypeDao"></property> </bean> <beanid="orderInfoDao"class="org.shop.dao.imp.OrderInfoDaoImp"> <propertyname="sessionFactory"ref="sessionFactory"></property> </bean> <beanid="orderInfoService"class="org.shop.service.imp.OrderInfoServiceImp"> <propertyname="orderInfoDao"ref="orderInfoDao"></property> </bean> <beanid="memberInfoDao"class="org.shop.dao.imp.MemberInfoDaoImp"> <propertyname="sessionFactory"ref="sessionFactory"></property> </bean> <beanid="memberInfoService"class="org.shop.service.imp.MemberInfoServiceImp"> <propertyname="memberInfoDao"ref="memberInfoDao"></property> </bean> <beanid="messageInfoDao"class="org.shop.dao.imp.MessageInfoDaoImp"> <propertyname="sessionFactory"ref="sessionFactory"></property> </bean> <beanid="messageInfoService"class="org.shop.service.imp.MessageInfoServiceImp"> <propertyname="messageInfoDao"ref="messageInfoDao"></property> </bean></beans>持久层代码如下:<?xmlversion='1.0'encoding='UTF-8'?><!DOCTYPEhibernate-configurationPUBLIC"-//Hibernate/HibernateConfig
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论