電子點(diǎn)餐系統(tǒng)——服務(wù)器端的設(shè)計(jì)與實(shí)現(xiàn)_第1頁
已閱讀1頁,還剩43頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、<p><b>  本科畢業(yè)設(shè)計(jì)說明書</b></p><p>  題 目:電子點(diǎn)餐系統(tǒng)——</p><p>  服務(wù)器端的設(shè)計(jì)與實(shí)現(xiàn)</p><p>  院 (部):計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院</p><p>  專 業(yè): 軟件工程</p><p>  班 級: 軟件123

2、</p><p>  姓 名: 俞延峰</p><p>  學(xué) 號: 20121112125</p><p><b>  指導(dǎo)教師: 伊靜</b></p><p>  完成日期: 2016年6月30日</p><p>  目 錄(目錄頁碼格式不對,尤其是頁碼)</p>

3、<p><b>  摘 要Ⅵ</b></p><p>  ABSTRACTⅦ</p><p>  1前 言- 1 -</p><p>  1.1 選題背景- 1 -</p><p>  1.2 系統(tǒng)簡要說明- 1 -</p><p>  1.3 開發(fā)技術(shù)介紹- 1 -<

4、/p><p>  1.3.1 MVC設(shè)計(jì)模式介紹- 2 -</p><p>  1.3.2 Struts框架簡介- 3 -</p><p>  1.3.3 Hibernate對象關(guān)系映射框架簡介- 3 -</p><p>  1.3.4 Spring框架簡介- 3 -</p><p>  2 需求分析- 4 -&

5、lt;/p><p>  2.1 系統(tǒng)設(shè)計(jì)目標(biāo)- 4 -</p><p>  2.2 可行性分析- 4 -</p><p>  2.3 系統(tǒng)特點(diǎn)- 4 -</p><p>  2.4 系統(tǒng)功能- 5 -</p><p>  2.5 系統(tǒng)環(huán)境- 5 -</p><p>  2.5.1

6、系統(tǒng)運(yùn)行環(huán)境- 5 -</p><p>  2.5.1 系統(tǒng)開發(fā)環(huán)境- 5 -</p><p>  3 概要設(shè)計(jì)- 6 -</p><p>  3.1 系統(tǒng)功能結(jié)構(gòu)- 7 -</p><p>  3.2 系統(tǒng)功能描述- 7 -</p><p>  3.2.1 消費(fèi)者模塊- 7 -</p>&l

7、t;p>  3.2.1 點(diǎn)菜員模塊- 7 -</p><p>  3.3 數(shù)據(jù)設(shè)計(jì)- 8 -</p><p>  3.3.1數(shù)據(jù)庫需求分析- 8 -</p><p>  3.3.2 E-R圖- 8 -</p><p>  3.3.3 數(shù)據(jù)庫物理設(shè)計(jì)- 9 -</p><p>  4 詳細(xì)設(shè)計(jì)與系統(tǒng)的實(shí)現(xiàn)

8、- 11 -</p><p>  4.1 系統(tǒng)類和包的組織介紹- 12 -</p><p>  4.2 架構(gòu)的實(shí)現(xiàn)- 12 -</p><p>  4.2.1 表示層的實(shí)現(xiàn)- 12 -</p><p>  4.2.2 業(yè)務(wù)邏輯層的實(shí)現(xiàn)- 17 -</p><p>  4.2.3 數(shù)據(jù)持久層的實(shí)現(xiàn)- 18 -

9、</p><p>  4.3 功能模塊的實(shí)現(xiàn)- 18 -</p><p>  4.3.1消費(fèi)者模塊的實(shí)現(xiàn)- 18 -</p><p>  4.3.2點(diǎn)菜員模塊的實(shí)現(xiàn)- 22 -</p><p>  4.3.3后廚模塊的實(shí)現(xiàn)- 24 -</p><p>  4.3.4經(jīng)理模塊的實(shí)現(xiàn)- 27 -</p>

10、;<p>  5系統(tǒng)測試- 32 -</p><p>  5.1測試主要功能點(diǎn)- 34 -</p><p>  5.2測試準(zhǔn)備工作- 34 -</p><p>  5.3測試結(jié)果- 35 -</p><p>  5.4驗(yàn)收測試- 35 -</p><p>  6 結(jié)論- 36 -</p&

11、gt;<p>  謝 辭- 37 -</p><p>  參考文獻(xiàn)- 38 -</p><p><b>  摘 要</b></p><p>  (紅色為增加的文字)</p><p>  “電子點(diǎn)餐系統(tǒng)—服務(wù)器端功能的設(shè)計(jì)與實(shí)現(xiàn)”的設(shè)計(jì)目的是為了實(shí)現(xiàn)餐館點(diǎn)菜工作信息化,高效為顧客服務(wù)的重要工作之一。系統(tǒng)結(jié)

