![JSP網(wǎng)上訂餐系統(tǒng)的畢設畢業(yè)論文.doc_第1頁](http://file.renrendoc.com/FileRoot1/2019-12/28/20be0463-05c5-4fcd-a931-a14ccf1c92f4/20be0463-05c5-4fcd-a931-a14ccf1c92f41.gif)
![JSP網(wǎng)上訂餐系統(tǒng)的畢設畢業(yè)論文.doc_第2頁](http://file.renrendoc.com/FileRoot1/2019-12/28/20be0463-05c5-4fcd-a931-a14ccf1c92f4/20be0463-05c5-4fcd-a931-a14ccf1c92f42.gif)
![JSP網(wǎng)上訂餐系統(tǒng)的畢設畢業(yè)論文.doc_第3頁](http://file.renrendoc.com/FileRoot1/2019-12/28/20be0463-05c5-4fcd-a931-a14ccf1c92f4/20be0463-05c5-4fcd-a931-a14ccf1c92f43.gif)
![JSP網(wǎng)上訂餐系統(tǒng)的畢設畢業(yè)論文.doc_第4頁](http://file.renrendoc.com/FileRoot1/2019-12/28/20be0463-05c5-4fcd-a931-a14ccf1c92f4/20be0463-05c5-4fcd-a931-a14ccf1c92f44.gif)
![JSP網(wǎng)上訂餐系統(tǒng)的畢設畢業(yè)論文.doc_第5頁](http://file.renrendoc.com/FileRoot1/2019-12/28/20be0463-05c5-4fcd-a931-a14ccf1c92f4/20be0463-05c5-4fcd-a931-a14ccf1c92f45.gif)
已閱讀5頁,還剩45頁未讀, 繼續(xù)免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
摘 要本系統(tǒng)屬于商品管理自動化系統(tǒng)的一個子系統(tǒng),它也是一個單獨的功能完善的系統(tǒng),本課題是網(wǎng)上訂餐管理系統(tǒng)的研發(fā),本文的系統(tǒng)分析和設計只是相對于一般的團體而言。本文包括網(wǎng)上訂餐管理系統(tǒng)NOMS(Net-Order Management system)的總體方案設計和開發(fā)。著重介紹了訂餐管理系統(tǒng)的詳細開發(fā)方案和實現(xiàn),內容涉及系統(tǒng)分析、軟件設計。在開發(fā)設計中,采用B/S(Browser/Server)結構,這種結構使得數(shù)據(jù)只有結果集合在瀏覽器中顯示,數(shù)據(jù)的處理在服務器進行,用戶不用安裝客戶端,而且由于通過服務器端統(tǒng)一管理數(shù)據(jù),易于保證數(shù)據(jù)的一致性。數(shù)據(jù)庫方面,推薦業(yè)界具有領導地位的關系數(shù)據(jù)庫管理系統(tǒng)Microsoft SQL sever2005,使系統(tǒng)安全性能更高。同時采用當前正在流行的JSP(Java Server Pages)編程,用戶界面更友好。在開發(fā)中選擇了JSP+JavaBean+SQL2005的模式,實現(xiàn)了應用程序邏輯和頁面顯示分離,界面設計更簡單。JavaBean可重用的軟件組件滿足小型應用,同時使編程人員投入量精力便可重用組件,在簡單的應用中可以充分考慮。關鍵詞:網(wǎng)上訂餐管理系統(tǒng);NOMS(Order management system);B/S;JSP(Java Server Pages);JavaBeanABSTRACTThis system belongs to the product management automation system a sub- system, it also is the system which an independent function consummates,This topic is the Net-Order Management System partial research and development, This article system analysis and the design only is opposite in the common association says.This paper includes system design and development of NOMS. It introduced the detailed development product management and realizations of the Net-Order Managerment System. It contains system analysis and design of software.In developing, it adopts the structure of Browser/Server. This structure makes only concourse of result data print in the browser. And this kind of structure can lighten client burden greatly. As the server administers the data in unison, it is apt to guarantee the consistency of the data. The Microsoft SQL sever2005 database is security, so lots of use it. In addition, the tool of JSP makes the interface more amity.Chose in the development JSP+JavaBean+SQL2005 Pattern,Realized The contact surface design is simpler.JavaBeanMay entrust with heavy responsibility software moduleSatisfies the small application,Also causesThe programmers inputs energy then may entrust with heavy responsibility the module,May fully consider in the simple application.KEY WORD: B/S;NOMS; Jsp;Javabean目 錄第一章 概 述11.1 課題的背景及意義11.2課題分析11.3技術方案的選取21.3.1 開發(fā)語言21.3.2 開發(fā)模式選擇31.3.3 數(shù)據(jù)庫3第二章 系統(tǒng)概述52.1運行環(huán)境52.1.1軟件運行環(huán)境52.2需求分析52.2.1 管理者的需求52.2.2 系統(tǒng)使用者需求62.2.3 系統(tǒng)維護人員需求62.3 總體設計原則72.4 系統(tǒng)體系結構分析72.4.1 C/S結構與B/S結構72.4.2 B/S與C/S的優(yōu)越性8第三章 程序設計103.1系統(tǒng)數(shù)據(jù)庫設計123.2 程序模塊設計153.3 系統(tǒng)模塊總圖153.3 分頁顯示算法163.4 上傳下載的實現(xiàn)錯誤!未定義書簽。3.4.1 jspSmartUpload組件的特點錯誤!未定義書簽。3.4.2、jspSmartUpload組件相關類錯誤!未定義書簽。3.4.3jspSmartUpload實例錯誤!未定義書簽。3.5程序界面設計錯誤!未定義書簽。第四章 系統(tǒng)實現(xiàn)主要技術184.1 JavaServer Pages(JSP)技術簡介184.2 JSP 和其他類似或相關技術的一個簡單比較194.3 最佳JSP應用服務器Tomcat204.4 javaBean組件技術204.5 JSP中JavaBeans的應用234.5.1 操作指令244.5.2 JavaBeans的Scope屬性244.7 Tomcat配置264.7.1 Server.xml文件配置264.8 數(shù)據(jù)庫編程284.8.1數(shù)據(jù)庫編程基礎及語法284.8.2 本系統(tǒng)中的連接方式31第五章 測試問題及解決325.1 java漢字處理問題及解決錯誤!未定義書簽。5.2文件下載問題錯誤!未定義書簽。結 論41結束語42參考文獻43附 錄錯誤!未定義書簽。第一章 概 述1.1課題的背景及意義隨著Internet的普及,越來越多的企業(yè)建立了自己的WWW網(wǎng)站,企業(yè)通過網(wǎng)站可以展示產(chǎn)品,發(fā)布最新動態(tài)信息,與用戶進行交流和溝通,與合作伙伴建立聯(lián)系,以及開展電子商務等。其中網(wǎng)上訂餐系統(tǒng)是電子商務網(wǎng)站的一種,隨著信息化時代的到來,人們對生活質量的追求不斷提高,由于人們工作,學習的關系,常常無法正常吃飯,隨著網(wǎng)絡的普及,網(wǎng)上訂餐業(yè)務在中國開始盛行,人們也通過網(wǎng)絡訂餐的方式獲得自己需要的食物。這樣既節(jié)省了時間,也可以為廣大用戶提供更多的口味。該系統(tǒng)使用JSP(Java語言)和SQL Server2005數(shù)據(jù)庫開發(fā), 實現(xiàn)了網(wǎng)上訂餐系統(tǒng)的動態(tài)管理,使得網(wǎng)上訂餐的管理更加及時、高效,提高了工作效率。該管理系統(tǒng)具有一般網(wǎng)上訂餐系統(tǒng)的功能,從大的方面來講主要包括餐飲管理,預定管理,用戶管理等幾個大的功能模塊。該系統(tǒng)是基于B/S(Browser/Server,瀏覽器/客戶端)模式實現(xiàn),基于Myeclipse平臺架構開發(fā)設計,主要實現(xiàn)對網(wǎng)上訂餐的使用、需求、以及用戶訂餐的動態(tài)管理等。隨著Internet/Intranet技術的興起,將原本在單機或本地局域網(wǎng)上運行的數(shù)據(jù)庫系統(tǒng)移植到因特網(wǎng)中,即開發(fā)基于B/S模式的新一代MIS(Management Information System,管理信息系統(tǒng))系統(tǒng),正成為技術發(fā)展的趨勢。為了保證系統(tǒng)性能的高效性、可擴展性,以及達到數(shù)據(jù)共享和網(wǎng)絡化管理的目的,本系統(tǒng)采用B/S體系結構進行設計開發(fā)。1.2課題分析該系統(tǒng)分為前臺和后臺兩個部分,前臺部分主要是用戶進行資訊的瀏覽,以及訂餐,管理等,主要是面向用戶的。而后臺主要是管理人員對前臺數(shù)據(jù)的維護和設置,主要是面向管理人員的。網(wǎng)上訂餐系統(tǒng)無論是在應用的深度還是廣度都是一個逐步發(fā)展的過程。在開發(fā)一個局部系統(tǒng)時要充分考慮到局部系統(tǒng)和整個目標系統(tǒng)之間的相容性和完整性,以利于今后整個系統(tǒng)的建立。該系統(tǒng)從總體上把握系統(tǒng)的設計,在具體的設計實現(xiàn)上我們圍繞著三個方面的需求展開,即管理者、系統(tǒng)使用者、系統(tǒng)維護者。對于本系統(tǒng)的不同使用者,其功能與業(yè)務邏輯是不盡相同的。對于普通用戶而言,系統(tǒng)主要像用戶展示一個美觀的界面,用戶在可以瀏覽各類資訊,查詢餐飲信息,訂餐等。而管理員則需要在后臺維護這些數(shù)據(jù)。1.3技術方案的選取1.3.1 開發(fā)語言隨著互聯(lián)網(wǎng)技術的不斷發(fā)展,基于瀏覽器/服務器(Browser/Server 簡稱B/S)體系結構的應用程序得到了空前廣泛的應用。但是服務器之間的通訊,尤其是在不同平臺上運行的服務器之間的通訊仍然不是一件容易的事情。因為大多數(shù)Internet應用程序都是以數(shù)據(jù)庫為中心的,方便的訪問多種數(shù)據(jù)源的能力也比以往任何時候都更加重要。JSP無疑可以輕松地實現(xiàn)這類功能,JSP技術是一種服務器端的HTML頁面中嵌入JAVA代碼的腳本語言,它比一般腳本語言的執(zhí)行速度更快,由于JSP是基于JAVA語言的,所以它可以運行在UNIX/LINUX和WINDOWS平臺上,是一種難得的動態(tài)網(wǎng)頁開發(fā)語言。在動態(tài)內容的解決問題中,還存在其他的解決方法,但是開發(fā)人員要掌握這些技術很難。例如,Java Servlets這樣的技術就可以使得用Java語言編寫交互式的應用程序的服務器端的代碼變得更加簡單。Java Servlets就是一個基于Java技術的運行在服務器端的程序(與Applet不同,后者運行在瀏覽器端)。開發(fā)人員編寫出Servlet程序,用來接收來自Web瀏覽器的HTTP請求,動態(tài)地生成響應,然后發(fā)送包含HTML或XML文檔到瀏覽器。但是使用這種方法,整個網(wǎng)頁必須都在Java Servlet中制作。如果開發(fā)人員或者Web管理人員想要調整頁面的顯示,就不得不從新編輯并編譯Java Servlet程序。采用這種方法,編寫帶有動態(tài)內容的頁面需要有很熟練的應用程序開發(fā)技巧和經(jīng)驗。很顯然,一個簡單的創(chuàng)建動態(tài)頁面的解決方案要能解決以下的問題: 1. 能夠在任何Web或應用程序服務器上運行2. 將應用程序邏輯和頁面顯示分離3. 能夠快速地開發(fā)和測試4. 簡化開發(fā)基于Web的交互式應用程序的過程JavaServer Pages (JSP)滿足這些要求,它整合了存在的Java編程環(huán)境提供支持的技術和工具,產(chǎn)生了一種新的、開發(fā)基于Web應用程序的方法,這個方法給予使用基于組件應用的邏輯頁面的設計者提供了強大的功能。1.3.2 開發(fā)模式選擇JSP有兩中開發(fā)模式JSP+JavaBeans和JSP+Servlet+JavaBeans,在模式一中,JSP頁面獨自響應請求并將處理結果返回客戶。所有的數(shù)據(jù)通過Bean來處理JSP實現(xiàn)頁面的表現(xiàn)。模式一技術實現(xiàn)了頁面的表現(xiàn)-和頁面的商業(yè)邏輯相分離。大量使用模式一形式,常常會導致頁面被嵌入大量的腳本語言或JAVA代碼。當需要處理的商業(yè)邏輯很復雜時,這種情況會變得非常糟糕。大量的代碼會使整個頁面變得常復雜。對于前端界面設計人員來說,這簡直不可想象。這種情況在大項目中最為常見,這也造成了代碼的開發(fā)和維護出現(xiàn)困難,造成了不必要的資源浪費,在任何項目中,這樣的模式總會導致多多少少的定義不清的響應和項目管理的困難。 綜上所訴,模式一不能滿足大型項目的需要,但是可以較好的滿足小型應用,在簡單的應用中可以考慮模式一。模式二JSP+Servlet+JavaBeans中 ,Servlets技術是一種采用JAVA技術來實現(xiàn)CGI功能的一種術。Servlets技術是運行在WEB服務器上,用來生成WEB頁面。Servlets技術非常實用于服務器端的處理和編程,并且Servlet會長期駐留在他們所處的位置。 但是在實際的項目開發(fā)過程中,頁面設計者可以方便地使用普通HTML工具來開發(fā)JSP頁面,Servlet卻更適合于后端開發(fā)者使用,開發(fā)Servlet需要的是JAVA集成開發(fā)環(huán)境,也就是說Servlet技術更需要編程人員。 模式二技術結合了JSP和Servlet技術充分體現(xiàn)了兩者的技術優(yōu)點。在此模式中通過JSP來表現(xiàn)頁面。通過Servlet來完成大量的事務處理。 Servlet充當一個控制者的角色,并負責向客戶發(fā)送請求。Servlet創(chuàng)建JSP所需要的Bean和對象,然后根據(jù)用戶的請求行為,決定將哪個JSP頁面發(fā)送給客戶。 從開發(fā)的觀點,模式二具有更清晰的頁面表現(xiàn),清楚的開發(fā)者角色劃分,可以充分利用開發(fā)小組的界面設計人員,這些優(yōu)勢在大型項目開發(fā)中表現(xiàn)的尤為突出,使用這一模式,可以充分發(fā)揮每個開發(fā)者各自的特長,界面設計人員可以充分發(fā)揮自己的表現(xiàn)力,設計出優(yōu)美的界面表現(xiàn)形式,設計人員可以充分發(fā)揮自己的商務處理思維,來實現(xiàn)項目中的業(yè)務處理。在大型項目中,模式二更被采用。但是,本系統(tǒng)開發(fā)只是一個小型的JSP應用,同時由于Servlet難于掌握,所以在本課題中采用了模式一開發(fā),既JSP+JavaBean。1.3.3 數(shù)據(jù)庫SQL Server 2005是一個分布式的關系型數(shù)據(jù)庫管理系統(tǒng),具有客戶/服務器體系結構。Mircrosoft SQL Server 2005是一個應用廣泛的數(shù)據(jù)庫管理系統(tǒng),具有許多顯著特點,例如,用戶喜歡的易用性、適合分布式組織的可伸縮性、用于決策支持的數(shù)據(jù)倉庫功能、與許多其他服務器軟件緊密關聯(lián)的集成性、良好的性能價格比等。SQL Server 2005系統(tǒng)中,數(shù)據(jù)庫的管理采取了先進的動態(tài)管理機制,數(shù)據(jù)庫的大小可以隨著數(shù)據(jù)量的變化而縮小或者擴大。另外,用戶數(shù)據(jù)都是非常重要的和保密的,這些數(shù)據(jù)存儲在Mircrosoft SQL Server 2005系統(tǒng)中有絕對的安全性保障,有完善的用戶帳戶策略和許可機制,只有經(jīng)過授權的用戶才能訪問系統(tǒng),并且執(zhí)行相應的操作和訪問允許訪問的數(shù)據(jù)。未經(jīng)授權的用戶既不能執(zhí)行相應的操作,也不能訪問數(shù)據(jù)庫中的相應數(shù)據(jù)。SQL Server 2005系統(tǒng)具有強大的網(wǎng)上功能,可以在Internet上發(fā)布數(shù)據(jù)庫中的數(shù)據(jù)。在Mircrosoft SQL Server 2005系統(tǒng)中,允許用戶簡單的使用一些向導和工具把數(shù)據(jù)庫的數(shù)據(jù)發(fā)布到網(wǎng)絡上,并且可以根據(jù)需要來調度修改已經(jīng)發(fā)布的數(shù)據(jù)。第二章 系統(tǒng)概述2.1運行環(huán)境2.1.1軟件運行環(huán)境服務器端:操作系統(tǒng):Windows XP操作系統(tǒng)數(shù)據(jù)庫:Microsoft SQL Server 2000網(wǎng)絡通信協(xié)議:TCP/IP支持軟件:tomcat,MyEclipse2.2需求分析網(wǎng)上訂餐管理系統(tǒng)無論是在應用的深度還是廣度都是一個逐步發(fā)展的過程。在開發(fā)一個局部系統(tǒng)時要充分考慮到局部系統(tǒng)和整個目標系統(tǒng)之間的相容性和完整性,以利于今后整個系統(tǒng)的建立。進貨訂單管理系統(tǒng)從總體上把握系統(tǒng)的設計,在具體的設計實現(xiàn)上我們圍繞著三個方面的需求展開,即管理者、系統(tǒng)使用者、系統(tǒng)維護者。2.2.1 性能需求分析該系統(tǒng)在性能功能上應達到如下需求: 操作簡單、界面友好: 完全控件式的頁面布局,使得菜品,資訊,座位等信息的錄入工作更簡便,許多選項包括餐廳信息,桌位,包房信息等只需要點擊鼠標就可以完成;另外,跟蹤出現(xiàn)的提示信息也讓用戶隨時清楚自己的操作情況。對常見的類似網(wǎng)站的管理的各個方面:基本信息錄入、瀏覽、刪除、修改、搜索等方面都大體實現(xiàn),顧客對菜品的預定及支付方式; 即時可見:對客戶預定餐飲信息的處理(包括錄入、刪除)將立即在主頁的對應欄目顯示出來,達到“即時發(fā)布、即時見效”的功能; 系統(tǒng)運行應該快速、穩(wěn)定、高效和可靠; 在結構上應具有很好的可擴展性,便于將來的功能擴展和維護。2.2.2產(chǎn)品質量需求分析主要質量屬性詳細要求正確性按照需求正確執(zhí)行任務,完成各個模塊的相應要求。健壯性具有較高的容錯能力和恢復能力。可靠性故障發(fā)生率每運行1000小時低于3次性能,效率軟件的輸出結果更新周期應該與系統(tǒng)的信息更新周期相同。在網(wǎng)絡情況良好的情況下,3秒內可響應用戶請求。易用性易理解性:軟件研制過程中形成的所有文檔語言簡練、前后一致、易于理解以及語句無歧義。安全性防止軟件受到意外或蓄意的存取、使用、修改、毀壞或泄密的軟件屬性其數(shù)據(jù)應能集中存放于總部的數(shù)據(jù)庫服務器,客戶端不保存任何業(yè)務數(shù)據(jù)和數(shù)據(jù)庫連接信息,也不應進行什么數(shù)據(jù)同步.可擴展性能方便的進行二次開發(fā),滿足對功能的擴充或提高并能提高相應的安全控制。兼容性不易與其他軟件起沖突。 可移植性可方便移植到其他系統(tǒng)環(huán)境中正常運行。2.2.3 可行性分析隨著經(jīng)濟的快速發(fā)展,B2C電子商務越來越受到人們的關注。網(wǎng)上訂餐類網(wǎng)站,已經(jīng)如雨后春筍般的出現(xiàn)在了個大城市。特別在公司,企業(yè)內部,團體訂餐已經(jīng)成為了趨勢。同時,隨著全國人民的精神、物質和文化生活高度的提高,人們已經(jīng)不在僅僅停留在吃飽的程度,不但要吃飽,還要吃好,而且口味也越來越挑刺,正因為如此網(wǎng)絡訂餐業(yè)務的出現(xiàn),正迎合了這些人的口味,他們不但省去了自己做飯的麻煩,而且也能尋找和發(fā)現(xiàn)新的菜品,品嘗不同風格的菜品,網(wǎng)絡訂餐業(yè)務在中國有著極大的發(fā)展空間以及良好的背景。而當代大學生,白領工作人士作為社會中的重要群體,他們對飲食的要求都在不斷提高,飲食在他們生活中起著重要作用。因此,面向大學生和都市白領人士的網(wǎng)絡訂餐網(wǎng)站的設計有著良好的現(xiàn)實意義。綜合以上兩點分析,此次畢業(yè)設計決定利用JSP和SQL技術設計網(wǎng)上訂餐管理系統(tǒng)。JSP可以創(chuàng)建和運用動態(tài)、交互的WEB服務器應用程序。同時,JSP具有向跨平臺跨服務器的優(yōu)點。SQL Server 2000是一個杰出的數(shù)據(jù)庫平臺,具有功能強大,安全可靠等特點,可用于大型聯(lián)機事務處理、數(shù)據(jù)倉庫及電子商務等。2.3 總體設計原則1、 開放性、可擴充性、可靠性原則開放系統(tǒng)是生產(chǎn)各種計算機產(chǎn)品普遍遵循的原則,遵循這種標準的產(chǎn)品都符合一些公共的、可以相互操作的標準,能夠融洽的在一起工作。開放系統(tǒng)使得各種類型的網(wǎng)絡和系統(tǒng)互連簡單、標準統(tǒng)一,容易擴展升級。從而適應廣大用戶需求的多變性和產(chǎn)品的更新?lián)Q代。2、良好的用戶操作界面用戶操作界面美觀、方便、實用,使用戶能在較短的時間內掌握其使用方法。3、實用性原則任何系統(tǒng)的設計都要考慮其實用性,系統(tǒng)開發(fā)的目的是為了實現(xiàn)業(yè)務處理自動化、規(guī)范化,提高工作效率,減輕工作人員的勞動強度,減少開支。4、工作平臺設計原則能適應不同的操作平臺,不同的網(wǎng)絡。2.4 系統(tǒng)體系結構分析2.4.1 C/S結構與B/S結構客戶/服務器(CLIENT/SERVER)結構,是將一個系統(tǒng)分解為前臺的客戶應用程序和后臺的服務器部分,通過網(wǎng)絡連接應用程序和服務器。這種結構的核心是客戶應用程序向服務器發(fā)送服務請求,服務器完成后端處理。服務器是一臺管理數(shù)據(jù)資源并執(zhí)行數(shù)據(jù)庫引擎功能(加數(shù)據(jù)存儲、操作和保護)的計算機,處理結構由服務器發(fā)回客戶應用程序,由客戶應用程序對處理結構進行顯示。這種結構的優(yōu)點是只有處理后的數(shù)據(jù)在網(wǎng)絡中傳遞,大大減輕了網(wǎng)絡的負擔,而且由于通過服務器端統(tǒng)一管理數(shù)據(jù),易于保證數(shù)據(jù)的一致性。B/S結構,即Browser/Server(瀏覽器/服務器)結構,是隨著Internet技術的興起,對C/S結構的一種變化或者改進的結構。在這種結構下,用戶界面完全通過WWW瀏覽器實現(xiàn),一部分事務邏輯在前端實現(xiàn),但是主要事務邏輯在服務器端實現(xiàn),形成所謂3層結構。B/S結構利用不斷成熟和普及的瀏覽器技術實現(xiàn)原來需要復雜專用軟件才能實現(xiàn)的強大功能,并節(jié)約了開發(fā)成本,是一種全新的軟件系統(tǒng)構造技術。這種結構更成為當今應用軟件的首選體系結構,.net也是在這樣一種背景下被提出來的架構,JAVA技術已經(jīng)是很成熟的應用了。2.4.2 B/S與C/S的優(yōu)越性C/S(Client/Server,客戶端/服務器)是建立在局域網(wǎng)的基礎上的,B/S是建立在廣域網(wǎng)的基礎上的。傳統(tǒng)的C/S體系結構雖然采用的是開放模式,但這只是系統(tǒng)開發(fā)一級的開放性,在特定的應用中無論是Client端還是Server端都還需要特定的軟件,沒能提供用戶真正期望的開放環(huán)境;B/S結構則不同,它的前端是以TCP/IP協(xié)議為基礎的,企業(yè)內的WWW服務器可以接受安裝有Web瀏覽程序的Internet終端的訪問,作為最終用戶,只要通過Web瀏覽器,各種處理任務都可以調用系統(tǒng)資源來完成,這樣大大簡化了客戶端,減輕了系統(tǒng)維護與升級的成本和工作量,降低了用戶的總體擁有成本??偟膩碚f,兩者有如下差別:1硬件環(huán)境不同C/S 一般建立在專用的網(wǎng)絡上, 小范圍里的網(wǎng)絡環(huán)境, 局域網(wǎng)之間再通過專門服務器提供連接和數(shù)據(jù)交換服務。B/S 建立在廣域網(wǎng)之上的, 不必是專門的網(wǎng)絡硬件環(huán)境,例如電話上網(wǎng), 租用設備, 信息自己管理, 有比C/S更強的適應范圍, 一般只要有操作系統(tǒng)和瀏覽器就行。2對安全要求不同 C/S 一般面向相對固定的用戶群, 對信息安全的控制能力很強。 一般高度機密的信息系統(tǒng)采用C/S 結構適宜, 可以通過B/S發(fā)布部分可公開信息。B/S 建立在廣域網(wǎng)之上, 對安全的控制能力相對弱, 面向是不可知的用戶群。3對程序架構不同 C/S 程序可以更加注重流程, 可以對權限多層次校驗, 對系統(tǒng)運行速度可以較少考慮。B/S 對安全以及訪問速度的多重的考慮, 建立在需要更加優(yōu)化的基礎之上。4軟件重用不同C/S 程序可以不可避免的整體性考慮, 構件的重用性不如在B/S要求下的構件的重用性好。B/S 對的多重結構,要求構件相對獨立的功能。 能夠相對較好的重用。就如買來的餐桌可以再利用,而不是做在墻上的石頭桌子。5系統(tǒng)維護不同 系統(tǒng)維護是軟件生存周期中,開銷大,相當重要C/S 程序由于整體性,必須整體考察,處理出現(xiàn)的問題以及系統(tǒng)升級難, 可能是再做一個全新的系統(tǒng)。B/S 構件組成方面構件個別的更換,實現(xiàn)系統(tǒng)的無縫升級。 系統(tǒng)維護開銷減到最小,用戶從網(wǎng)上自己下載安裝就可以實現(xiàn)升級。 6處理問題不同 C/S 程序可以處理用戶面固定,并且在相同區(qū)域, 安全要求高的需求,與操作系統(tǒng)相關, 應該都是相同的系統(tǒng)。B/S 建立在廣域網(wǎng)上, 面向不同的用戶群,分散地域, 這是C/S無法作到的,與操作系統(tǒng)平臺關系最小。 7用戶接口不同 C/S 多是建立在Window平臺上,表現(xiàn)方法有限,對程序員普遍要求較高。B/S 建立在瀏覽器上, 有更加豐富和生動的表現(xiàn)方式與用戶交流, 并且大部分難度減低,降低開發(fā)成本。8信息流不同 C/S 程序一般是典型的中央集權的機械式處理,交互性相對低。B/S 信息流向可變化。9成本降低,選擇更多軟件系統(tǒng)的改進和升級越來越頻繁,B/S架構的產(chǎn)品明顯體現(xiàn)的更方便的特性。無論用戶的規(guī)模有多大,有多少分支機構都不會增加任何維護升級的工作量,所有的操作只需要針對服務器進行,如果是異地只需要把服務器連接上網(wǎng)即可立即進行維護和升級,這對人力、時間、費用的節(jié)省是相當驚人的。傳統(tǒng)的C/S結構的軟件需要針對不同的操作系統(tǒng)系統(tǒng)開發(fā)不同版本的軟件,由于產(chǎn)品的更新?lián)Q代十分快,這么高的代價和低效率已經(jīng)越來越不適應了。在JAVA這樣的跨平臺語言出現(xiàn)之后B/S架構更是飛快地普及起來了。10面向電子商務時代的技術將來所有的應用系統(tǒng)幾乎都在互聯(lián)網(wǎng)上運行,企業(yè)發(fā)展電子商務也是不可避免的,而B/S架構的軟件則代表了將來的技術,只要連上互聯(lián)網(wǎng)或內部廣域網(wǎng)就可以與全球的客戶相連,與各地的分支機構相連。綜上所述,可以看出B/S結構的眾多優(yōu)點5,比其他結構的先進性,無論是辦公自動化管理系統(tǒng),人力資源管理系統(tǒng),客戶關系管理系統(tǒng),ERP等等,發(fā)展的趨勢是不斷融合,結合當今這些方面的發(fā)展,我們可以得出這樣的結論:采用統(tǒng)一的B/S結構開發(fā)的產(chǎn)品無論是現(xiàn)在還是將來都是最好的選擇,而在今后的實際工作開發(fā)中,則應該首選B/S結構。第三章 程序設計3.1系統(tǒng)流程分析3.1.1業(yè)務流程分析1、 瀏覽與選擇餐飲信息:顧客進入網(wǎng)站即刻自動提供購物車,不需身份確認就可以在網(wǎng)站上隨意瀏覽,登錄系統(tǒng)后則可挑選餐飲(可增加、刪除、修改購物車上餐飲的類型),網(wǎng)站提供餐飲信息列表,最先添加的餐飲信息優(yōu)先列表給顧客作為選購時的參考;2、 判斷:顧客確定所購餐飲信息后,系統(tǒng)將判斷該顧客是否注冊,如果是,則可直接填寫訂單;否則,提示顧客登記注冊;3、 提交訂單:已選購的餐飲信息需填寫訂單細節(jié)。4、 注冊:顧客可在公司的網(wǎng)站上注冊后提交申請;5、 確認:后臺管理將實時得到顧客的注冊信息,通過電話及其他方式確認,當確認后,系統(tǒng)管理員可對該顧客提交的預定信息進行審核。6、送貨與付款:網(wǎng)上的每一份訂單都將實時存入后臺數(shù)據(jù)庫,后臺操作人員通過電話及其他方式確認,確認后將及時實施審核該訂單:向顧客送貨,貨到付款,完成網(wǎng)上交易。顧客登錄系統(tǒng)瀏覽菜品資訊獲得購物車瀏覽餐飲信息選擇餐飲信息生成訂單Y交易結束N3.1.1數(shù)據(jù)流程分析該系統(tǒng)數(shù)據(jù)流程比較簡單,管理員可以添加餐飲信息(包括菜品名等信息),資訊信息等,然而這些信息顧客是可以瀏覽的,但是顧客沒有權限對這些信息進行修改,這些信息對于顧客而言是單向的。對于預定信息,管理員可以查看訂餐信息,銷售的統(tǒng)計,用戶的添加刪除,以及訂單的查看、配送、刪除。數(shù)據(jù)流圖數(shù)據(jù)流圖簡稱DFD,是SA方法中用于表示系統(tǒng)邏輯模型的一種工具。它以圖形的方式描述數(shù)據(jù)在系統(tǒng)中流動和處理的過程,由于它只反映系統(tǒng)必須完成的邏輯功能,所以它是一種功能模型。系統(tǒng)的數(shù)據(jù)流圖如下所示:系統(tǒng)DFD圖3.2系統(tǒng)數(shù)據(jù)庫設計3.2.1 數(shù)據(jù)庫E-R圖Users(用戶表)用戶名密碼權限orders(訂單表)訂餐人備注信息電話應收款地址發(fā)布Shop(訂單菜單表)菜名數(shù)量單價所屬圖片單價菜名foodInfo (菜單表)總價日期數(shù)量原料詳細介紹3.2.2 數(shù)據(jù)庫表設計 系統(tǒng)關鍵數(shù)據(jù)表如下:其關系見E-R圖1用戶表(userInfo):用戶登錄是需要用戶名和密碼,所以用戶數(shù)據(jù)表中必須包含用戶名(userName)、密碼(userPwd)兩個信息,還有些其他的用戶信息,比如userType指的是用戶權限(管理員還是非管理員)。從功能上數(shù)據(jù)庫表設計如表3.1。表 3.1 用戶表列名數(shù)據(jù)類型長度uidint4unamevarchar50upassvarchar50powerint42菜品信息表(foodInfo):菜品信息表主要描述菜品信息,如:菜品ID號(foodId),此ID號為系統(tǒng)自動生成;菜品名稱(foodName);菜品價格(foodPrice);菜品原料(remark);圖片信息(foodImages);菜品介紹(description);菜品庫存(Storage);菜品售出數(shù)量(Sold);。商品信息表詳細描述如表3.2表3.2菜品信息表列名數(shù)據(jù)類型長度foodIdint4foodNamevarchar50foodPrice float50remarkvarchar50foodImagesvarchar50descriptionvarchar7000Storageint50Soldint503訂單表(foodOrderInfo): 訂單表有一下描述信息。訂單ID(orderId),訂購人姓名(customerName),地址(address),郵編(zipCode),固定電話(telephone),移動電話(movphone),備注信息(notice),總價格(totalPrice),是否送出(isGive)等,具體描述如表3.4所示:表3.4訂單表列名數(shù)據(jù)類型長度orderIdint4customerNamevarchar50addressvarchar50zipCodevarchar20telephonevarchar20movphonevarchar30noticetext16totalPricenumeric9isGiveint44訂單菜單表(orderInfo)具體描述如表3.5所示:表3.5訂單菜單表列名數(shù)據(jù)類型長度orderIdint50foodIdint50userIdint50foodNumint50foodValuefloat50totalValue計算50orderDatedatetime503.3系統(tǒng)結構設計網(wǎng)上訂餐系統(tǒng)的模型結構如下圖所示:客戶端瀏覽器客戶端瀏覽器客戶端瀏覽器Web層業(yè)務層數(shù)據(jù)訪問層系統(tǒng)配置數(shù)據(jù)庫從前面的需求分析中得知,可以將功能分為前臺和后臺兩類,因此模塊也分為兩大類:前臺模塊和后臺模塊。 下圖為系統(tǒng)模塊總圖:網(wǎng)上訂餐管理系統(tǒng)前臺模塊后臺模塊注冊登錄菜品查詢菜品管理訂餐管理菜品售出情況用戶訂餐用戶管理系統(tǒng)模塊總圖3.4 核心算法實現(xiàn)分頁顯示算法ArrayList list=fooddao.findAllFoods();/獲取數(shù)據(jù)庫中的總記錄條數(shù)int totalNum=list.size();/每頁顯示的行數(shù)int row=6;/當前頁面int pageId;/總頁數(shù)int pageCount;/設置pageId的值if(request.getParameter(pageId)=null)pageId=1;/如果總頁數(shù)為零,那么設置頁數(shù)為1;elsepageId=Integer.parseInt(request.getParameter(pageId);/設置總頁數(shù)的值if(totalNum%6=0)pageCount=list.size()/6;/一頁顯示6個菜品,總數(shù)除以每頁顯示數(shù)為頁數(shù)elsepageCount=list.size()/6+1; /菜品數(shù)不能被6整除,取商整加1 /將總頁數(shù)保存到request作用域中request.setAttribute(pageCount, pageCount);/排除兩種頁面不可能出現(xiàn)的情況當前頁面小于0和大于總頁數(shù)if(pageIdpageCount) pageId=pageCount; 第四章 系統(tǒng)實現(xiàn)主要技術4.1 JavaServer Pages(JSP)技術簡介在開發(fā)JSP規(guī)范的過程中,Sun 公司與許許多多主要的Web服務器、應用服務器和開發(fā)工具供應商,還有各種各樣富有經(jīng)驗的開發(fā)團體進行合作。最后找到了一種平衡了應用和頁面開發(fā)的具有可移植性和易用性的開發(fā)方法,JSP技術特征在多個方面加速了動態(tài)Web頁面的開發(fā):1) 將內容的生成和顯示進行分離使用JSP技術,Web頁面開發(fā)人員可以使用HTML或者XML標識來設計和格式化最終頁面。使用JSP標識或者小腳本來生成頁面上的動態(tài)內容,這些內容是根據(jù)請求來變化的,例如請求帳戶信息或者特定的一瓶酒的價格。生成內容的邏輯部分被封裝在JavaBeans組件中,并且捆綁在小腳本中,所有的腳本在服務器端運行。如果核心邏輯被封裝在Beans中,那么其他人,如Web管理人員和頁面設計者,在編輯和使用JSP頁面的時候,將不會影響到內容的生成。在服務器端,JSP引擎解釋JSP標識和小腳本,生成客戶端請求的內容,例如,通過訪問JavaBeans組件,使用JDBC技術訪問數(shù)據(jù)庫或者其他文件,并且將結果以HTML(或者XML)頁面的形式發(fā)送回瀏覽器。這將有助于作者保護自己的代碼,并且又保證任何基于HTML的Web瀏覽器的完全可用性。2) 強調可重用的組件絕大多數(shù)JSP頁面依賴于可重用的,跨平臺的組件(JavaBeans或者Enterprise JavaBeansTM組件)來執(zhí)行應用程序所要求的更為復雜的處理問題。開發(fā)人員能夠共享和交換執(zhí)行普通操作的組件,或者發(fā)布這些組件使更多的使用者或者客戶團體能夠使用。3) 采用標識簡化頁面開發(fā)Web頁面開發(fā)人員不會都是熟悉腳本語言的編程人員。JavaServer Page技術封裝了許多功能,這些功能是容易使用的、同時與JSP相關的XML標識中進行動態(tài)內容的生成時需要的。通過開發(fā)定制化標識庫,JSP技術是可擴展的。今后,第三方開發(fā)人員和其他人員可以將常用的功能創(chuàng)建到自己的標識庫。這使得Web頁面開發(fā)人員能夠象使用熟悉的工具一樣來使用標識來執(zhí)行特定功能的構件來工作。JSP技術很容易整合到多種應用體系結構中,以便使用現(xiàn)存的工具和技巧,并且擴展到能夠支持企業(yè)級的分布式應用中。作為采用Java技術家族的一部分,以及Java 2(企業(yè)版體系結構)的一個組成部分,JSP技術能夠支持高度復雜的基于Web的應用開發(fā)。由于JSP頁面的內置腳本語言是基于Java編程語言的,并且所有的JSP頁面都能被編譯成為Java Servlet,JSP頁面就具有Java技術的所有好處,包括健壯的存儲管理和安全性。作為Java平臺的一部分,JSP擁有Java編程語言“一次編寫,各處運行”的特點。隨著越來越多的廠家將對JSP的支持添加到他們的產(chǎn)品中,我們可以選擇不同的服務器和工具,因為更改工具或服務器并不影響當前的應用。當與Java 2平臺,企業(yè)版(J2EE)8和Enterprise JavaBean技術整合時,JSP頁面提了供企業(yè)級的擴展性能,這對于在虛擬企業(yè)中部署基于Web的應用是必需的。4.2 JSP 和其他類似或相關技術的一個簡單比較1) JSP和Active Server Pages(ASP)相比Microsoft的ASP是一種和JSP類似的技術。JSP和ASP相比具有兩方面的優(yōu)點。首先,動態(tài)部分用Java編寫,而不是VB Script或其他Microsoft語言,不僅功能更強大而且更易于使用。第二,JSP應用可以移植到其他操作系統(tǒng)和非Microsoft的Web服務器上。2) JSP和純Servlet相比JSP并沒有增加任何本質上不能用Servlet實現(xiàn)的功能。但是,在JSP中編寫靜態(tài)HTML更加方便,不必再用 println語句來輸出每一行HTML代碼。更重要的是,借助內容和外觀的分離,頁面制作中不同性質的任務可以方便地分開:比如,由頁面設計專家進行HTML設計,同時留出供Servlet程序員插入動態(tài)內容的空間。3) JSP和JavaScript相比JavaScript能夠在客戶端動態(tài)地生成HTML。雖然JavaScript很有用,但它只能處理以客戶端環(huán)境為基礎的動態(tài)信息。除了Cookie之外,HTTP狀態(tài)和表單提交數(shù)據(jù)對JavaScript來說都是不可用的。另外,由于是在客戶端運行,JavaScript不能訪問服務器端資源,比如數(shù)據(jù)庫、目錄信息等等。4.3 最佳JSP應用服務器Tomcat大多數(shù)人(大概29)都喜歡將Apache Tomcat當作JSP應用服務器使用。有人可能會說,它之所以受歡迎是因為這個服務器是免費和開放源代碼的,但是真正的原因遠不止這些。Apache Tomcat能夠受歡迎,不僅是工作性能非常好,還有沒有初始的開發(fā)成本開銷等有力的競爭因素,但這不是決定因素。Tomcat 結構非常合理,更由于Tomcat 是Apache 組織的產(chǎn)品,這個組織有著雄厚的技術更新力量,并且Tomcat5.0 很好的支持了JSP2.0 規(guī)范,因此有著很好的發(fā)展前景。Tomcat是一個免費的開源的Serlvet容器,它是Apache基金會的Jakarta項目中的一個核心項目,由Apache,Sun和其它一些公司以及個人共同開發(fā)而成。由于有了Sun的參與和支持,最新的Servlet和Jsp規(guī)范總能在Tomcat中得到體現(xiàn)。Tomcat被JavaWorld雜志的編輯選為2001年度最具創(chuàng)新的java產(chǎn)品,可見其在業(yè)界內的地位。 Tomcat不僅僅是一個Servlet容器,它也具有傳統(tǒng)的Web服務器的功能:也處理Html頁面,但是與Apache相比,它的處理靜態(tài)Html的能力就不如Apache。JDK 是SUN 公司的JAVA應用程序和組件的開發(fā)環(huán)境,是編譯、測試工具,也是提供JAVA 程序的 JAVA 虛擬機平臺,是調試和運行JSP 所不可缺少的工具9。4.4 javaBean組件技術1. 什么是JavaBean軟件開發(fā)的真正目的之一是利用在程序編碼方面的投資,以便在同一公司或者不同公司的其他開發(fā)中重用程序編碼,近年來,編程人員投入大量精力以便建立可重用的軟件、可重用的軟件組件,早期用在面向對象編程方面中的投資已經(jīng)在Java、C#等編程語言的開發(fā)中充分實現(xiàn),很多軟件可以不用做很大的改變就可以運行在各種平臺上。JavaBeans描述了Java的軟件組件模型,這個模型被設計成使第三方廠家可以生成和銷售能夠集成到其他開發(fā)廠家或者其他開發(fā)人員開發(fā)的軟件產(chǎn)品的Java組件。 應用程序開發(fā)者可以從開發(fā)廠家購買現(xiàn)成的JavaBeans組件,拖放到集成開發(fā)環(huán)境的工具箱中,再將其應用于應用軟件的開發(fā),對于JavaBeans組件的屬性、行為可以進行必要的修改、測試和修訂而不必重新編寫和編譯程序。在JavaBeans模型中JavaBeans組件可以被修改或者與其他JavaBeans組件組合以生成新的JavaBeans組件或完整的Java應用程序。Java應用程序在運行時,最終用戶也可以通過JavaBeans組件設計者或應用程序開發(fā)者所建立的屬性存取方法setXXX方法和getXXX方法修改JavaBeans組件的屬性。這些屬性可能是顏色和形狀等簡單屬性,也可能是影響JavaBeans組件總體行為的復雜屬性。JavaBeans組件模型使得軟件可以設計成便于修改和便于升級。每個JavaBeans組件都包含了一組屬性、操作和事件處理器。將若干個JavaBeans組件組合起來就可以生成設計者、開發(fā)者所需要的特定運行行為,JavaBeans組件存放于容器或工具庫中,供開發(fā)者開發(fā)應用程序。 JavaBeans就是一個可以復用軟件模型。JavaBeans在某個容器中運行提供具體的操作性能。JavaBeans是建立應用程序的建筑模塊。大多數(shù)常用的JavaBeans通常是中小型控制程序,但我們也可以編寫包裝整個應用程序運行邏輯的JavaBeans組件,并將其嵌入到復合文檔中,以便實現(xiàn)更為復雜的功能。 一般來說JavaBeans可以表示為簡單的GUI組件,可以是按鈕組件、游標、菜單等等。這些簡單的JavaBeans組件提供了告訴用戶什么是JavaBeans的直觀方法。但我們也可以編寫一些不可見的JavaBeans,用于接受事件和在幕后工作,例如訪問數(shù)據(jù)庫執(zhí)行查詢操作的,JavaBeans它們在運行時刻不需要任何可視的界面。在JSP程序中所用的JavaBeans一般以不可見的組件為主??梢姷腏avaBeans一般用于編寫Applet程序或者Java應用程序。2JavaBeans屬性JavaBeans的屬性與一般Java程序中所指的屬性,或者說與所有面向對象的程序設計語言中對象的屬性是同一個概念,在程序中的具體體現(xiàn)就是類中的變量在。JavaBeans的設計中,按照屬性的不同作用又細分為4類:Simple屬性、Index屬性、Bound屬性與Constrained屬性。1) Simple屬性一個Simple類型的屬性表示一個伴隨有一對getXXX()、setXXX()方法的變量。屬性的名稱與和該屬性相關的getXXX()、setXXX()方法相對應。例如:如果有setX()和getX()方法,則暗指有一個名為X的屬性,如果有一個方法名為isX()則通常暗指X是一個布爾類型的屬性。2) 4 Indexed屬性一個Indexed類型的JavaBeans屬性表示一個數(shù)組值。使用與該屬性相對應的setXXX()方法和getXXX()方法可以存取數(shù)組中某個元素的數(shù)值。同時,我們也可以使用另兩個同名方法一次設置或取得整個數(shù)組的值(即屬性的值)。3) 5 Bound屬性一個Bound類型的JavaBean組件的屬性具有這樣的特性:當該種屬性的值發(fā)生變化時必須通知其它的JavaBeans組件對象。每次JavaBeans組件對象的屬性值改變時,這種屬性就引發(fā)一個PropertyChange事件(屬性改變事件,在Java程序中,事件也被看作是一個對象)。這個事件中封裝了發(fā)生屬性改變事件的屬性名、屬性的原值、屬性變化后的新值。這個事件將被傳遞到其它的JavaBeans組件中,至于接收事件的JavaBeans組件對象應該做什么動作由其自己定義。請看程序代碼:import java.beans.*; public
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年種植施肥機械合作協(xié)議書
- 2025年非熱殺菌先進設備合作協(xié)議書
- 2025年產(chǎn)品來料加工協(xié)議(三篇)
- 2025年個人投資理財委托協(xié)議簡單版(2篇)
- 2025年二灰拌合場地租賃協(xié)議范文(2篇)
- 2025年產(chǎn)品外觀專用協(xié)議標準版本(2篇)
- 咖啡館改造協(xié)議
- 京城高端定制店裝修合同
- 攀巖館裝修合作協(xié)議
- 消防用水緊急供應合同
- 醫(yī)院消防安全培訓課件
- 質保管理制度
- 《00541語言學概論》自考復習題庫(含答案)
- 2025年機關工會個人工作計劃
- 2024年全國卷新課標1高考英語試題及答案
- 華為經(jīng)營管理-華為激勵機制(6版)
- 江蘇省南京市、鹽城市2023-2024學年高三上學期期末調研測試+英語+ 含答案
- 2024護理不良事件分析
- 光伏項目的投資估算設計概算以及財務評價介紹
- 2024新版《藥品管理法》培訓課件
- (精心整理)一元一次不等式組100道計算題
評論
0/150
提交評論