美食網(wǎng)的設計與實現(xiàn)論文_第1頁
美食網(wǎng)的設計與實現(xiàn)論文_第2頁
美食網(wǎng)的設計與實現(xiàn)論文_第3頁
美食網(wǎng)的設計與實現(xiàn)論文_第4頁
美食網(wǎng)的設計與實現(xiàn)論文_第5頁
已閱讀5頁,還剩30頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 基于web的美食網(wǎng)的設計與實現(xiàn) 學 院: 軟件學院 專 業(yè): 軟件工程 指導教師: 2014年 9 月基于web的美食網(wǎng)的設計與實現(xiàn)摘要越來越多的美食愛好者希望能夠在網(wǎng)絡平臺上更多地了解到美食方面的信息以及如何更加健康地飲食性。隨著計算機網(wǎng)絡的飛速發(fā)展,美食網(wǎng)已經(jīng)成為人們?nèi)粘I钪斜夭豢缮俚牟糠?,也逛一種簡單有效的提供網(wǎng)絡用戶進行學習和評價的平臺,通過可以理解美食,自己學習制作美食,它隨時可以發(fā)表評論,方便快捷。本論文研究了一種基于數(shù)據(jù)關聯(lián)規(guī)則的美食網(wǎng)系統(tǒng)。其開發(fā)主要包 括后臺數(shù)據(jù)庫的建立、后臺管理以及前臺頁面的Web設計。系統(tǒng)使用 Oracle公司以java為核心語言的eclipse開發(fā)工

2、具,再結(jié)合wampserver建立數(shù)據(jù)連接關系。利用其提供的各種組件,在短時間內(nèi)建立數(shù)據(jù)庫,對數(shù)據(jù)庫進行分析與建立頁面,不斷改進,直到功能基本 實現(xiàn)的可行系統(tǒng)。本文的研究在一定程度上借鑒了中華美食網(wǎng)的經(jīng)驗成果,系統(tǒng)的最終的目的是通過為美食網(wǎng)提供互動交流平臺,提高網(wǎng)站的知名度和訪問量,從而為廣人的美食愛好者提供更多的美食介紹及健康飲食。本設計說明書主要介紹了本課題的開發(fā)背景、完成的功能和開發(fā)過程,并著重說明了開發(fā)設計的思想、技術(shù)難點和解決方案。關鍵詞:美食網(wǎng)站;SQL SeverDesign and implementation of web-based Food NetworkAbstract

3、More and more food lovers network platform in hope to be able to learn more information on food and how to more healthy diet sex. Along with the rapid development of the computer network, the food network has become indispensable part of everyday life, is also a kind of simple and effective network

4、users provide learning and evaluation platform, through its can understand food, oneself learn to create food, it can always comment convenient and quick.This paper studies a kind of association rules based on the data of the food network system. Its development mainly include the establishment of t

5、he database, background management and the front desk page Web design. Use Oracle company with JAVA system as the core of language Eclipse development tools, combine the wamp establish data connection relationship. Use the various components, in a short time, the establishment of database of databas

6、e, the analysis and establish asp. net page, improving continuously, until the realization of basic functions feasible system.This paper studies on certain level for reference the experience of the Chinese cuisine nets results, the system is the ultimate goal through the food network provides intera

7、ctive communication platform, increase your websites popularity and traffic and thus for the majority of the food lovers to provide more dishes and healthy eating.This design specification mainly introduced this topic development background, complete function and the development process, and the foc

8、us on the development and design of ideas, technical difficulties and solutions.Keywords: cuisine nets;SQL Sever目錄1.引言11.1目的11.2范圍11.3縮寫說明11.4術(shù)語定義11.5項目來源及背景11.6用戶的特點21.7系統(tǒng)目標22.可行性分析32.1技術(shù)可行性32.2操作可行性33.系統(tǒng)開發(fā)的相關技術(shù)43.1 J2EE概述43.2 MVC模式簡介43.2.1 MVC 工作原理43.2.2 MVC三個核心部件43.2.3 MVC的優(yōu)點53.3 Hibernate和ORM53.

9、4 Struts技術(shù)83.4.1 SERVLET 概述93.4.2 JSP(Java Server Pages)技術(shù)103.5 數(shù)據(jù)庫技術(shù)的現(xiàn)狀和發(fā)展124. 系統(tǒng)總體設計134.1系統(tǒng)運行的網(wǎng)絡環(huán)境134.2系統(tǒng)運行的硬件環(huán)境134.3系統(tǒng)運行軟件環(huán)境144.4功能規(guī)格144.4.1角色定義154.4.2瀏覽用戶154.4.3會員用戶154.4.4管理用戶154.5數(shù)據(jù)庫154.5.1 數(shù)據(jù)庫邏輯結(jié)構(gòu)設計164.5.2 實體聯(lián)系圖164.5.3創(chuàng)建數(shù)據(jù)庫195. 系統(tǒng)的實現(xiàn)235.1 系統(tǒng)登陸界面235.2管理員登陸模塊235.3管理員管理245.3.1管理員密碼管理245.3.2添加管理員