12、合點(diǎn)菜工作的特點(diǎn),利用網(wǎng)絡(luò)的有效傳播性,提高點(diǎn)菜工作效率、節(jié)省點(diǎn)菜時(shí)間,盡快生成點(diǎn)菜單,為各位前來消費(fèi)的顧客提供及時(shí)而豐富的菜譜信息,幫助顧客選擇美味并且豐盛的佳肴。</p><p>  本文關(guān)于“電子點(diǎn)餐系統(tǒng)”進(jìn)行了說明,系統(tǒng)基于MVC開發(fā)模式,總共分為三層:業(yè)務(wù)層、數(shù)據(jù)層、表現(xiàn)層。業(yè)務(wù)層負(fù)責(zé)業(yè)務(wù)邏輯的處理,數(shù)據(jù)層負(fù)責(zé)與數(shù)據(jù)庫后臺交互,表現(xiàn)層負(fù)責(zé)前臺界面的展示。運(yùn)用了struts+spring+hibernat

13、e的集成框架,其中使用Struts作為系統(tǒng)的整體基礎(chǔ)架構(gòu),負(fù)責(zé)MVC的分離,在Struts框架的模型部分,控制業(yè)務(wù)跳轉(zhuǎn),利用Hibernate框架對持久層提供支持,Spring做管理,管理struts和hibernate。第二段需要重新寫,系統(tǒng)實(shí)現(xiàn)了什么功能,用什么技術(shù)實(shí)現(xiàn)的,達(dá)到了什么效果。</p><p>  關(guān)鍵詞:電子點(diǎn)餐系統(tǒng);MVC;Struts;Spring;Hibernate</p>

14、<p>  Electronic ordering system - Design and implementation of server</p><p><b>  ABSTRACT</b></p><p>  "Electronic ordering system" is designed to work in order to a

15、chieve a la carte restaurant information, one of the important work and efficient customer service. Combining the characteristics of a la carte system work, the use of effective dissemination of the network, a la carte i

16、mprove efficiency and save time ordering, generating carte menu as soon as possible for you to come and spend customers to provide timely information and rich recipes, to help customers choose delicious and hearty cuis&l

17、t;/p><p>  Key Words: Electronic ordering system;MVC;struts+spring+hibernate</p><p><b>  1前 言</b></p><p><b>  1.1 選題背景</b></p><p>  在這個(gè)科技高速發(fā)展的時(shí)代,科技

18、改變了很多傳統(tǒng)行業(yè)的運(yùn)營模式。當(dāng)然,餐飲業(yè)也不例外,通常情況下,餐廳點(diǎn)餐、送單、結(jié)賬都采用人工傳遞,這種工作流程效率低下,而且在就餐高峰期,服務(wù)員在快速手寫菜單、人工送單中可能還會增加誤操作,造成客人投訴,影響到服務(wù)質(zhì)量,甚至有損餐廳的聲譽(yù)。在這個(gè)“民以食為天”的社會中,遠(yuǎn)遠(yuǎn)不能滿足廣大消費(fèi)者的飲食需求。基于以上問題,本人開發(fā)了一個(gè)“電子點(diǎn)餐系統(tǒng)”,該系統(tǒng)能夠縮短點(diǎn)餐、下單的時(shí)間,提高餐廳的用餐效率;最大限度的降低了點(diǎn)才下單過程中的出錯(cuò)

19、率;增加消費(fèi)者的滿意程度;美觀簡潔的界面方便消費(fèi)者的使用,強(qiáng)大的功能滿足了商家的基本需求。它可以取代傳統(tǒng)的手工方式,工作效率得到了顯著提高。 </p><p>  1.2 系統(tǒng)簡要說明</p><p>  “電子點(diǎn)餐系統(tǒng)”的設(shè)計(jì)目的是為了實(shí)現(xiàn)餐館點(diǎn)菜工作信息化,高效為顧客服務(wù)的重要工作之一。系統(tǒng)結(jié)合點(diǎn)菜工作的特點(diǎn),利用網(wǎng)絡(luò)的有效傳播性,提高點(diǎn)菜工作效

20、率、節(jié)省點(diǎn)菜時(shí)間,盡快生成點(diǎn)菜單,為各位前來消費(fèi)的顧客提供及時(shí)而豐富的菜譜信息,幫助顧客選擇美味并且豐盛的佳肴。消費(fèi)者是該系統(tǒng)的重要組成部分,該業(yè)務(wù)模塊的主要功能包括:</p><p><b>  消費(fèi)者點(diǎn)餐</b></p><p><b>  消費(fèi)者下單</b></p><p><b>  消費(fèi)者評價(jià)</

21、b></p><p>  修改個(gè)人信息以及刪除訂單</p><p>  1.3 開發(fā)技術(shù)介紹</p><p>  “電子點(diǎn)餐系統(tǒng)”,通過消費(fèi)者以及點(diǎn)菜員的智能點(diǎn)餐,提高了效率,采用基于MVC開發(fā)模式,采用SSH架構(gòu)編寫的一套點(diǎn)餐系統(tǒng)。</p><p>  1.3.1 MVC設(shè)計(jì)模式介紹(與大家重合率太高)</p><

22、p>  MVC全名是Model View Controller,是模型(model)-視圖(view)-控制器(controller)的縮寫,一種軟件設(shè)計(jì)典范,用一種業(yè)務(wù)邏輯、數(shù)據(jù)、界面 顯示分離的方法組織代碼,將業(yè)務(wù)邏輯聚集到一個(gè)部件里面,在改進(jìn)和個(gè)性化定制界面及用戶交互的同時(shí),不需要重新編寫業(yè)務(wù)邏輯。MVC被獨(dú)特的發(fā)展起來用于映射傳統(tǒng)的輸入、處理和輸出功能在一個(gè)邏輯的圖形化用戶界面的結(jié)構(gòu)中。</p><p&

