Java網(wǎng)上訂餐系統(tǒng)與分析大型實驗報告_第1頁
Java網(wǎng)上訂餐系統(tǒng)與分析大型實驗報告_第2頁
Java網(wǎng)上訂餐系統(tǒng)與分析大型實驗報告_第3頁
Java網(wǎng)上訂餐系統(tǒng)與分析大型實驗報告_第4頁
Java網(wǎng)上訂餐系統(tǒng)與分析大型實驗報告_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

Java系統(tǒng)與分析大型實驗報告設(shè)計題目:基于JavaEE的網(wǎng)上訂餐系統(tǒng)班級:姓名:學(xué)號:指導(dǎo)老師:需求分析網(wǎng)上訂餐系統(tǒng)需要提供客戶快捷、方便的訂餐服務(wù),開發(fā)本系統(tǒng)的具體要求如下:在系統(tǒng)首頁需要提供推薦菜單、熱門菜單已經(jīng)菜單搜索功能,方便用戶快速選購自己喜歡的菜單。系統(tǒng)要求用戶進行注冊和登錄。在用戶訂餐完畢后,需要能夠自動計算菜單價格。同時在用戶提交訂單時,需要用戶確定訂單無誤,同時還將自動生成訂單號,并保存到系統(tǒng)的剪貼板中,方便用戶保存訂單號。系統(tǒng)還需要提供會員服務(wù)功能,會員每消費一塊錢將增加一積分。同時在系統(tǒng)首頁將顯示積分榜,鼓勵會員消費。系統(tǒng)需要提供菜單分類查看功能,從而方便用戶選購。功能分析模塊:餐店簡介模塊:用來介紹餐店信息,例如餐店名稱、聯(lián)系人、地址、電話等。美食分類模塊:用來分類顯示美食信息,可以通過單擊菜單來查看菜單詳細信息,可以發(fā)表評論信息。訂餐模塊:點擊菜單的訂餐按鈕,進入購物車,提供訂餐功能。會員中心模塊:用來顯示會員身份信息,并提供會員信息更新功能。訂單查詢模塊:負責(zé)訂單的查詢功能,提供訂單時間、訂單號查詢功能。功能說明用例圖:圖1用戶用例圖圖2管理員用例圖系統(tǒng)設(shè)計系統(tǒng)流程圖:圖3前臺系統(tǒng)流程圖圖4后臺系統(tǒng)流程圖數(shù)據(jù)庫實體表:圖5店鋪信息表圖6訂單信息表圖7用戶信息表圖8菜單信息列表圖9菜單種類表ER圖:圖10店鋪實體E-R圖圖11菜單種類實體E-R圖圖12菜單信息實體E-R圖圖13用戶信息實體E-R圖14訂單信息實體E-R圖模塊設(shè)計表現(xiàn)層代碼如下:<%@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+"數(shù)量"+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>聯(lián)系人:</td><td><%=shopInfo.getPersonName()%></td></tr><tr><td>聯(lián)系電話:</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">數(shù)量</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;//標(biāo)記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>業(yè)務(wù)邏輯層代碼如下:<?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. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論