10、245.3.3 管理用戶245.3.4 留言公告管理255.3.5 廚師餐廳管理255.3.6 菜品管理255.3.7 添加菜譜文件和管理加盟名店265.3.8 用戶查看美食,公告,留言及更改個人信息27參 考 文 獻286.結(jié)論29致謝301.引言1.1目的該文檔足關于用戶對于健身俱樂部系統(tǒng)的功能和性能的要求,重點描述了美食網(wǎng)系統(tǒng)的功能需求,是概要設計階段的重要輸入。本文檔預期讀者: 設計人員 開發(fā)人員 項目管理人員 測試人員 用戶1.2范圍該文檔是借助于當前系統(tǒng)的邏輯模型導出目標系統(tǒng)的邏輯模型的,解決整個項目系統(tǒng)的“做什么”的問題。在這里,沒有涉及開發(fā)技術(shù),而主要是通過建立模型的方式來描述

11、用戶的需求,為客戶、用戶、開發(fā)方等不同參與方提供一個交流的平臺。1.3縮寫說明UML,Unified Modeling Language(統(tǒng)一建模語言)的縮寫,是一個準備好了的建模語言。MVC:Model-View-Control的縮寫,表示三S結(jié)構(gòu)體系。1.4術(shù)語定義無1.5項目來源及背景越來越多的美食愛好者希望能夠在網(wǎng)絡平臺上更多地了解到美食方面的信息以及如何更加健康地飲食性。迅猛發(fā)展并且益成熟的互聯(lián)網(wǎng)已經(jīng)影響到我們生活的方方面面,人們真真切切的體會到了網(wǎng)絡給人家?guī)淼谋憬?,互?lián)網(wǎng)也以其獨特的優(yōu)勢快速的滲透到越來越多的領域。隨著計算機網(wǎng)絡的飛速發(fā)展,美食網(wǎng)已經(jīng)成為人們?nèi)粘I钪斜夭豢缮俚牟?/p>

12、分,也是一種簡單有效的提供網(wǎng)絡用戶進行學和評價的平臺,通過其可以理解美食,自己學習制作美食,它隨時可以發(fā)表留言,方便快捷。目前國內(nèi)美食網(wǎng)站的現(xiàn)狀人致為:以大眾點評網(wǎng)為代表的社區(qū)性美食網(wǎng)站和以飯統(tǒng)網(wǎng)為代表的餐廳預訂網(wǎng)站。前者的主要形式是管理員上傳餐廳相關信息,網(wǎng)友互動點評餐廳,美食形成網(wǎng)絡口碑等,這樣形成了點評網(wǎng)信息多而繁雜,流量比較人,受眾比較廣泛,廣告較多的特點;后者餐廳信息齊全且正規(guī),網(wǎng)站以餐廳預訂業(yè)務為主,這樣的訂餐網(wǎng)相對比較專業(yè),流量相對較小,受眾比較固定定,有很高的用戶粘性。1.6用戶的特點本系統(tǒng)的用戶都足網(wǎng)上用戶,包括兩類,一是訪客,訪客可以查看美食,并可以直接在美食網(wǎng)上上留言,如

13、提出問題或意見。另外一類用是逛管理人員,他們可以對美食,用戶資料,資訊,留言,餐廳和廚師進行增刪改査。1.7系統(tǒng)目標本項目設定的目標如下:系統(tǒng)能夠提供友好的用戶界面,使操作人員的工作量最大限度的減少;系統(tǒng)具有良好的運行效率,能夠達到提高生產(chǎn)率的目的;系統(tǒng)應有良好的可擴充性,可以容易地加入其他系統(tǒng)的應用;平臺的設計具有一定的超前性,靈活性,能夠適應企業(yè)生產(chǎn)配置; 通過這個項目可以鍛煉隊伍,提高團隊的項目管理能力。2.可行性分析2.1技術(shù)可行性美食網(wǎng)系統(tǒng)的開發(fā)基B/S模型,主要包括前臺成用程序的開發(fā)以及后臺數(shù)據(jù)庫的建立和維護兩個方面。對前者要求應具備功能完備、易于使用等特點,而對于后者則要求能建立

14、數(shù)據(jù)一致性和完整性強、數(shù)據(jù)安全性好的數(shù)據(jù)庫。基于以上要求,本系統(tǒng)擬采用myEclipse和wamp分別作為前臺和后臺的開發(fā)工具。Eclipse是目前最為成熟的網(wǎng)頁開發(fā)的工具,它足建立在B/S框架平臺上的完全面向?qū)ο蟮南到y(tǒng)上。有了Java平臺給網(wǎng)站提供了全方位的支持,包括:強大的類庫,多方面服務的支持,允許利用多種語言對應用進行開發(fā),跨平臺的能力和充分的安全保障能力。wamp則是目前比較流行的數(shù)據(jù)庫管理系統(tǒng)。另外,所有的wamp版本的客戶端軟件可以在 Microsoft Windows 7、Microsoft Windows 2000 和 Microsoft Windows XP等操作系統(tǒng)上運行