23、gt;  模型-視圖-控制器(MVC)是Xerox PARC在二十世紀(jì)八十年代為編程語言Smalltalk-80發(fā)明的一種軟件設(shè)計(jì)模式,已被廣泛使用。后來被推薦為Oracle旗下Sun公司Java EE平臺的設(shè)計(jì)模式,并且受到越來越多的使用ColdFusion和PHP的開發(fā)者的歡迎。</p><p>  MVC是一個(gè)框架模式,它強(qiáng)制性的使應(yīng)用程序的輸入、處理和輸出分開。使MVC應(yīng)用程序被分成三個(gè)核心部件:模型、視

24、圖、控制器。它們各自處理自己的任務(wù)。最典型的MVC就是JSP + servlet + javabean的模式。</p><p>  總結(jié)一下MVC處理過程,首先控制器用來接收用戶的請求,來決定調(diào)用那個(gè)模型來處理,然后模型用業(yè)務(wù)邏輯來處理用戶的請求并返回?cái)?shù)據(jù),最后控制器用相應(yīng)的視圖格式化模型返回?cái)?shù)據(jù),并通過表示層呈現(xiàn)給用戶。</p><p>  mvc中的模型、視圖和控制器如圖1-1所示。&

25、lt;/p><p>  圖1-1 mvc模型</p><p>  1.3.2 Struts框架簡介</p><p>  Struts是最早的java開源框架之一,它是MVC設(shè)計(jì)模式的一個(gè)優(yōu)秀實(shí)現(xiàn)。 Struts定義了通用的Controller(控制器),通過配置文件(通常是 Struts -config.xml)隔離Model(模型)和View(視圖),以Action的

26、概念以對用戶請求進(jìn)行了封裝,使代碼更加清晰易讀。 Struts還提供了自動將請求的數(shù)據(jù)填充到對象中以及頁面標(biāo)簽等簡化編碼的工具。 Struts能夠開發(fā)大型Java Web項(xiàng)目。</p><p>  1.3.3 Hibernate對象關(guān)系映射框架簡介</p><p>  Hibernate是一個(gè)開放源代碼的對象關(guān)系映射框架,它對JDBC進(jìn)行了非常輕量級的對象封裝,使得Java程序員可以隨心所

27、欲的使用對象編程思維來 操縱數(shù)據(jù)庫。 Hibernate可以應(yīng)用在任何使用JDBC的場合,既可以在Java的客戶端程序使用,也可以在Servlet/JSP的Web應(yīng)用中使用,最具革命 意義的是,Hibernate可以在應(yīng)用EJB的J2EE架構(gòu)中取代CMP,完成數(shù)據(jù)持久化的重任。</p><p>  1.3.4 Spring框架簡介</p><p>  Spring是一個(gè)開源框架,Sprin

28、g是于2003 年興起的一個(gè)輕量級的Java 開發(fā)框架,由Rod Johnson 在其著作Expert One-On-One J2EE Development and Design中闡述的部分理念和原型衍生而來。它是為了解決企業(yè)應(yīng)用開發(fā)的復(fù)雜性而創(chuàng)建的??蚣艿闹饕獌?yōu)勢之一就是其分層架構(gòu),分層架構(gòu)允許使用者選擇使用哪一個(gè)組件,同時(shí)為 J2EE應(yīng)用程序開發(fā)提供集成的框架。Spring使用基本的JavaBean來完成以前只可能由EJB完成的事

29、情。然而,Spring的用途不僅限于服務(wù)器端的開發(fā)。從簡單性、可測試性和松耦合的角度而言,任何Java應(yīng)用都可以從Spring中受益。Spring的核心是控制反轉(zhuǎn)(IoC)和面向切面(AOP)。簡單來說,Spring是一個(gè)分層的JavaSE/EEfull-stack(一站式) 輕量級開源框架。</p><p><b>  2 需求分析</b></p><p>  2.

30、1 系統(tǒng)設(shè)計(jì)目標(biāo)</p><p>  根據(jù)該系統(tǒng)的實(shí)際情況和特點(diǎn),采用了jsp作為開發(fā)方式,采用了mysql數(shù)據(jù)庫,采用mvc模式,SSH框架的電子點(diǎn)餐系統(tǒng)才得以設(shè)計(jì)與實(shí)現(xiàn)。最終實(shí)現(xiàn)了包含消費(fèi)者點(diǎn)餐,點(diǎn)菜員幫助點(diǎn)餐,廚師操作菜品等功能。</p><p>  2.2 可行性分析</p><p>  可行性分析是通過對項(xiàng)目的主要內(nèi)容和配套條件,如市場需求、資源供應(yīng)、建

31、設(shè)規(guī)模、工藝路線、設(shè)備選型、環(huán)境影響、資金籌措、盈利能力等,從技術(shù)、經(jīng)濟(jì)、工 程等方面進(jìn)行調(diào)查研究和分析比較,并對項(xiàng)目建成以后可能取得的財(cái)務(wù)、經(jīng)濟(jì)效益及社會環(huán)境影響進(jìn)行預(yù)測,從而提出該項(xiàng)目是否值得投資和如何進(jìn)行建設(shè)的咨詢意 見,為項(xiàng)目決策提供依據(jù)的一種綜合性的系統(tǒng)分析方法??尚行苑治鰬?yīng)具有預(yù)見性、公正性、可靠性、科學(xué)性的特點(diǎn)</p><p>  軟件可行性分析最根本的是:如果問題不值得解,分析員應(yīng)該建議,以避免時(shí)

32、間、資源、人力和金錢的浪費(fèi);如果問題值得解,分析員應(yīng)該一個(gè),并且為工程制定一個(gè)初步的計(jì)劃。軟件可行性分析包括以下八個(gè)步驟</p><p>  1. 復(fù)查系統(tǒng)規(guī)模和目標(biāo)</p><p>  2. 研究目前正在使用的系統(tǒng)</p><p>  3. 導(dǎo)出新系統(tǒng)的高層邏輯模型</p><p><b>  4. 重新定義問題</b>

33、;</p><p>  5. 導(dǎo)出和評價(jià)供選擇的解法</p><p><b>  6. 推薦行動方針</b></p><p><b>  7. 草擬開發(fā)計(jì)劃</b></p><p>  8. 書寫文檔提交審查</p><p><b>  2.3 系統(tǒng)特點(diǎn)</

34、b></p><p>  電子點(diǎn)菜系統(tǒng)主要實(shí)現(xiàn)對消費(fèi)者點(diǎn)餐下單的管理,最終實(shí)現(xiàn)集點(diǎn)餐下單、確認(rèn)訂單、制作訂單、完成訂單等一列功能于一體的簡潔的營銷模式。</p><p>  根據(jù)以上所提及的功能,系統(tǒng)應(yīng)該具有以下幾項(xiàng)重要特點(diǎn):</p><p>  美觀的界面,給消費(fèi)者提供視覺的吸引。</p><p>  合理易懂的功能劃分,方便消費(fèi)者了

35、解和使用本系統(tǒng),提高效率。</p><p>  方便的數(shù)據(jù)查詢功能,可以實(shí)時(shí)對菜品菜單的更新作出調(diào)整</p><p>  保證系統(tǒng)數(shù)據(jù)的可靠性和運(yùn)行的穩(wěn)定性</p><p><b>  2.4 系統(tǒng)功能</b></p><p>  提供經(jīng)理管理功能,方便對菜品、點(diǎn)菜員以及后廚進(jìn)行增刪改查等操作。</p>

36、<p>  支持點(diǎn)菜功能,跟蹤消費(fèi)者下單情況,做實(shí)時(shí)地調(diào)整</p><p><b>  2.5 系統(tǒng)環(huán)境</b></p><p>  2.5.1 系統(tǒng)運(yùn)行環(huán)境</p><p>  電子點(diǎn)餐系統(tǒng)運(yùn)用SSH框架,基于MVC模式設(shè)計(jì)開發(fā)。整個(gè)系統(tǒng)具備可重用、跨平臺、易于維護(hù)等特點(diǎn)。</p><p><b>

37、;  服務(wù)器端</b></p><p>  處理器:Intel酷睿i5 3210MCPU 或更高</p><p>  內(nèi)存:DDR3 4GB或以上</p><p>  操作系統(tǒng):Windows系列PC機(jī)</p><p>  應(yīng)用服務(wù)器:Apache tomcat</p><p>  Java運(yùn)行環(huán)境:JDK

38、1.6</p><p><b>  數(shù)據(jù)庫:MySql</b></p><p><b> ?。?)客戶端</b></p><p>  處理器:Inter Pentium 4 1.6 GHz或更高</p><p>  內(nèi)存:256MB或以上</p><p>  瀏覽器:各種瀏覽

39、器均可,建議分辨率為1024×768像素</p><p>  2.5.1 系統(tǒng)開發(fā)環(huán)境</p><p>  由于開發(fā)工具M(jìn)yEclipse對內(nèi)存要求較高,未保證其能正常運(yùn)行及調(diào)試,內(nèi)存應(yīng)在512M以上。</p><p>  PC機(jī):Intel酷睿i5 3210MCPU + DDR3</p><p>  操作系統(tǒng):Windows系列P

40、C機(jī)</p><p>  開發(fā)語言:java,jsp,ajax</p><p>  所用框架: Struts2 + Hibernate + Spring</p><p>  開發(fā)工具:Apache Tomcat 6.0 JDK 1.6.0</p><p>  IDE:Myeclipse8.5</p><p><b

41、>  3 概要設(shè)計(jì)</b></p><p>  3.1 系統(tǒng)功能結(jié)構(gòu)</p><p>  根據(jù)需求分析,電子點(diǎn)餐系統(tǒng)的功能結(jié)構(gòu)圖如圖3-1所示。主要包括消費(fèi)者點(diǎn)餐、下單、評價(jià),點(diǎn)菜員點(diǎn)餐、下單、確認(rèn)訂單,后廚修改菜品、確認(rèn)訂單以及經(jīng)理管理用戶和菜單、根據(jù)銷量調(diào)整菜品價(jià)格。</p><p>  圖 3-1 系統(tǒng)功能結(jié)構(gòu)圖</p><