15、,只有服務器組件(如數(shù)據(jù)庫引擎和分析服務器)必須在特定版本的操作系統(tǒng)上運行。因此從技術(shù)方面講開發(fā)此系統(tǒng)是可行的。2.2操作可行性該美食網(wǎng)系統(tǒng)具備友好的用戶界面,使用方便,易于維護,操作簡單易于被用戶接受,用戶只需熟練操作計算機,并對此系統(tǒng)的使用做簡單的了解,即可方便使而且使用此系統(tǒng)可以人大減少管理人員的負擔。因此從使用操作方面看,此系統(tǒng)的開發(fā)是可行的。3.系統(tǒng)開發(fā)的相關技術(shù)3.1 J2EE概述 J2EE是美國Sun公司剛剛推出的一種全新概念的模型,與傳統(tǒng)的互聯(lián)網(wǎng)應用程序模型相比有著不可比擬的優(yōu)勢。 目前,Java 2平臺有3個版本,它們是適用于小型設備和智能卡的Java 2平臺Micro版(J

16、ava 2 Platform Micro Edition,J2ME)、適用于桌面系統(tǒng)的Java 2平臺標準版(Java 2 Platform Standard Edition,J2SE)、適用于創(chuàng)建服務器應用程序和服務的Java 2平臺企業(yè)版(Java 2 Platform Enterprise Edition,J2EE)。J2EE是一種利用Java 2平臺來簡化企業(yè)解決方案的開發(fā)、部署和管理相關的復雜問題的體系結(jié)構(gòu)。J2EE技術(shù)的基礎就是核心Java平臺或Java 2平臺的標準版,J2EE不僅鞏固了標準版中的許多優(yōu)點,例如編寫一次、隨處運行的特性、方便存取數(shù)據(jù)庫的JDBC(Java Data

17、Base Connectivity)應用程序接口(API, Application Program Interface)技術(shù)以及能夠在Internet應用中保護數(shù)據(jù)的安全模式等等,同時還提供了對 EJB(Enterprise JavaBeans)、Java Servlets API、JSP(Java Server Pages)以及XML技術(shù)的全面支持。其最終目的就是成為一個能夠使企業(yè)開發(fā)者大幅縮短投放市場時間的體系結(jié)構(gòu)。3.2 MVC模式簡介 模型視圖-控制器(MVC)是Xerox PARC在八十年代為編程語言Smalltalk-80發(fā)明的一種軟件設計模式,至今已被軟件開發(fā)界廣泛使用?,F(xiàn)在已經(jīng)

18、推薦為Sun公司J2EE平臺的設計模式,并且受到越來越多的使用ColdFusion和PHP的開發(fā)者的歡迎。模型-視圖-控制器模式是一個有用的工具箱,它有很多好處,但也有一些缺點。3.2.1 MVC 工作原理 MVC是一個設計模式,它強制性的使應用程序被分為三個核心部件:模型、視圖、控制器。它們各自處理自己的任務。3.2.2 MVC三個核心部件(1) 視圖: 視圖是用戶看到并與之交互的界面。MVC一個大的好處是它能為你的應用程序處理不同的視圖。在視圖中其實沒有真正的處理發(fā)生,不管這些數(shù)據(jù)是聯(lián)機存儲的還是一個學生列表,作為視圖來講,她只是作為一種輸出數(shù)據(jù)并允許用戶操縱的方式。(2) 模型: 模型表

19、示企業(yè)數(shù)據(jù)和業(yè)務規(guī)則。在MVC的三個部件中,模型擁有最多的處理任務。例如它可能用像EJBs和ColdFusion Components這樣的構(gòu)件對象來處理數(shù)據(jù)庫。被模型返回后的數(shù)據(jù)是中立的,就是說模型與數(shù)據(jù)格式無關,這樣一個模型能為多個視圖提供數(shù)據(jù)。由于應用于模型的代碼只需寫一次就可以被多個視圖重用,所以減少了代碼的重復性。(3) 控制器: 控制器接受用戶的輸入并調(diào)用模型和視圖去完成用戶的需求。所以當單擊web頁面中的超鏈接和發(fā)送html表單時,控制器本身并不輸出任何東西和做任何處理。它只是接受請求并決定調(diào)用哪個模型構(gòu)件去處理請求,然后確定用哪個視圖來顯示模型處理返回的數(shù)據(jù)。3.2.3 MVC

20、的優(yōu)點 MVC設計模式是一個很好創(chuàng)建軟件的途徑,它所提倡的一些原則,像內(nèi)容和顯示互相分離可能比較好理解。但是如果你要隔離模型、視圖和控制器的構(gòu)件,你可能需要重新思考你的應用程序,尤其是應用程序的構(gòu)架方面。如果你肯接受MVC,并且有能力應付它所帶來的額外的工作和復雜性,MVC將會使你的軟件在健壯性,代碼重用和結(jié)構(gòu)方面上一個新的臺階。3.3 Hibernate和ORMHibernate是JDBC的輕量級的對象封裝,它是當前比較流行的對象持久化技術(shù),也就是說,用hibernate可以將一個java對象保存到數(shù)據(jù)庫。它是一個獨立的對象持久層框架,和App Server,和EJB沒有什么必然的聯(lián)系。Hi