42、;p>  3.2 系統(tǒng)功能描述</p><p>  根據(jù)需求,電子點(diǎn)餐系統(tǒng)設(shè)計(jì)了如圖3-1中所示的幾大功能,下面簡單介紹消費(fèi)者和點(diǎn)菜員這兩大功能模塊:</p><p>  3.2.1 消費(fèi)者模塊</p><p>  此模塊可以進(jìn)行消費(fèi)者點(diǎn)餐、下單、撤單、評價(jià)等功能,并且可以查看以及修改個(gè)人信息。如圖3-2所示。</p><p>  圖3

43、-2 消費(fèi)者模塊</p><p>  3.2.1 點(diǎn)菜員模塊</p><p>  此模塊可以進(jìn)行點(diǎn)菜員代替消費(fèi)者點(diǎn)餐、下單、撤單、修改訂單狀態(tài)等功能,并且可以查看以及修改個(gè)人信息。如圖3-3所示。</p><p>  圖3-3 點(diǎn)菜員模塊功能圖</p><p><b>  3.3 數(shù)據(jù)設(shè)計(jì)</b></p>

44、<p>  3.3.1數(shù)據(jù)庫需求分析</p><p>  數(shù)據(jù)庫需求分析是了解和分析用戶的需求,是系統(tǒng)設(shè)計(jì)的基礎(chǔ),也是最困難,耗時(shí)最長的一部分。</p><p>  以實(shí)現(xiàn)基本功能為出發(fā)點(diǎn),結(jié)合系統(tǒng)的功能進(jìn)行需求分析,主要包括如下:</p><p>  用戶表,用來存放用戶基本信息</p><p>  訂單表,用來存放用戶的訂單的信

45、息</p><p>  菜單表,用來存放菜單的信息</p><p>  評價(jià)表,用來存放用戶評價(jià)的信息</p><p>  3.3.2 E-R圖(本部分,所有的圖的下面圖示,都要居中)</p><p>  主要表的主要屬性所對應(yīng)的E-R圖,如下圖所示:</p><p><b>  圖3-4 用戶表</b

46、></p><p><b>  圖3-5 訂單表</b></p><p><b>  圖3-6 菜單表</b></p><p><b>  圖3-7 評價(jià)表</b></p><p>  3.3.3 數(shù)據(jù)庫物理設(shè)計(jì)(本部分,所有的表都缺少表頭)</p><

47、;p>  根據(jù)概念設(shè)計(jì),電子點(diǎn)餐系統(tǒng)的數(shù)據(jù)庫物理設(shè)計(jì)主要有以下幾個(gè)數(shù)據(jù)表:</p><p> ?。?)用戶表cfy_users,包含用戶名,密碼,姓名,性別,年齡,郵箱,用戶類型</p><p> ?。?)訂單表cfy_orders,包括訂單id,用戶名,訂單,金額,訂單狀態(tài)</p><p>  (3)菜單表cfy_menu,包括菜單ID,菜單名,價(jià)格,類型&

48、lt;/p><p> ?。?)用戶評價(jià)表cfy_assess,包括評價(jià)ID,用戶名,評價(jià)內(nèi)容</p><p>  4 詳細(xì)設(shè)計(jì)與系統(tǒng)的實(shí)現(xiàn) </p><p>  4.1 系統(tǒng)類和包的組織介紹</p><p>  整個(gè)系統(tǒng)劃分為5個(gè)包,dao主要是后臺數(shù)據(jù)的增刪改查,domain是bean類以及其對應(yīng)的數(shù)據(jù)庫映射,service中間層處理web

49、層與dao層交互,web層負(fù)責(zé)與前臺頁面交互,page存放前臺jsp界面。</p><p>  4.2 架構(gòu)的實(shí)現(xiàn)(本部分的代碼需要重新排版,不要將所有的代碼都羅列,有重點(diǎn)的)</p><p>  4.2.1 表示層的實(shí)現(xiàn)</p><p>  表示層主由struts控制,Struts作為系統(tǒng)的整體基礎(chǔ)架構(gòu),負(fù)責(zé)MVC的分離,在Struts框架的模型部分,控制業(yè)務(wù)跳轉(zhuǎn)

50、。web.xml以及struts配置文件如下所示:</p><p><b>  web.xml</b></p><p>  <?xml version="1.0" encoding="UTF-8"?></p><p>  <web-app version="2.5"

51、</p><p>  xmlns="http://java.sun.com/xml/ns/javaee" </p><p>  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" </p><p>  xsi:schemaLocation="http://jav

52、a.sun.com/xml/ns/javaee </p><p>  http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"></p><p><b>  <filter></b></p><p>  <filter-name>struts2</filt

53、er-name></p><p>  <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class></p><p><b>  </filter></b></p><p&g