21、bernate可以用在任何JDBC可以使用的場合,例如Java應用程序的數(shù)據(jù)庫訪問代碼,DAO接口的實現(xiàn)類,甚至可以是BMP里面的訪問數(shù)據(jù)庫的代碼。從這個意義上來說,Hibernate和EJB不是一個范疇的東西,也不存在非此即彼的關系。Hibernate是一個和JDBC密切關聯(lián)的框架,所以Hibernate的兼容性和JDBC驅(qū)動,和數(shù)據(jù)庫都有一定的關系,但是和使用它的Java程序,和App Server沒有任何關系,也不存在兼容性問題。圖3.1 Hibernate體系總覽圖由于Hibernate比較復雜,提供了好幾種運行方式。在輕型體系中,應用程序自己提JDBC連接,并自行管理事務。這種方式使

22、用了Hibernate API的一個最小子集。(如下圖)圖3.2 Hibernate輕型應用體系 在前面解決體系中,對于應用程序來說,所有的底層JDBC/JTA API都被抽象了,Hibernate會替你照管好所有的細節(jié)。本文中所用到的就是這種體系。 圖3.3 Hibernate全面應用解決體系以下是圖中一些對象的定義:1)SessionFactory對屬于單一數(shù)據(jù)庫的編譯過的映射文件的一個線程安全的,不可變的緩存快照。它是Session的工廠,是ConnectionProvider的客戶。可能持有一個可選的二級數(shù)據(jù)緩存,可以在進程級別后集群級別保存可以在事務中重用的數(shù)據(jù)。2)Session

23、會話Session是生命周期的單線程對象,代表應用程序和持久層之間的一次對話。封裝了一個JDBC連接,也是Transaction的工廠。保存有必需的(第一級)持久化對象的緩存,用于遍歷對象圖或通過標識符查找對象。3)Configuration 類Configuration類負責配置并啟動Hibernate,創(chuàng)建SessionFactory對象。在Hibernate的啟動的過程中,Configuration類的實例首先定位映射文檔位置、讀取配置,然后創(chuàng)建SessionFactory對象。4)事務(Transaction)事務也是生命周期短的單線程對象,應用程序用它來表示一批工作的原子操作。是底層

24、的JDBC,JTA或者CORBA事務的抽象。一個Session某些情況下可能跨越多個事務。對象關系映射(Object Relational Mapping,簡稱ORM)是一種為了解決面向?qū)ο笈c關系數(shù)據(jù)庫存在的互不匹配的現(xiàn)象的技術(shù)。 簡單的說,ORM是通過使用描述對象和數(shù)據(jù)庫之間映射的元數(shù)據(jù),將java程序中的對象自動持久化到關系數(shù)據(jù)庫中。本質(zhì)上就是將數(shù)據(jù)從一種形式轉(zhuǎn)換到另外一種形式。面向?qū)ο蟮拈_發(fā)方法是當今企業(yè)級應用開發(fā)環(huán)境中的主流開發(fā)方法,關系數(shù)據(jù)庫是企業(yè)級應用環(huán)境中永久存放數(shù)據(jù)的主流數(shù)據(jù)存儲系統(tǒng)。對象和關系數(shù)據(jù)是業(yè)務實體的兩種表現(xiàn)形式,業(yè)務實體在內(nèi)存中表現(xiàn)為對象,在數(shù)據(jù)庫中表現(xiàn)為關系數(shù)據(jù)。

25、內(nèi)存中的對象之間存在關聯(lián)和繼承關系,而在數(shù)據(jù)庫中,關系數(shù)據(jù)無法直接表達多對多關聯(lián)和繼承關系。因此,對象-關系映射(ORM)系統(tǒng)一般以中間件的形式存在,主要實現(xiàn)程序?qū)ο蟮疥P系數(shù)據(jù)庫數(shù)據(jù)的映射。3.4 Struts技術(shù)Struts是采用Java Servlet/JavaServer Pages技術(shù),開發(fā)Web應用程序的開放源碼framework。采用Struts能開發(fā)出基于MVC(Model-View-Controller)設計模式的應用構(gòu)架。Struts由一組相互協(xié)作的類、Serlvet以及Jsp TagLib組成?;赟truts構(gòu)架的web應用程序基本上符合JSP Model2的設計標準,可

26、以說是MVC設計模式的一種變化類型。Struts是一個web framework,不僅僅是一些標記庫的組合。但 Struts 也包含了豐富的標記庫和獨立于該框架工作的實用程序類。Struts有其自己的控制器(Controller),同時整合了其他的一些技術(shù)去實現(xiàn)模型層(Model)和視圖層(View)。在模型層,Struts可以很容易的與數(shù)據(jù)訪問技術(shù)相結(jié)合,包括EJB,JDBC和Object Relation Bridge。在視圖層,Struts能夠與JSP, Velocity Templates,XSL等等這些表示層組件相結(jié)合。Structs的主要功能是:(1)包含一個controller

27、servlet,能將用戶的請求發(fā)送到相應的Action對象。(2)JSP自由tag庫,并且在controller servlet中提供關聯(lián)支持,幫助開發(fā)員創(chuàng)建交互式表單應用。(3)提供了一系列實用對象:XML處理、通過Java reflection APIs自動處理JavaBeans屬性、國際化的提示和消息。3.4.1 SERVLET 概述SERVLET是一種服務器端的Java應用程序,具有獨立于平臺和協(xié)議的特性,可以生成動態(tài)的Web頁面。 它擔當客戶請求(Web瀏覽器或其他HTTP客戶程序)與服務器響應(HTTP服務器上的數(shù)據(jù)庫或應用程序)的中間層。 SERVLET是位于Web 服務器內(nèi)部的

28、服務器端的Java應用程序,與傳統(tǒng)的從命令行啟動的Java應用程序不同,SERVLET由Web服務器進行加載,該Web服務器必須包含支持SERVLET的Java虛擬機。SERVLET的主要功能在于交互式地瀏覽和修改數(shù)據(jù),生成動態(tài)Web內(nèi)容。這個過程為:客戶端發(fā)送請求至服務器端;服務器將請求信息發(fā)送至SERVLET;SERVLET生成響應內(nèi)容并將其傳給服務器。響應內(nèi)容動態(tài)生成,通常取決于客戶端的請求;服務器將響應返回給客戶端。SERVLET是使用JAVA SERVLET應用程序設計接口(API)及相關類和方法的JAVA程序。除JAVA SERVLET API,SERVLET還可以使用用于擴展和添

29、加到API的JAVA類軟件包。SERVLET技術(shù)的特點:SERVLET 可以處理客戶端傳來的HTTP請求,并返回一個響應。SERVLET 是一個JAVA 的類,JAVA語言能夠?qū)崿F(xiàn)的功能,SERVLET基本上都能實現(xiàn),總的來說,SERVLET有一下優(yōu)勢:(1)可移植性:因為SERVLET由JAVA開發(fā)并符合規(guī)范定義和廣泛接受的API,它可以在不用的操作系統(tǒng)平臺和不同的應用服務器平臺下移植。(2)功能強大:SERVELT可以使用JAVA API核心的所有功能,這些功能包括WEB和URI訪問、圖像處理、數(shù)據(jù)壓縮、多線程、JDBC、RMI和序列化對象等。(3)安全:有幾個不同層次為SERVLET的安

30、全提供了保障。首先,它是用JAVA編寫的,所以它可以使用JAVA的安全框架;其次,SERVLET API被實現(xiàn)為類型安全的;另外,容器也會對SERVLET的安全進行管理。(4)簡潔:SERVLET代碼面向?qū)ο?,在封裝方面具有很大的優(yōu)勢。(5)集成:SERVLET和服務器緊密集成,它們可以密切合作完成特定的任務。此外,SERVLET還有模塊化、擴展性、靈活性、高效耐久的有點。3.4.2 JSP(Java Server Pages)技術(shù)JSP(Java Server Pages)是由Sun Microsystems公司倡導、許多公司參與一起建立的一種動態(tài)網(wǎng)頁技術(shù)標準。JSP技術(shù)有點類似ASP技術(shù),

31、它是在傳統(tǒng)的網(wǎng)頁HTML文件中插入Java程序段(Scriptlet)和JSP標記(tag),從而形成JSP文件。 用JSP開發(fā)的Web應用是跨平臺的,既能在Linux下運行,也能在其他操作系統(tǒng)上運行。JSP技術(shù)使用Java編程語言編寫類XML的tags和scriptlets,來封裝產(chǎn)生動態(tài)網(wǎng)頁的處理邏輯。網(wǎng)頁還能通過tags和scriptlets訪問存在于服務端的資源的應用邏輯。JSP將網(wǎng)頁邏輯與網(wǎng)頁設計和顯示分離,支持可重用的基于組件的設計,使基于Web的應用程序的開發(fā)變得迅速和容易。 JSP與Java Servlet一樣,是在服務器端執(zhí)行的,通常返回該客戶端的就是一個HTML文本,因此客

32、戶端只要有瀏覽器就能瀏覽。 JSP技術(shù)使用Java編程語言編寫類XML的tags和scriptlets,來封裝產(chǎn)生動態(tài)網(wǎng)頁的處理邏輯。網(wǎng)頁還能通過tags和scriptlets訪問存在于服務端的資源的應用邏輯。JSP將網(wǎng)頁邏輯與網(wǎng)頁設計和顯示分離,支持可重用的基于組件的設計,使基于Web的應用程序的開發(fā)變得迅速和容易。 Web服務器在遇到訪問JSP網(wǎng)頁的請求時,首先執(zhí)行其中的程序段,然后將執(zhí)行結(jié)果連同JSP文件中的HTML代碼一起返回給客戶。插入的Java程序段可以操作數(shù)據(jù)庫、重新定向網(wǎng)頁等,以實現(xiàn)建立動態(tài)網(wǎng)頁所需要的功能。JSP與Servlet一樣,是在服務器端執(zhí)行的,通常返回給客戶端就是一

33、個HTML文本,因此客戶端只要有瀏覽器能瀏覽。JSP頁面由HTML代碼和嵌入其中的Java代碼所組成。服務器在頁面被客戶端請求以后對這些Java代碼進行處理,然后將生成的HTML頁面返回給客戶端的瀏覽器。Servlet是JSP的技術(shù)基礎,而且大型的Web應用程序的開發(fā)需要Java Servlet和JSP配合才能完成。JSP具備了Java技術(shù)的簡單易用,完全的面向?qū)ο?,具有平臺無關性且安全可靠,主要面向因特網(wǎng)的所有特點。JSP技術(shù)的優(yōu)點:(1)一次編寫,到處運行。除了系統(tǒng)之外,代碼不用做任何更改。 (2)系統(tǒng)的多平臺支持?;旧峡梢栽谒衅脚_上的任意環(huán)境中開發(fā),在任意環(huán)境中進行系統(tǒng)部署,在任意環(huán)