54、t;  <filter-mapping></p><p>  <filter-name>struts2</filter-name></p><p>  <url-pattern>/*</url-pattern></p><p>  </filter-mapping></p><

55、;p>  <listener></p><p>  <listener-class>org.springframework.web.context.ContextLoaderListener</p><p>  </listener-class></p><p>  </listener></p>

56、<p>  <context-param></p><p>  <param-name>contextConfigLocation</param-name></p><p>  <param-value>classpath:beans.xml</param-value></p><p>  <

57、;/context-param></p><p>  <welcome-file-list></p><p>  <welcome-file>index.jsp</welcome-file></p><p>  </welcome-file-list></p><p>  </web

58、-app></p><p>  Struts.xml</p><p>  <?xml version="1.0" encoding="UTF-8"?></p><p>  <!DOCTYPE struts PUBLIC</p><p>  "-//Apache Soft

59、ware Foundation//DTD Struts Configuration 2.1.7//EN"</p><p>  "http://struts.apache.org/dtds/struts-2.1.7.dtd"></p><p><b>  <struts></b></p><p> 

60、 <!-- 配置action的訪問路徑為.do的形式 --></p><p>  <constant name="struts.action.extension" value="do"></constant></p><p>  <!-- 配置struts的開發(fā)模式 --></p><

61、;p>  <constant name="struts.devMode" value="true"></constant></p><p>  <!-- 配置struts的簡單模式 --></p><p>  <constant name="struts.ui.theme" valu

62、e="simple"></constant></p><p>  <package name="" namespace="/" extends="struts-default,json-default"></p><p>  <result-types></p&

63、gt;<p>  <result-type name="json" class="org.apache.struts2.json.JSONResult"/></p><p>  </result-types></p><p>  <interceptors></p><p> 

64、 <interceptor name="json" class="org.apache.struts2.json.JSONInterceptor"/></p><p>  </interceptors></p><p>  <action name="cfyLoginAction_*" class=&

65、quot;cn.cfy.web.action.CfyLoginAction" method="{1}" ></p><p>  <!-- 首頁登錄 --></p><p>  <result name="orderPage"></p><p>  /WEB-INF/page/menu/o

66、rderOnline.jsp</p><p><b>  </result></b></p><p>  <result name="dcyLogin"></p><p>  /WEB-INF/page/seller/dcyMain.jsp</p><p><b> 

67、 </result></b></p><p>  <result name="hcLogin"></p><p>  /WEB-INF/page/seller/hcMain.jsp</p><p><b>  </result></b></p><p>

68、  <result name="jlLogin"></p><p>  /WEB-INF/page/seller/jlMain.jsp</p><p><b>  </result></b></p><p>  <result name="userLogin"><

69、/p><p>  /WEB-INF/page/menu/userMain.jsp</p><p><b>  </result></b></p><p>  <result name="register"></p><p>  /WEB-INF/page/menu/register

70、.jsp</p><p><b>  </result></b></p><p>  <result name="home"></p><p>  /WEB-INF/page/menu/home.jsp</p><p><b>  </result><

71、;/b></p><p>  <result name="loginMain"></p><p>  /WEB-INF/page/menu/loginMain.jsp</p><p><b>  </result></b></p><p>  <result nam

72、e="experienceYaduo"></p><p>  /WEB-INF/page/menu/experienceYaduo.jsp</p><p><b>  </result></b></p><p>  <result name="myInfo"></p&g

73、t;<p>  /WEB-INF/page/menu/myInfo.jsp</p><p>  </result></p><p>  <result name="AssessUs"></p><p>  /WEB-INF/page/menu/AssessUs.jsp</p><p>

74、;  </result></p><p>  <result name="getAllPerson"></p><p>  /WEB-INF/page/seller/jlAllStaff.jsp</p><p><b>  </result></b></p><p&g

75、t;  <result name="addPerson"></p><p>  /WEB-INF/page/seller/addPerson.jsp</p><p>  </result></p><p>  <result name="jlUpdatePerson"></p>

76、<p>  /WEB-INF/page/seller/jlUpdatePerson.jsp</p><p><b>  </result></b></p><p>  <result name="userAssess"></p><p>  /WEB-INF/page/seller/us

77、erAssess.jsp</p><p><b>  </result></b></p><p>  <result name="getPerson" type="json"> <!-- 這里指定將被Struts2序列化的屬性,該屬性在action中必須有對應(yīng)的getter方法 --><

78、;/p><p>  <param name="root">list</param></p><p><b>  </result></b></p><p>  <result name="getUserAssess" type="json">

79、 <!-- 這里指定將被Struts2序列化的屬性,該屬性在action中必須有對應(yīng)的getter方法 --></p><p>  <param name="root">list</param></p><p><b>  </result></b></p><p><

80、b>  </action></b></p><p>  <action name="cfyRegisterAction_*" class="cn.cfy.web.action.CfyRegisterAction" method="{1}"></p><p>  <result nam

81、e="registerSuccess"></p><p>  /WEB-INF/page/menu/index.jsp</p><p><b>  </result></b></p><p>  <result name="loginMain"></p><

82、;p>  /WEB-INF/page/menu/loginMain.jsp</p><p><b>  </result></b></p><p>  </action></p><p>  <action name="cfyMenuAction_*" class="cn.cf

83、y.web.action.CfyMenuAction" method="{1}"></p><p>  <result name="meat"></p><p>  /WEB-INF/page/menu/meat.jsp</p><p><b>  </result></

84、b></p><p>  <result name="greens"></p><p>  /WEB-INF/page/menu/greens.jsp</p><p><b>  </result></b></p><p>  <result name="

85、seafood"></p><p>  /WEB-INF/page/menu/seafood.jsp</p><p><b>  </result></b></p><p>  <result name="discount"></p><p>  /WEB-IN

86、F/page/menu/discount.jsp</p><p><b>  </result></b></p><p>  <result name="feature"></p><p>  /WEB-INF/page/menu/feature.jsp</p><p><

87、;b>  </result></b></p><p>  <result name="childMenu"></p><p>  /WEB-INF/page/menu/childMenu.jsp</p><p>  </result></p><p>  <re

88、sult name="myMenu"></p><p>  /WEB-INF/page/menu/myMenu.jsp</p><p><b>  </result></b></p><p>  <result name="allOrders"></p><

89、;p>  /WEB-INF/page/seller/allOrders.jsp</p><p><b>  </result></b></p><p>  <result name="hcAllOrders"></p><p>  /WEB-INF/page/seller/hcAllOrders

90、.jsp</p><p><b>  </result></b></p><p>  <result name="getAllMenu"></p><p>  /WEB-INF/page/seller/allMenu.jsp</p><p><b>  </re

91、sult></b></p><p>  <result name="addMenu"></p><p>  /WEB-INF/page/seller/addMenu.jsp</p><p><b>  </result></b></p><p>  <r

92、esult name="hcUpdateMenu"></p><p>  /WEB-INF/page/seller/hcUpdateMenu.jsp</p><p><b>  </result></b></p><p>  <result name="hcSureOrders"&

93、gt;</p><p>  /WEB-INF/page/seller/hcSureOrders.jsp</p><p><b>  </result></b></p><p>  <result name="hcMakingOrders"></p><p>  /WEB-INF

94、/page/seller/hcMakingOrders.jsp</p><p><b>  </result></b></p><p>  <result name="ordersNum"></p><p>  /WEB-INF/page/seller/ordersNum.jsp</p>

95、<p><b>  </result></b></p><p>  <result name="getMeat" type="json"> <!-- 這里指定將被Struts2序列化的屬性,該屬性在action中必須有對應(yīng)的getter方法 --></p><p>  <p

96、aram name="root">list</param></p><p><b>  </result></b></p><p>  <result name="getGreens" type="json"> <!-- 這里指定將被Struts2序列化的屬性

97、,該屬性在action中必須有對應(yīng)的getter方法 --></p><p>  <param name="root">list</param></p><p><b>  </result></b></p><p>  <result name="getSeafoo

98、d" type="json"> <!-- 這里指定將被Struts2序列化的屬性,該屬性在action中必須有對應(yīng)的getter方法 --></p><p>  <param name="root">list</param></p><p><b>  </result>&l

99、t;/b></p><p>  <result name="getDiscount" type="json"> <!-- 這里指定將被Struts2序列化的屬性,該屬性在action中必須有對應(yīng)的getter方法 --></p><p>  <param name="root">list

100、</param></p><p><b>  </result></b></p><p>  <result name="getFeature" type="json"> <!-- 這里指定將被Struts2序列化的屬性,該屬性在action中必須有對應(yīng)的getter方法 -->

101、</p><p>  <param name="root">list</param></p><p><b>  </result></b></p><p>  <result name="getChildMenu" type="json"&g

102、t; <!-- 這里指定將被Struts2序列化的屬性,該屬性在action中必須有對應(yīng)的getter方法 --></p><p>  <param name="root">list</param></p><p><b>  </result></b></p><p>  

103、<result name="getMyMenu" type="json"> <!-- 這里指定將被Struts2序列化的屬性,該屬性在action中必須有對應(yīng)的getter方法 --></p><p>  <param name="root">list</param></p><p&g

104、t;<b>  </result></b></p><p>  <result name="getOrders" type="json"> <!-- 這里指定將被Struts2序列化的屬性,該屬性在action中必須有對應(yīng)的getter方法 --></p><p>  <param n

105、ame="root">list</param></p><p><b>  </result></b></p><p>  <result name="getMenu" type="json"> <!-- 這里指定將被Struts2序列化的屬性,該屬性在act

106、ion中必須有對應(yīng)的getter方法 --></p><p>  <param name="root">list</param></p><p><b>  </result></b></p><p>  <result name="getSureOrders&quo

107、t; type="json"> <!-- 這里指定將被Struts2序列化的屬性,該屬性在action中必須有對應(yīng)的getter方法 --></p><p>  <param name="root">list</param></p><p><b>  </result></b&

108、gt;</p><p>  <result name="getMakingOrders" type="json"></p><p>  <!-- 這里指定將被Struts2序列化的屬性,該屬性在action中必須有對應(yīng)的getter方法 --></p><p>  <param name=&quo

109、t;root">list</param></p><p><b>  </result></b></p><p>  </action></p><p>  </package></p><p><b>  </struts><

110、/b></p><p>  4.2.2 業(yè)務(wù)邏輯層的實(shí)現(xiàn)</p><p>  業(yè)務(wù)邏輯層主要是由Spring控制,Spring是一個(gè)輕量級的控制反轉(zhuǎn)(IoC)和面向切面(AOP)的容器框架。Spring可以將簡單的組件配置、組合成為復(fù)雜的應(yīng)用。在Spring中,應(yīng)用對象被聲明式地組合,典型地是在一個(gè)XML文件里。Spring也提供了很多基礎(chǔ)功能(事務(wù)管理、持久化框架集成等等),將應(yīng)用

111、邏輯的開發(fā)留給了你。Spring配置文件如下:</p><p>  <?xml version="1.0" encoding="UTF-8"?></p><p>  <beans xmlns="http://www.springframework.org/schema/beans"</p><

112、;p>  xmlns:context="http://www.springframework.org/schema/context"</p><p>  xmlns:aop="http://www.springframework.org/schema/aop"</p><p>  xmlns:tx="http://www.spring

113、framework.org/schema/tx"</p><p>  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"</p><p>  xsi:schemaLocation="http://www.springframework.org/schema/beans

114、 http://www.springframework.org/schema/beans/spring-beans-2.5.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context

115、-2.5.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd http://www.springframework.org/sc</p><p

116、>  <!-- 1.配置注解的自動掃描范圍 --></p><p>  <context:component-scan base-package="cn.cfy"></context:component-scan></p><p>  <!-- 2.配置數(shù)據(jù)源 --></p><p>  &l

117、t;!-- 3.創(chuàng)建sessionFactory,這是spring整合hibernate的入口 --></p><p>  <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"></p><p>  &

118、lt;property name="configLocation"></p><p>  <value>classpath:hibernate.cfg.xml</value></p><p>  </property></p><p><b>  </bean></b>

119、</p><p>  <!-- 4.創(chuàng)建事務(wù)管理器 --></p><p>  <bean id="txManage" class="org.springframework.orm.hibernate3.HibernateTransactionManager"></p><p>  <proper

120、ty name="sessionFactory" ref="sessionFactory"></property></p><p><b>  </bean></b></p><p>  <!-- 5.以注解的形式管理事務(wù) --></p><p>  <t

121、x:annotation-driven transaction-manager="txManage"/></p><p><b>  </beans></b></p><p>  4.2.3 數(shù)據(jù)持久層的實(shí)現(xiàn)</p><p>  數(shù)據(jù)持久層由hibernate控制。通過hibernate調(diào)用數(shù)據(jù)庫實(shí)現(xiàn)數(shù)據(jù)的

122、增刪改查,供Service層調(diào)用。hibernate配置文件如下:</p><p>  <?xml version="1.0" encoding="UTF-8"?></p><p>  <!DOCTYPE hibernate-configuration PUBLIC</p><p>  "-//Hi

123、bernate/Hibernate Configuration DTD 3.0//EN"</p><p>  "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"></p><p>  <hibernate-configuration></p>&l

124、t;p>  <session-factory></p><p>  <property name="hibernate.connection.username">root</property></p><p>  <property name="hibernate.connection.password"

125、;></property></p><p>  <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property></p><p>  <property name="hibernate.connection.ur

126、l"></p><p>  jdbc:mysql://localhost:3306/CFY?useUnicode=true&amp;</p><p>  characterEncoding=UTF-8</p><p>  </property></p><p>  <property name=&qu

127、ot;hibernate.connection.autocommit">true</property></p><p>  <property name="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</property></p><p>  <pr

128、operty name="hibernate.hbm2ddl.auto">update</property></p><p>  <property name="hibernate.show_sql">true</property></p><p>  <mapping resource="c

129、n/cfy/domain/CfyUsers.hbm.xml"/></p><p>  <mapping resource="cn/cfy/domain/CfyMenu.hbm.xml"/></p><p>  <mapping resource="cn/cfy/domain/CfyOrders.hbm.xml"/&g

130、t;</p><p>  <mapping resource="cn/cfy/domain/CfyAssess.hbm.xml"/></p><p>  </session-factory></p><p>  </hibernate-configuration></p><p>  4

131、.3 功能模塊的實(shí)現(xiàn)</p><p>  4.3.1消費(fèi)者模塊的實(shí)現(xiàn)</p><p>  消費(fèi)者可以實(shí)現(xiàn)點(diǎn)餐、下單、撤單、評價(jià)等功能,業(yè)務(wù)流程,如圖4-1所示:</p><p>  功能實(shí)現(xiàn),操作界面如下所示:這行文字出現(xiàn)的奇怪???</p><p>  4.3.1.1系統(tǒng)登錄</p><p>  進(jìn)入登錄界面,輸入賬

132、號密碼,驗(yàn)證之后登錄系統(tǒng):</p><p><b>  圖4-2 系統(tǒng)登錄</b></p><p>  4.3.1.2消費(fèi)者模塊功能</p><p>  功能說明:點(diǎn)菜、下單、撤單、評價(jià)。關(guān)鍵代碼如下:</p><p>  顯示菜單關(guān)鍵代碼:(只需要主要代碼列出)</p><p>  CfyMen

133、uAction.java</p><p>  public String getAllMenu(){</p><p>  return "getAllMenu";</p><p><b>  }</b></p><p>  public String getMenu(){</p><

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論