34、境中擴展。相比ASP/.net的局限性是可見的。(3)強大的可伸縮性。從只有一個小的Jar文件就可以運行Servlet/JSP,到由多臺服務器進行集群和負載均衡,到多臺Application進行事務處理,消息處理,一臺服務器到無數(shù)臺服務器,Java顯示了一個巨大的生命力。 (4)多樣化和功能強大的開發(fā)工具支持。Java已經(jīng)有了許多非常優(yōu)秀的開發(fā)工具,而且許多可以免費得到,并且其中許多已經(jīng)可以順利的運行于多種平臺之下 (5)支持服務器端組件。web應用需要強大的服務器端組件來支持,開發(fā)人員需要利用其他工具設計實現(xiàn)復雜功能的組件供web頁面調(diào)用,以增強系統(tǒng)性能。JSP可以使用成熟的JAVA BEA

35、NS 組件來實現(xiàn)復雜商務功能。 JSP技術(shù)提供了一種簡單快速的方法來創(chuàng)建顯示動態(tài)生成內(nèi)容的Web頁面。也就是在MVC中充當V(View)的角色。由業(yè)界處于領先地位的Sun公司制定了相關的JSP技術(shù)規(guī)范,該規(guī)范定義了如何在服務器和JSP頁面間進行交互,還描述了頁面的格式和語法。JSP頁面使用XML標簽和scriptlets(一種使用Java語言編寫的腳本代碼),封裝了生成頁面內(nèi)容的邏輯。它將各種格式的標簽(HTML或者XML)直接傳遞回響應頁面。通過這種方式,JSP頁面實現(xiàn)了頁面邏輯與其設計和顯示的分離。JSP技術(shù)是Java系列技術(shù)的一部分。JSP頁面被編譯成servlet,并可能調(diào)用JavaB

36、eans組件(beans)或Enterprise JavaBeans組件(企業(yè)beans),以便在服務器端處理。因此,JSP技術(shù)在構(gòu)建可升級的基于web的應用程 序時扮演了重要角色。 JSP頁面并不局限于任何特定的平臺或web服務器上。JSP規(guī)范在業(yè)界有著廣泛的適應性。 JSP技術(shù)是行業(yè)協(xié)作的結(jié)果,它的設計是開放的,符合行業(yè)標準的,并支持絕大多數(shù)的服務器、瀏覽器和相關工具。由于使用可重用的組件和標簽取代了對頁面本身腳本語言的嚴重依賴,JSP技 術(shù)大大加快了開發(fā)的速度。所有JSP的實現(xiàn)均支持以Java編程語言為基礎的腳本語言,它有與生俱來的可適應性,支持復雜的操作。3.5 數(shù)據(jù)庫技術(shù)的現(xiàn)狀和發(fā)展

37、 數(shù)據(jù)庫技術(shù)是60年代末出現(xiàn)的一門計算機軟件技術(shù),到現(xiàn)在雖然只有三十多年的歷史,但在理論和時間上都已經(jīng)趨于成熟,使我們能夠方便的使用。數(shù)據(jù)庫技術(shù)是信息系統(tǒng)的核心和基礎,它的出現(xiàn)極大地促進了計算機應用向各行各業(yè)的滲透數(shù)據(jù)庫的建設規(guī)模、數(shù)據(jù)庫信息量的大小和使用頻度已成為衡量一個國家信息化程度的重要標志。 MySQL是一個開放源碼的小型關聯(lián)式數(shù)據(jù)庫管理系統(tǒng),開發(fā)者為瑞典MySQL AB公司。目前MySQL被廣泛地應用在Internet上的中小型網(wǎng)站中。由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,許多中小型網(wǎng)站為了降低網(wǎng)站總體擁有成本而選擇了MySQL作為網(wǎng)站數(shù)據(jù)庫。它具有數(shù)據(jù)庫系統(tǒng)

38、的通用性:(1)數(shù)據(jù)庫管理系統(tǒng)。我們知道,所謂的數(shù)據(jù)庫就是一些結(jié)構(gòu)化的數(shù)據(jù)的聯(lián)合體,要提供對這些數(shù)據(jù)的存取、增加、修改、刪除或更加復雜的數(shù)據(jù)抽取等操作,需要有一個支撐系統(tǒng),這就是數(shù)據(jù)庫管理系統(tǒng)(DBMS),MySQL 完全具有這方面的功能。(2)關系型數(shù)據(jù)庫管理系統(tǒng)。在數(shù)據(jù)庫的發(fā)展歷程中,曾出現(xiàn)過多種不同形式的數(shù)據(jù)庫系統(tǒng),但關系型數(shù)據(jù)庫管理系統(tǒng)(RDBMS)以其優(yōu)越性而被廣為采用,象現(xiàn)在幾種廣泛使用的數(shù)據(jù)庫全為關系型數(shù)據(jù)庫。同樣,MySQL也是關系型的數(shù)據(jù)庫系統(tǒng),支持標準的結(jié)構(gòu)化查詢語言(Structured Query Language)。MySQL的特性包括: (1) 使用C和C+編寫,并

39、使用了多種編譯器進行測試,保證源代碼的可移植性。 (2)為多種編程語言提供了API。這些編程語言包括C、C+、Python、Java、Perl、PHP、Eiffel、Ruby和Tcl等。 (3)優(yōu)化的SQL查詢算法,有效地提高查詢速度 (4)既能夠作為一個單獨的應用程序應用在客戶端服務器網(wǎng)絡環(huán)境中,也能夠作為一個庫而嵌入到其他的軟件中。 (5)提供多語言支持,常見的編碼如中文的GB 2312、BIG5,日文的Shift_JIS等都可以用作數(shù)據(jù)表名和數(shù)據(jù)列名。 (6)提供用于管理、檢查、優(yōu)化數(shù)據(jù)庫操作的管理工具。4. 系統(tǒng)總體設計4.1系統(tǒng)運行的網(wǎng)絡環(huán)境 無論是客戶端的用戶還是管理端的管理用戶都

40、可以通過網(wǎng)絡登錄到本系統(tǒng)中。用戶通過網(wǎng)絡注冊會員填寫并查詢相關信息。管理端的管理員再對會員的信息進行添加、修改和刪除操作。管理端的系統(tǒng)管理員需要設置管理端的用戶以及相應的權(quán)限。它們的關系如圖1-1所示。圖4.1 系統(tǒng)關系圖4.2系統(tǒng)運行的硬件環(huán)境本系統(tǒng)的硬件環(huán)境如下:客戶機:普通PC CPU: P41.8GHz 以上 內(nèi)存:256MB以上 能夠運行IE5.0以上或者Netscape4.0以上版木的機器 分辨率:推薦使用1024X768像素 Web服務器 CPU: P41.0GHz 內(nèi)存:1G以上 硬盤:80GB以上 網(wǎng)卡:KMb/s速度數(shù)據(jù)庫服務器 CPU: P42.0GHZ 內(nèi)存:1GB以上

41、 硬盤:80GB以上4.3系統(tǒng)運行軟件環(huán)境本系統(tǒng)的軟件環(huán)境如下: 操作系統(tǒng):UNIX/Linux/Windows2000或以上版本 數(shù)據(jù)庫:wamp 開發(fā)工具包:Eclipse Web 服務器:11S5.0 瀏覽器:IE6.0以上4.4功能規(guī)格采用面向?qū)ο蠓治鲎鳛橹饕南到y(tǒng)建模方法,使(UnifiedModeling Language)作為建模語言。UML為建?;顒犹峁┝藦牟煌嵌扔^察和展示系統(tǒng)的各種特征的方法。在UML中,從任何一個角度對系統(tǒng)所作的抽象都可能需要幾種模型來描述,而這些來自不同角度的模型圖最終組成了系統(tǒng)的映像。用例描述角色(用戶、外部系統(tǒng)以及系統(tǒng)處理)是如何與系統(tǒng)交互來完成工作

42、的。用例模型提供了一個非常重要的方式來界定系統(tǒng)邊界以及定義系統(tǒng)功能。同時,該模型將來可以派生出動態(tài)對象模型。設計用例時,我們遵循下列步驟:1)識別出系統(tǒng)的角色。角色可以足用戶、外部系統(tǒng),甚至是外部處理,通過某種途徑與系統(tǒng)交互。重要的是著重從系統(tǒng)外部執(zhí)行者的角度來描述系統(tǒng)需要提供哪些功能,并指明這些功能的執(zhí)行者(角色)是誰。盡可能地確保所有角色都被完全識別出來。2)描述主要的用例??梢葬娙〔粩嗟貑柊滓选斑@個角色究竟想過系統(tǒng)做什么?”來準確地描述用例。3)重新審視每個用例,為它們下個詳盡的定義。4.4.1角色定義角色或者執(zhí)行者指與系統(tǒng)產(chǎn)生交互的外部用戶或者外部系統(tǒng)。4.4.2瀏覽用戶瀏覽用戶足指直

43、接輸入網(wǎng)站地址后進行網(wǎng)站瀏覽,留言的用戶,他們可以注冊成為會員。4.4.3會員用戶會員用戶足指在這個網(wǎng)站中通過客戶端提交信息注冊成為會員的人員,這個角色除參與瀏覽用戶的用例外,還可以修改個人信息。4.4.4管理用戶管理用戶是指管理端的用戶,此角色派生兩個子類,管理員和系統(tǒng) 管理員,管理員足指在美食門戶網(wǎng)站后臺中通過管理端參與網(wǎng)站瀏覽,留言的人員。系統(tǒng)管理員是指對美食門戶網(wǎng)站后臺系統(tǒng)進行相關設置、進行系統(tǒng)維護的人員,他也是通過管理端登錄對管理端的用戶進行設置,分配權(quán)限等。如圖1-2所示。管理員管理用戶具體說明如下: 會員管理。會員的注冊、個人信息的修改、會員的刪除、變更和查詢。 美食管理。美食的

44、添加、刪除、修改和查詢功能。 餐廳管理。餐廳添加、刪除、修改和查詢功能。 廚師管理。廚師的刪除和查詢功能。 留言管理。留言的添加、刪除、修改和查詢功能。 系統(tǒng)數(shù)據(jù)管理。 主要實現(xiàn)系統(tǒng)的數(shù)據(jù)維護,包括系統(tǒng)的數(shù)據(jù)備份和數(shù)據(jù)維護等。 4.5數(shù)據(jù)庫 數(shù)據(jù)庫是一個與系統(tǒng)產(chǎn)生交互的外部系統(tǒng),這個角色負責系統(tǒng)的數(shù)據(jù)查詢、增加、刪除和修改等操作。4.5.1 數(shù)據(jù)庫邏輯結(jié)構(gòu)設計本系統(tǒng)的用戶有2類:管理員和用戶。由于管理員和用戶的權(quán)限和操作功能大不相同,因此在本系統(tǒng)中需要分別進行數(shù)據(jù)記錄。管理員數(shù)據(jù)實體:管理員的登錄帳號、姓名和密碼;用戶數(shù)據(jù)實體:用戶號、用戶名、密碼、性別、地址等;4.5.2 實體聯(lián)系圖實體聯(lián)系

45、圖:簡記E-R圖是指以實體、關系、屬性三個基本概念概括數(shù)據(jù)的基本結(jié)構(gòu),從而描述靜態(tài)數(shù)據(jù)結(jié)構(gòu)的概念模式。在系統(tǒng)設計的開始,我首先考慮的是如何用數(shù)據(jù)模型來定義數(shù)據(jù)庫的結(jié)構(gòu)與語義,以對現(xiàn)實世界進行抽象。目前廣泛使用的數(shù)據(jù)模型可分為兩種類型,一種是獨立十計算機系統(tǒng)的“概念數(shù)據(jù)模型”,如“實體聯(lián)系模型”;另一種是直接面向數(shù)據(jù)庫邏輯結(jié)構(gòu)的“結(jié)構(gòu)數(shù)據(jù)模型”。在本系統(tǒng)中采用“實體聯(lián)系模型”(ER模型)來描述數(shù)據(jù)庫的結(jié)構(gòu)與語義,以對現(xiàn)實世界進行第一次抽象。ER模型直接從現(xiàn)實世界抽象出實體類型及實體間聯(lián)系,然后用ER圖來表示數(shù)據(jù)模型。它有兩個明顯的優(yōu)點:接近于人的思維,容易理解;與計算機無關,用戶容易接受。但ER

46、模型只能說明實體間語義的聯(lián)系,不能進一步說明詳細的數(shù)據(jù)結(jié)構(gòu),它只是數(shù)據(jù)庫設計的第一步。E-R圖是直觀表示概念模型的工具,它有三個基本成分:(1) 矩形框,表示實體類型(考慮問題的對象);(2) 菱形框,表示聯(lián)系類型(實體間的聯(lián)系);(3) 橢圓形框,表示實體的屬性。根據(jù)對數(shù)據(jù)項與數(shù)據(jù)結(jié)構(gòu)的分析,設計出能夠滿足系統(tǒng)需求的各種實體,及它們之間的關系,為后面的邏輯結(jié)構(gòu)設計打下基礎。本系統(tǒng)包括的實體有學生實體,教師實體,課程實體,班級實體等。各實體屬性圖:密碼用戶id用戶 用戶名性別圖4.2 用戶主要關系圖編號密碼管理員管理名美食圖4.3 管理員主要關系圖描述美食名圖片Id價格圖4.4 美食主要關系圖

47、留言題目內(nèi)容留言號留言用戶發(fā)布者內(nèi)容題目公告號公告留言圖4.5 公告主要關系圖圖4.6 留言主要關系圖4.5.3創(chuàng)建數(shù)據(jù)庫 本系統(tǒng)采用mysql創(chuàng)建數(shù)據(jù)庫,連接數(shù)據(jù)庫建立10張數(shù)據(jù)表。圖4.7 所有表 如圖4.8圖4.17圖4.8 管理員表圖4.9 餐廳表圖4.10 美食類別表圖4.11 廚師表圖4.12 文件表圖4.13 公告表圖4.14 美食表圖4.15 留言表圖4.16 名店加盟表圖4.17 用戶表5. 系統(tǒng)的實現(xiàn)5.1 系統(tǒng)登陸界面 啟動Tomcat服務器,在瀏覽器里輸入相應的地址,進入系統(tǒng)主界面,也就是首頁,如圖5.1:圖5.1 美食網(wǎng)首頁5.2管理員登陸模塊在首頁的右下角可以點擊進入管理員登陸見面,如圖5.2:圖5.2 管理員登陸界面5.3管理員管理5.3.1管理員密碼管理 管理員可以再密碼修改中修改自己的密碼。如圖5.3:圖5.3 管理員更改密碼5.3.2添加管理員管理員可以通過管理員維護添加管理員。如圖5.4:圖5.4 添加管理員5.3.3 管理用戶管理員可以管理用戶。如圖5.5

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論