JSP實現(xiàn)在線音樂播放系統(tǒng)論文設(shè)計_第1頁
JSP實現(xiàn)在線音樂播放系統(tǒng)論文設(shè)計_第2頁
JSP實現(xiàn)在線音樂播放系統(tǒng)論文設(shè)計_第3頁
JSP實現(xiàn)在線音樂播放系統(tǒng)論文設(shè)計_第4頁
JSP實現(xiàn)在線音樂播放系統(tǒng)論文設(shè)計_第5頁
已閱讀5頁,還剩26頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、4.4數(shù)據(jù)庫連接的設(shè)計與實現(xiàn)21弓丨ri 1.1本課題的研究背景及LI的11.1.1本課題的研究背景1.1.2本課題的研究目的1.2系統(tǒng)的關(guān)鍵技術(shù)1.2.1 B/S 模式21.2.2 Java 語言31.2.3 Struts框架51.2.4 SOL Server 2005 61.2.5 JSP71.2.6 MVC81.2.7 Servlet101.2.8 Tomcat112需求分析122.1系統(tǒng)初步調(diào)查122.2 總體要求122.3 用戶需求132.4可行性分析132.5開發(fā)平臺143系統(tǒng)概要設(shè)計153.1系統(tǒng)設(shè)計概述153.2系統(tǒng)用例圖163.3 系統(tǒng)流程圖163.4系統(tǒng)功能分析174數(shù)據(jù)庫

2、設(shè)計與實現(xiàn)184.1數(shù)據(jù)庫的設(shè)計思想184.2數(shù)據(jù)庫模型的設(shè)計與實現(xiàn)184.3 數(shù)據(jù)字典195 系統(tǒng)的實現(xiàn)235.1系統(tǒng)的首頁235.2管理員的登錄235.3 歌曲的試聽246 系統(tǒng)測試276.1 程序調(diào)試276.2程序的測試277 結(jié)論28參考文獻29 301引言1.1本課題的研究背景及目的1丄1本課題的研究背景隨著人們物質(zhì)生活水平的不斷提高,現(xiàn)今生活中人們對于音樂這樣的精神食糧的需 求量越來越大,這也導致了人們對于優(yōu)質(zhì)音樂在線共享平臺的呼吁聲越來越大。本課題 所研究的樂游音樂網(wǎng)站是運用現(xiàn)代通信技術(shù)、訃算機和網(wǎng)絡(luò)技術(shù)搭建的一種音樂共享平 臺,其LI的是通過互聯(lián)網(wǎng)、優(yōu)化社會資源配置,為個人或團

3、體提供在線音樂的視聽和下 載。音樂是無國界的,音兀通過網(wǎng)絡(luò)這個媒介更多的進入人們的日常工作休閑。隨著網(wǎng) 絡(luò)技術(shù)的日趨成熟和普及,各類網(wǎng)站如雨后春筍般出現(xiàn)在互聯(lián)網(wǎng)上,音樂網(wǎng)站是其中較 為流行和熱門的一種。從音樂網(wǎng)站上發(fā)展而來的網(wǎng)絡(luò)音樂是一種全新的音樂模式,它突 破了傳統(tǒng)音樂的制作方法和傳播模式的局限,更加貼近人們的生活。音樂網(wǎng)站是網(wǎng)絡(luò)音 樂的發(fā)展平臺。過去,音樂網(wǎng)站功能較為單一,但隨著網(wǎng)絡(luò)技術(shù)的發(fā)展,用戶對音樂網(wǎng) 站的要求逐步提高,音樂網(wǎng)站山此也逐漸出現(xiàn)了更多采用較為優(yōu)越的開發(fā)工具(如ASP、 JSP、JavaScript. PHP3等)來建設(shè)的音樂網(wǎng)站。本課題所研究的音樂網(wǎng)站主要是為個人 提供

4、搜索,欣賞和下載的一個平臺,從而給個人帶來方便。音樂是人們文化生活中不可或缺的一個重要組成部分。而音樂傳播方式多種多樣, 近兒年發(fā)展最迅速、使用最便捷的傳播方式便是直接將音樂上傳至網(wǎng)絡(luò)供網(wǎng)民下載。中 文音樂網(wǎng)站在過去短短兒年,如雨后春筍般遍布互聯(lián)網(wǎng)。而音樂網(wǎng)站基本上都是以提供音 樂試聽下載為主,這是音樂突破傳統(tǒng)途徑在網(wǎng)絡(luò)上傳播的平臺之一,網(wǎng)絡(luò)也因此成為音 樂宣傳的最重要也是最主要的途徑。音像店已不再是消費者唯一的選擇,提供音樂下載 服務(wù)的網(wǎng)絡(luò)成為眾多消費者的首要選擇。對于消費者來說,在網(wǎng)上下載音樂讓他們擁有 更多的自主選擇權(quán),可以免費選擇自己想要的歌曲而無需購買整張專輯,更加方便快捷。對于在線

5、音樂網(wǎng)站來說,用戶的訪問量和下載音樂的次數(shù)都是至關(guān)重要的。如果網(wǎng) 站的訪問量很低,那么就很少有企業(yè)與其合作,也就沒有利潤可言了。因此,在線音樂 網(wǎng)必須為用戶提供大量,全面的,而且是最新的音樂,才能夠吸引用戶。為此,網(wǎng)站要 盡可能地提供更多的音樂資源,主要音樂類型有流行歌曲,網(wǎng)絡(luò)歌曲一集最新熱門歌曲 等。另外,網(wǎng)站可以為企業(yè)或者用戶提供各種有償服務(wù),還需要額外為用戶提供大量的 無償服務(wù),比如說:免費下載高音質(zhì)的歌曲。1.1.2本課題的研究目的中國做為全球最大的發(fā)展中國家,根據(jù)工業(yè)和信息化部(MIIT)公布的數(shù)據(jù)在今年 2010年中國的上網(wǎng)用戶數(shù)量將達到近七點四億,占了中國人口的白分之六十,同時還

6、在 以1.01%每月和17.51%每年的速度增加,中國也無可厚非地成為了全球最大的通信市 場。中國的上網(wǎng)用戶已經(jīng)超過了全歐洲國家上網(wǎng)用戶的總和。當今社會作為一個飛速發(fā)展的社會,網(wǎng)絡(luò)已滲入人們的生活,網(wǎng)絡(luò)已成為信息傳播 的一大媒介,可以說網(wǎng)絡(luò)資源的獲取已逐步改變了人們以往的生活方式,網(wǎng)絡(luò)已經(jīng)成為 人們?nèi)粘9ぷ?,休閑的主要工具之一。我所選擇的課題是音樂網(wǎng)站的設(shè)計與實現(xiàn),正是 互聯(lián)網(wǎng)與社會生活之間的緊密聯(lián)系的體現(xiàn)。為了滿足音樂愛好者,明星崇拜者,各種專輯癡迷著的需求,一批以音樂為主題的 網(wǎng)站也應(yīng)運而生。音樂網(wǎng)站U詢最常見的音樂發(fā)燒友網(wǎng)站行業(yè)呈現(xiàn)出的旺盛生命力和巨 大的市場潛力。音斥網(wǎng)站信息系統(tǒng)采用了

7、 B/S開發(fā)框架,先進的管理構(gòu)思,完善的業(yè)務(wù) 管理功能,整個產(chǎn)品在管理功能、易用性、實用性、數(shù)據(jù)容量、數(shù)據(jù)安全性、網(wǎng)絡(luò)穩(wěn)定 性方面相對于以前的系統(tǒng)都有了很大的提高。1.2 系統(tǒng)的關(guān)鍵技術(shù)121 B/S模式B/S是Brower/Server的縮寫,客戶機上只要安裝一個瀏覽器(Browser),如Netscape Navigator 或 Internet Explorer,服務(wù)器安裝 Oracle、Sybase、Informix 或 SQL Server 等 數(shù)據(jù)庫。瀏覽器通過Web Server同數(shù)據(jù)庫進行數(shù)據(jù)交互。DB/S模式是一種三層結(jié)構(gòu)的系統(tǒng)。笫一層客戶機是用戶與整個系統(tǒng)的接口??蛻?的應(yīng)

8、用程序精簡到一個通用的瀏覽器軟件,如Netscape Navigator,微軟公司的IE等。 瀏覽器將HTML代碼轉(zhuǎn)化成圖文并茂的網(wǎng)頁。網(wǎng)頁還具備一定的交互功能,允許用戶 在網(wǎng)頁提供的申請表上輸入信息提交給后臺,并提出處理請求。這個后臺就是笫二層的 Web服務(wù)器。第二層Web服務(wù)器將啟動相應(yīng)的進程來響應(yīng)這一請求,并動態(tài)生成一串 HTML代碼,其中嵌入處理的結(jié)果,返回給客戶機的瀏覽器。如果客戶機提交的請求包 括數(shù)據(jù)的存取,Web服務(wù)器還需與數(shù)據(jù)庫服務(wù)器協(xié)同完成這一處理工作。笫三層數(shù)據(jù)庫 服務(wù)器的任務(wù)類似于C/S模式,負責協(xié)調(diào)不同的Web服務(wù)器發(fā)出的SQ請求,管理數(shù)據(jù) 庫,對數(shù)據(jù)庫進行相關(guān)的操作。

9、2) B/S最大的優(yōu)點就是可以在任何地方進行操作而不用安裝任何專門的軟件。只要 有一臺能上網(wǎng)的電腦就能使用,客戶端零維護。系統(tǒng)的擴展非常容易,只要能上網(wǎng),再 山系統(tǒng)管理員分配一個用戶名和密碼,就可以使用了。其至可以在線申請,通過公司內(nèi) 部的安全認證(如CA證書)后,不需要人的參與,系統(tǒng)可以自動分配給用戶一個賬號進 入系統(tǒng),這樣就大大的提高系統(tǒng)的可維護性和安全性。1.2.2 Javn 語己DJava語言是簡單的。Java語言的語法與C語言和C+語言很接近,使得大多數(shù)程 序員很容易學習和使用Javao另一方面,Java丟棄了 C+中很少使用的、很難理解的、 令人迷惑的那些特性,如操作符重載、多繼承

10、、自動的強制類型轉(zhuǎn)換。特別地,Java語 言不使用指針,并提供了自動的廢料收集,使得程序員不必為內(nèi)存管理而擔憂,C+的 垃圾回收機制要求程序員自己回收,這樣大大的增加了程序員的負擔。2) Java語言是一個面向?qū)ο蟮摹ava語言提供類、接口和繼承等原語,為了簡單起 見,只支持類之間的單繼承,但支持接口之間的多繼承,并支持類與接口之間的實現(xiàn)機 制(關(guān)鍵字為implements)<> Java語言全面支持動態(tài)綁定,而C+語言只對虛函數(shù)使用動 態(tài)綁定??傊?,Java語言是一個純的面向?qū)ο蟪绦蛟O(shè)計語言。3) Java語言是分布式的。Java語言支持Internet應(yīng)用的開發(fā),在基本的Ja

11、va應(yīng)用編 程接口中有一個網(wǎng)絡(luò)應(yīng)用編程接口 java API(Application Programming Interface),它提供 了用于網(wǎng)絡(luò)應(yīng)用編程的類庫,包括URL、URLConnections Socket、ServerSocket等。 Java的RMI(遠程方法激活)機制也是開發(fā)分布式應(yīng)用的重要手段。4) Java語言是健壯的。Java的強類型機制、異常處理、廢料的自動收集等是Java 程序健壯性的重要保證。對指針的丟棄是Java的明智選擇。Java的安全檢查機制使得 Java更具健壯性,這是其他弱類型語言難以實現(xiàn)的特性。5) Java語言是安全的。Java通常被用在網(wǎng)絡(luò)環(huán)境中

12、,為此,Java提供了一個安全機 制以防惡意代碼的攻擊。除了 Java語言具有的許多安全特性以外,Java對通過網(wǎng)絡(luò)下 載的類具有一個安全防范機制(類ClassLoader),如分配不同的名字空間以防替代本地的 同名類、字節(jié)代碼檢查,并提供安全管理機制(類SecurityManager)i± Java應(yīng)用設(shè)置安全 哨兵,這樣大大的提高程序員編寫代碼的安全性。6) Java語言是體系結(jié)構(gòu)中立的。Java程序(后綴為java的文件)在Java平臺上被編譯 為體系結(jié)構(gòu)中立的字節(jié)碼格式(后綴為class的文件),然后可以在實現(xiàn)這個Java平臺的 任何系統(tǒng)中運行。這種途徑適合于異構(gòu)的網(wǎng)絡(luò)環(huán)境和

13、軟件的分發(fā)。7) Java語言是可移植的。這種可移植性來源于體系結(jié)構(gòu)中立性,另外,Java還嚴格 規(guī)定了各個基本數(shù)據(jù)類型的長度。Java系統(tǒng)本身也具有很強的可移植性,Java編譯器是 用Java實現(xiàn)的,Java的運行環(huán)境是用ANSI C實現(xiàn)的。8) Java語言是解釋型的。如前所述,Java程序在Java平臺上被編譯為字節(jié)碼格式, 然后可以在實現(xiàn)這個Java平臺的任何系統(tǒng)中運行。在運行時,Java平臺中的Java解釋 器對這些字節(jié)碼進行解釋執(zhí)行,執(zhí)行過程中需要的類在聯(lián)接階段被載入到運行環(huán)境中。9) Java是高性能的。與那些解釋型的高級腳本語言相比,Java的確是高性能的。事 實上,Java的

14、運行速度隨著JIT(Just-In-Time)譯器技術(shù)的發(fā)展越來越接近于C+。10) Java語言是多線程的。在Java語言中,線程是一種特殊的對象,它必須由Thread 類或其子(孫)類來創(chuàng)建。通常有兩種方法來創(chuàng)建線程:其一,使用型構(gòu)為Thread(Runnable) 的構(gòu)造子將一個實現(xiàn)了 Runnable接口的對象包裝成一個線程,其二,從Thread類派生 出子類并重寫nm方法,使用該子類創(chuàng)建的對象即為線程。值得注意的是Thread類已經(jīng) 實現(xiàn)了 Rimnable接口,因此,任何一個線程均有它的run方法,而run方法中包含了線 程所要運行的代碼。線程的活動由一組方法來控制。Java語言支

15、持多個線程的同時執(zhí) 行,并提供多線程之間的同步機制(關(guān)鍵字為synchronized)o11) Java語言是動態(tài)的。Java語言的設(shè)計目標之一是適應(yīng)于動態(tài)變化的環(huán)境。Java 程序需要的類能夠動態(tài)地被載入到運行環(huán)境,也可以通過網(wǎng)絡(luò)來載入所需要的類。這也 有利于軟件的升級。另外,Java中的類有一個運行時刻的表示,能進行Java程序編譯 之后進行的運行時刻的類型檢查,所以Java還比較適合在動態(tài)變化的環(huán)境。Java語言的優(yōu)良特性使得Java應(yīng)用具有無比的健壯性和可靠性,這也減少了應(yīng)用 系統(tǒng)的維護費用。Java對對象技術(shù)的全面支持和Java平臺內(nèi)嵌的API能縮短應(yīng)用系統(tǒng) 的開發(fā)時間并降低成本。J

16、ava的編譯一次,到處可運行的特性使得它能夠提供一個隨處 可用的開放結(jié)構(gòu)和在多平臺之間傳遞信息的低成本方式。特別是Java企業(yè)應(yīng)用編程接口 (Java Enterprise APIs)為企業(yè)計算及電子商務(wù)應(yīng)用提供了有關(guān)技術(shù)和豐富的類庫。Java語言的優(yōu)良特性使得Java應(yīng)用具有無比的健壯性和可靠性,這也減少了應(yīng)用 系統(tǒng)的維護費用。Java對對象技術(shù)的全面支持和Java平臺內(nèi)嵌的API能縮短應(yīng)用系統(tǒng) 的開發(fā)時間并降低成本。Java編譯一次,到處可運行特性使得它能夠提供一個隨處可用 的開放結(jié)構(gòu)和在多平臺之間傳遞信息的低成本方式。特別是Java企業(yè)應(yīng)用編程接口為企 業(yè)計算及電子商務(wù)應(yīng)用系統(tǒng)提供了有關(guān)

17、技術(shù)和豐富的類庫。1.2.3 Struts 框架Struts最早是作為Apache Jakarta項U的組成部分,項U的創(chuàng)立者希望通過對該項U 的研究,改進和提高JavaServer Pages、Servlets標簽庫以及面向?qū)ο蟮募夹g(shù)水準。Struts 這個名字來源于在建筑和舊式飛機中使用的支持金屬架。這個框架之所以叫”Struts”,是 為了提醒我們記住那些支撐我們房屋,建筑,橋梁,其至我們踩高蹺時候的基礎(chǔ)支撐。 這也是一個解釋Struts在開發(fā)Web應(yīng)用程序中所扮演的角色的精彩描述。當建立一個物 理建筑時,建筑工程師使用支柱為建筑的侮一層提供支持。同樣,軟件工程師使用Struts 為業(yè)務(wù)

18、應(yīng)用的每一層提供支持。它的目的是為了幫助我們減少在運用MVC設(shè)計模型來 開發(fā)Web應(yīng)用的時間。具體來講,Struts的優(yōu)點有:1) .實現(xiàn)MVC模式,結(jié)構(gòu)清晰,使開發(fā)者只關(guān)注業(yè)務(wù)邏輯的實現(xiàn)。2) .有豐富的tag可以用,Struts的標記庫(Taglib),如能靈活動用,則能大大提高 開發(fā)效率。另外,就口前國內(nèi)的JSP開發(fā)者而言,除了使用JSP自帶的常用標記外,很 少開發(fā)自己的標記,或許Struts是一個很好的起點。3) .頁面導航.頁面導航將是今后的一個發(fā)展方向,事實上,這樣做,使系統(tǒng)的脈絡(luò) 更加清晰。通過一個配置文件,即可把握整個系統(tǒng)各部分之間的聯(lián)系,這對于后期的維 護有著莫大的好處。尤其

19、是當另一批開發(fā)者接手這個項U時,這種優(yōu)勢體現(xiàn)得更加明顯。4) .提供Exception處理機制。5) .數(shù)據(jù)庫鏈接池管理。1.2.4 SQL Server 2005SQL Server 2005是一個可擴展的、高性能的、為分布式客戶機/服務(wù)器計算所設(shè)計 的數(shù)據(jù)庫管理系統(tǒng),提供了基于事務(wù)的企業(yè)級信息管理系統(tǒng)方案。SQL(Structured Query Language)是一種資料庫查詢和程式設(shè)訃語言,用于存取資料 以及查詢、更新和管理關(guān)聯(lián)式資料庫系統(tǒng)。美國國家標準局(ANSI)與國際標準化組織 (ISO)已經(jīng)制定了 SQL標準。ANSI是一個美國工業(yè)和商業(yè)集團組織,發(fā)展美國的商務(wù) 和通訊標準。

20、ANSI 同時也是 ISO 和 International Electrotechnical Commission(IEC)的成 員之一。ANSI發(fā)布與國際標準組織相應(yīng)的美國標準。1992年,ISO和IEC發(fā)布了 SQL 的國際標準,稱為SQL-92ANSI隨之發(fā)布的相應(yīng)標準是ANSI SQL-92o ANSI SQL-92 有時被稱為ANSI SQLo盡管不同的關(guān)聯(lián)式資料庫使用的SQL版本有一些差異,但大 多數(shù)都遵循ANSI SQL標準。SQL Server使用ANSI SQL-92的擴展集,稱為T-SQL, 其遵循ANSI制定的SQL-92標準。Microsoft SQL Server 2

21、005是一個i島性能的客戶端/服務(wù)器結(jié)構(gòu)的關(guān)系數(shù)據(jù)庫管理 系統(tǒng)(RDBMS, Relational Database Management System).SQL Server 2005 是為支持高容 量的事務(wù)處理(比如在線訂購錄入、存貨U錄、記帳或制造)以及數(shù)據(jù)倉庫和決策支持系 統(tǒng)(比如銷售分析應(yīng)用)而設(shè)計的。SQL Server 2005以其內(nèi)置的數(shù)據(jù)復制功能、強大的管理工具、與Internet的緊密集 成和開放的系統(tǒng)結(jié)構(gòu)為廣大的用戶、開發(fā)人員和系統(tǒng)集成商提供了一個出眾的數(shù)據(jù)庫平 臺,這樣方便了數(shù)據(jù)庫管理員(DBA),減輕了他們的負擔。通過新數(shù)據(jù)庫鏡像方法,將記錄檔案傳送性能進行延伸。您將

22、可以使用數(shù)據(jù)庫鏡像, 通過將自動失效轉(zhuǎn)移建立到一個待用服務(wù)器上,增強您SQL服務(wù)器系統(tǒng)的可用性。SQL Server 2005是一個全面的數(shù)據(jù)庫平臺,使用集成的商業(yè)智能(BI)工具提供了 企業(yè)級的數(shù)據(jù)管理。SQL Server 2005數(shù)據(jù)庫引擎為關(guān)系型數(shù)據(jù)和結(jié)構(gòu)化數(shù)據(jù)提供了更 安全可靠的存儲功能以及數(shù)據(jù)之間的復雜關(guān)系也得到良好的處理,使您可以構(gòu)建和管理 用于業(yè)務(wù)的高可用和高性能的數(shù)據(jù)應(yīng)用程序。SQL Server 2005數(shù)據(jù)引擎是本企業(yè)數(shù)據(jù)管理解決方案的核心。此外SQL Server 2005結(jié)合了分析、報表、集成和通知功能。這使您的企業(yè)可以構(gòu)建和部署經(jīng)濟有效的BI 解決方案,幫助您的團隊

23、通過記分卡、Dashboard、Web services和移動設(shè)備將各個領(lǐng)域 中的復雜數(shù)據(jù)應(yīng)用推向業(yè)務(wù)的各個領(lǐng)域。與 Microsoft Visual Studio、Microsoft Office System 以及新的開發(fā)工具包(包括 Business Intelligence Development Studio)的緊密集成使 SQL Server 2005 與眾不同。無 論您是開發(fā)人員、數(shù)據(jù)庫管理員、信息工作者還是決策者,SQL Server 2005都可以為 您提供創(chuàng)新的解決方案,幫助您從數(shù)據(jù)中更多地獲益。1.2.5 JSPJSP技術(shù)使用Java編程語言編寫類XML的tags和scr

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

25、后版本是1999年9月推出的,12月乂推出了 1規(guī)范。目前較 新的是JSP1.2規(guī)范,JSP2.0規(guī)范的征求意見稿也已出臺。JSP2.0介紹新的JSP規(guī)范版本包括新的用于提升程序員工作效率功能,主要有:JSPAnExpression Language (EL)允許開發(fā)者創(chuàng)建 Velocity-樣式 templates (among other things). 更快更簡單的創(chuàng)建新標簽的方法。MVC模式:為了把表現(xiàn)層presentation從請求處理 request processing和數(shù)據(jù)存儲data storage中分離開來,SUN公司推薦在JSP文件中使 用一種,模型-視圖-控制器”Mo

26、del-view-controller模式。規(guī)范的SERVLET或者分離的 JSP文件用于處理請求。當請求處理完后,控制權(quán)交給一個只作為創(chuàng)建輸出作用的JSP 頁。有兒種平臺都基于服務(wù)于網(wǎng)絡(luò)層的模-視圖-控件模式(比如Struts框架,Spring framework框架和Hibernate框架等三大主流框架)。JSP頁面由HTML代碼和嵌入其中的Java代碼所組成。服務(wù)器在頁面被客戶端請 求以后對這些Java代碼進行處理,然后將生成的HTML頁面返回給客戶端的瀏覽器。 Java Servlet是JSP的技術(shù)基礎(chǔ),而且大型的Web應(yīng)用程序的開發(fā)需要Java Servlet和JSP 配合才能完成。

27、JSP具備了 Java技術(shù)的簡單易用,完全的面向?qū)ο?,具有平臺無關(guān)性且 安全可靠,主要面向因特網(wǎng)的所有特點。自JSP推出后,眾多大公司都支持JSP技術(shù)的服務(wù)器,如IBM、Oracle> Bea公司 等,所以JSP迅速成為商業(yè)應(yīng)用的服務(wù)器端語言。JSP可用一種簡單易懂的等式表示為:HTML+Java二JSP。JSP技術(shù)的優(yōu)點如下:1)一次編寫,到處運行。除了系統(tǒng)之外,代碼不用做任何更改。2)系統(tǒng)的多平臺支持。基本上可以在所有平臺上的任意環(huán)境中開發(fā),在任意環(huán)境 中進行系統(tǒng)部署,在任意環(huán)境中擴展。相比ASP/PHP的局限性是顯而易見的。3)強大的可伸縮性。從只有一個小的Jar文件就可以運行Se

28、rvlet/JSP,到ill多臺服 務(wù)器進行集群和負載均衡,到多臺Application進行事務(wù)處理,消息處理,一臺服務(wù)器到 無數(shù)臺服務(wù)器,Java顯示了一個巨大的生命力。4)多樣化和功能強大的開發(fā)工具支持。這一點與ASP很像,Java已經(jīng)有了許多非 常優(yōu)秀的開發(fā)工具,而且許多可以免費得到,并且其中許多已經(jīng)可以順利的運行于多種 平臺(包括Linux操作系統(tǒng)和Windows操作系統(tǒng))之下。5)支持服務(wù)器端組件。web應(yīng)用需要強大的服務(wù)器端組件來支持,開發(fā)人員需要利 用其他工具設(shè)訃實現(xiàn)復雜功能的組件供web頁面調(diào)用,以增強系統(tǒng)性能。JSP可以使用 成熟的JAVA BEANS組件來實現(xiàn)復雜商務(wù)功能。

29、1.2.6 MVC為了滿足系統(tǒng)對先進性、安全性、跨平臺性、可擴展性、可移植性、分布式等方面 的要求,系統(tǒng)總體架構(gòu)設(shè)計采用先進的基于java的B/S的三層體系結(jié)構(gòu)。MVC是三個 單詞的縮寫,分別為:模型(Model),視圖(View)和控制Controller)o MVC模式的LI的 就是實現(xiàn)Web系統(tǒng)的職能分工。Model層實現(xiàn)系統(tǒng)中的業(yè)務(wù)邏輯,通??梢杂肑avaBean 或EJB來實現(xiàn)。View層用于與用戶的交互,通常用JSP來實現(xiàn)。Controller層是Model 與View之間溝通的橋梁,它可以分派用戶的請求并選擇恰當?shù)囊晥D以用于顯示,同時 它也可以解釋用戶的輸入并將它們映射為模型層可

30、執(zhí)行的操作。Web瀏覽技術(shù)已經(jīng)廣泛 地應(yīng)用于Internet,并被廣大用戶接受和使用。Web技術(shù)是隨http和html 起出現(xiàn)的。 Web服務(wù)器利用http傳遞html文件,Web瀏覽器使用http檢索html文件。Web服務(wù)器 一旦檢索到信息,Web瀏覽器就會以靜態(tài)和交互(如文本、圖像)方式顯示各種對象。在 電子商務(wù)業(yè)務(wù)進行過程中,需要在各種貿(mào)易角色之間瀏覽和交換各種信息,此時就要使 用Web瀏覽技術(shù)。這種模型使系統(tǒng)結(jié)構(gòu)更加清楚,分工更加明確,有利于整個系統(tǒng)后 期的維護和升級。MVC(Model View Controller)模型(model)視圖(view)控制器(controller)

31、MVC 本 來是存在于Desktop程序中的,M是指數(shù)據(jù)模型,V是指用戶界面,C則是控制器。使 用MVC的LI的是將M和V的實現(xiàn)代碼分離,從而使同一個程序可以使用不同的表現(xiàn) 形式。比如一批統(tǒng)計數(shù)據(jù)你可以分別用柱狀圖、餅圖來表示。C存在的LI的則是確保M 和V的同步,一旦M改變,V應(yīng)該同步更新。模型一視圖一控制器(MVC)是Xerox PARC 在八十年代為編程語言Smalltalk-80發(fā)明的一種軟件設(shè)計模式,至今已被廣泛使用。 最近兒年被推薦為Oracle旗下Sun公司Java EE平臺的設(shè)計模式,并且受到越來越多的 使用ColdFusion和PHP的開發(fā)者的歡迎。模型一視圖一控制器模式是一

32、個有用的工 具箱,它有很多好處,但也有一些缺點。三層體系結(jié)構(gòu)由瀏覽器、web服務(wù)器和數(shù)據(jù)庫組成,并結(jié)合HTML語言、jsp、 JavaScript腳本語言、Ajax、ODBC等技術(shù),后臺的數(shù)據(jù)庫采用微軟的SQLServer 2005用戶界面層是用戶和整個系統(tǒng)的接口,客戶端只需安裝通用的瀏覽器即可建立與本 系統(tǒng)的連接。業(yè)務(wù)邏輯層負責處理用戶輸入的信息,或?qū)⑦@些信息發(fā)送給數(shù)據(jù)庫層進行 保存,或調(diào)用數(shù)據(jù)庫層中的函數(shù)再次讀出這些數(shù)據(jù)。數(shù)據(jù)訪問層是整個分層體系的最底 層,它主要用來實現(xiàn)與數(shù)據(jù)庫的交互,即完成查詢、插入、刪除和修改數(shù)據(jù)庫中數(shù)據(jù)的 功能MVC是一個設(shè)訃模式,它強制性的使應(yīng)用程序的輸入、處理和

33、輸出分開。使用 MVC應(yīng)用程序被分成三個核心部件:模型、視圖、控制器。它們各自處理自己的任務(wù)。視圖是用戶看到并與之交互的界面。對老式的Web應(yīng)用程序來說,視圖就是山 HTML元素組成的界面,在新式的Web應(yīng)用程序中,HTML依舊在視圖中扮演著重要 的角色,但一些新的技術(shù)已層出不窮,它們包括Macromedia Flash和象XHTML, XML/XSL, WML等一些標識語言和Web serviceso如何處理應(yīng)用程序的界面變得越來 越有挑戰(zhàn)性。MVC 一個大的好處是它能為你的應(yīng)用程序處理很多不同的視圖。在視圖 中其實沒有真正的處理發(fā)生,不管這些數(shù)據(jù)是聯(lián)機存儲的還是一個雇員列表,作為視圖 來講

34、,它只是作為一種輸出數(shù)據(jù)并允許用戶操縱的方式。模型表示企業(yè)數(shù)據(jù)和業(yè)務(wù)規(guī)則。 在MVC的三個部件中,模型擁有最多的處理任務(wù)。例如它可能用象EJBs和ColdFusion Components這樣的構(gòu)件對象來處理數(shù)據(jù)庫。被模型返回的數(shù)據(jù)是中立的,就是說模型 與數(shù)據(jù)格式無關(guān),這樣一個模型能為多個視圖提供數(shù)據(jù)。MVC模型還可以實現(xiàn)軟件工 程的高內(nèi)聚,低耦合的終極LI標。山于應(yīng)用于模型的代碼只需寫一次就可以被多個視圖 重用,所以減少了代碼的重復性。控制器接受用戶的輸入并調(diào)用模型和視圖去完成用戶的需求。所以當單擊Web頁 面中的超鏈接和發(fā)送HTML表單時,控制器本身不輸出任何東西和做任何處理。它只 是接收

35、請求并決定調(diào)用哪個模型構(gòu)件去處理請求自己本身并不參與業(yè)務(wù)邏輯處理,然后 再確定用哪個視圖來顯示返回的數(shù)據(jù)。MVC的優(yōu)點:1)低耦合性2)高重用性和可適用性3)較低的生命周期成本4)快速的部署5)可維護性6)有利于軟件工程化管理1.2.7 ServletJava Servlet API提供了一種標準的方式來擴展任何使用基于請求/響應(yīng)協(xié)議的服務(wù) 器的功能。Servlet是服務(wù)器端的Java代碼,本質(zhì)上就是一個Java類,主要應(yīng)用于Web 服務(wù)器,在任何支持Servlet的Web服務(wù)器上,都可以處理請求和生成動態(tài)的Web內(nèi)容。 Servlet有如下特點:與HTTP協(xié)議結(jié)合緊密,兒乎可以控制HTTP協(xié)

36、議的所有方面,而且經(jīng)過良好的封 裝,便于開發(fā),減輕程序員的負擔。支持多線程,并且在第一次調(diào)用后一直駐留于內(nèi)存,其反應(yīng)速度快且消耗資源少。 具備了 Java應(yīng)用程序的所有優(yōu)勢(如:可移植、穩(wěn)健、易開發(fā)等),并可訪問Java平臺的 所有API,其實Servlet本身也是一個Java類。能夠使用完全面向?qū)ο蟮脑O(shè)計思想來進行程序設(shè)計。其程序是模塊化的,每個程序 執(zhí)行一個特定任務(wù),并可通過管道流、服務(wù)全局變量、頁面重定向等技術(shù)相互交換信息 進而協(xié)同工作,使得頁面的處理變得更加靈活。此外,Servlet采用把用戶信息放在服務(wù)器上的方法解決了會話管理問題,克服了傳 統(tǒng)的會話管理技術(shù)保密性差,數(shù)據(jù)容量小,受客

37、戶設(shè)置影響等問題。然而,Servlet利用輸出HTML語句來動態(tài)實現(xiàn)網(wǎng)頁,頁面的動態(tài)部分和靜態(tài)部分 的結(jié)合十分復雜、混亂,導致編寫困難。這也是JSP出現(xiàn)的原因。1.2.8 TomcatTomcat很受廣大程序員的喜歡,因為它運行時占用的系統(tǒng)資源小,擴展性好,支 持負載平衡與郵件服務(wù)等開發(fā)應(yīng)用系統(tǒng)常用的功能;而且它還在不斷的改進和完善中, 任何一個感興趣的程序員都可以更改它或在其中加入新的功能。Tomcat是一個輕量級應(yīng)用服務(wù)器,在中小型系統(tǒng)和并發(fā)訪問用戶不是很多的場合 下被普遍使用,是開發(fā)和調(diào)試JSP程序的首選。對于一個初學者來說,可以這樣認為, 當在一臺機器上配置好Apache服務(wù)器,可利用

38、它響應(yīng)對HTML頁面的訪問請求。實 際上Tomcat部分是Apache服務(wù)器的擴展,但它是獨立運行的,所以當你運行tomcat 時,它實際上作為一個與Apache獨立的進程單獨運行的。這里的訣竅是,半配置正確時,Apache為HTML頁面服務(wù),而Tomcat實際上運 行JSP頁面和Servleto另外,Tomcat和IIS、Apache等Web服務(wù)器一樣,具有處理HTML 頁面的功能,另外它還是一個Servlet和JSP容器,獨立的Servlet容器是Tomcat的默認 模式。不過,Tomcat處理靜態(tài)HTML的能力不如Apache服務(wù)器。Tomcat目錄結(jié)構(gòu):/bin:存放windows或L

39、inux平臺上啟動和關(guān)閉Tomcat的腳本文件/conf:存放Tomcat服務(wù)器的各種全局配置文件/doc:存放Tomcat文檔/server:包含三個子 LI 錄:classes、lib 和 webapps/server/lib:存放Tomcat服務(wù)器所需的各種JAR文件/server/webapps:存放Tomcat自帶的兩個WEB應(yīng)用admin應(yīng)用和manager應(yīng)用/common/lib:存放Tomcat服務(wù)器以及所有web應(yīng)用都可以訪問的jar文件 /shared/lib:存放所有web應(yīng)用都可以訪問的jar文件2需求分析2.1系統(tǒng)初步調(diào)查系統(tǒng)初步調(diào)查的主要LI標是從系統(tǒng)分析人員和管

40、理人員的角度看新項U開發(fā)有無 必要和可能,其基本內(nèi)容包括:系統(tǒng)的基本情況、系統(tǒng)信息處理悄況和系統(tǒng)資源悄況。流行音樂之所以被稱為“流行”,原因之一,是她有著傳播的時效性。絕大部分 流行歇曲可以一夜成名,但是從人們腦子里消失得也很快,從前極力搶購的唱片可 能不久之后就彼束之拓閣,人們追逐的永遠是不同于以往的噺星。但是互聯(lián)網(wǎng)的出現(xiàn),一方而 因為傳播速度提高而加劇了這種時效性,另一方而卻乂利用其無限的網(wǎng)絡(luò)胸懷使這 些流行音樂具有了一定的持久性。如果這兩方面正是人們所需要的,那么,這些都應(yīng)當歸功 于音樂網(wǎng)站。作為音樂網(wǎng)站的網(wǎng)絡(luò)載體,音樂網(wǎng)站在創(chuàng)作、傳播、欣賞方式等方而對流行音樂的 發(fā)展都產(chǎn)生了前所未有的

41、影響:1電腦網(wǎng)絡(luò)技術(shù)的發(fā)展使人們通過音斥網(wǎng)站接觸到了更多的流行音樂。2網(wǎng)民數(shù)量的激增使更多的人們通過音樂網(wǎng)站接觸到了流行音斥。3. 音樂網(wǎng)站為流行音樂創(chuàng)作提供了更多的便利。4. 音樂網(wǎng)站刺激了流行音樂的傳播。5. 音樂網(wǎng)站使流行音樂的欣賞方式發(fā)生了改變。6音樂網(wǎng)站不但刺激了流行音樂的傳播,且也刺激了電子數(shù)碼產(chǎn)品的頻繁更新?lián)Q代。2.2總體要求管理員必須有單獨的管理模塊進行歌曲庫的維護工作,必須有單獨的安全認 證入口。當管理員通過后臺安全認證進入后,可以通過此模塊對歌曲庫進行管理,實現(xiàn)歌曲 的添加、刪除和修改。系統(tǒng)應(yīng)該有一個標準的可以維護的動態(tài)分類體制。歌曲庫中的歌曲可以按照這個分 類標準,劃分為

42、不同的種類。用戶可以通過這個分類機制迅速查找到喜歡的歇曲。作為一個在線點歌的Web站點,核心的功能當然是點播歌曲。當用戶通過瀏覽或 分類選擇,選中喜歡的歌曲,下一步就是點播歌曲。所以必須要內(nèi)嵌一個音頻播放器, 實現(xiàn)音樂的在線播放。對于各首歌曲的受歡迎程度,系統(tǒng)必須要做出統(tǒng)計。可以用歌曲的點播次數(shù)來衡量 歌曲的熱門程度,從而列出熱歌排行榜。2.3用戶需求進入21世紀,網(wǎng)絡(luò)通信技術(shù)的發(fā)展可謂日新月異,波及面極為廣泛,已成為當今 知識經(jīng)濟發(fā)展中的一個不可或缺的重要因素。而上網(wǎng)聽音樂也成為人民日常生活中最重 要的休閑活到之一,如今對于有著越來越豐富的生活的人們對于在線音樂網(wǎng)站的需求也 越來越豐富,而且

43、需求非常大,市場潛力非常大。人們的生活水平越來越高,隨著網(wǎng)民 的高速增長,網(wǎng)絡(luò)信息越來越發(fā)達,上網(wǎng)聽音樂已然成為人們生活水平的一個重要休閑 方式,正因為在線音樂網(wǎng)有著信息更新快,方便,種類豐富等優(yōu)點,上網(wǎng)聽音樂越來越 受到更多人的喜歡。2.4可行性分析1)技術(shù)可行性使用 Model II 模型,Java、JSP、Servlet. Struts 等技術(shù)。WEB 從一開始的靜態(tài) HTML 開發(fā),到后來的動態(tài)頁面。從繁瑣的、代碼及其混亂的Model I,逐步到Model II模式。 在技術(shù)上和結(jié)構(gòu)上都發(fā)生了極大的變化。Model II模式結(jié)構(gòu)清晰,現(xiàn)今已被大量運用。 Struts通過提供一個控制器S

44、ervlet實現(xiàn)了 Sim的Model II架構(gòu),這個控制器可以用來 管理JSP頁面和其他表現(xiàn)設(shè)備之間的流程。同時通過xml描述配置文件實現(xiàn)用戶請求的 響應(yīng)處理,以Model II模式提高系統(tǒng)的擴展性。MVC即Model(模型層)-View(視圖層)-Controller(控制層)的縮寫,是一種常用的設(shè)計 模式。MVC減弱了業(yè)務(wù)邏輯接口和數(shù)據(jù)接口之間的耦合,以及讓視圖層更富于變化。 Struts 是 MVC(Model-View-Controller)的一種實現(xiàn),它將 Servlet 和 JSP 標記(屬于 J2EE 規(guī)范)用作實現(xiàn)的一部分。2)經(jīng)濟可行性開發(fā)該系統(tǒng)所需的相關(guān)資料可以通過已存在

45、的相關(guān)系統(tǒng)進行調(diào)查采集,所需的其他 應(yīng)用軟件、硬件系統(tǒng)也易于獲得。因此,本網(wǎng)站的開發(fā)成本較低。管理員要及時更新大 量歇曲消息,吸引更多的用戶的在線聽歌曲,贏得更多的點擊數(shù),在本網(wǎng)站掛廣告,贏 得利益。所以,從經(jīng)濟的角度來看,該系統(tǒng)可行。3)運行可信性運行可行性是對組織結(jié)構(gòu)的影響,現(xiàn)有人員和機構(gòu)和環(huán)境對系統(tǒng)的適應(yīng)性及人員培 訓補充計劃的可行性。當前信息化技術(shù)已經(jīng)相當普及,各類操作人員水平都有相當?shù)母?度,所以在運行上是可行性的。本系統(tǒng)的開發(fā),是典型的MVC 發(fā),主要是對數(shù)據(jù)的處理,包括數(shù)據(jù)的收集,數(shù) 據(jù)的變換,及數(shù)據(jù)的各種報表形式的輸出。采用流行的JSP+SQLSERVER 2005+Strut

46、s 體系,在理論上本系統(tǒng)已無技術(shù)上的問題。4)法律可行性國內(nèi)現(xiàn)有的網(wǎng)絡(luò)相關(guān)法律、法規(guī),基本上能維護用戶的權(quán)利。2000年9月20日國 務(wù)院頒布互聯(lián)網(wǎng)信息服務(wù)管理辦法?;緷M足了網(wǎng)絡(luò)相關(guān)權(quán)益的保護,互聯(lián)網(wǎng)發(fā)展 迅速,要想滿足發(fā)展的需要也應(yīng)該加強網(wǎng)絡(luò)隱私方面的立法。5)時間可行性從時間上看,在這大約六個月的時間里學習相關(guān)知識,并開發(fā)網(wǎng)站,時間上是足夠 的,在這段時間內(nèi)利用相關(guān)技術(shù),查閱相關(guān)資料,從系統(tǒng)規(guī)劃,到中期的代碼實現(xiàn)階段, 最后到后期的編碼測試階段經(jīng)過合理的安排在這半年時間,雖然時間稍稍有點緊但是在 自己的努力下開發(fā)本系統(tǒng)還是時間足夠的。2.5開發(fā)平臺開發(fā)環(huán)境:SQL Server 2005

47、、Struts運行環(huán)境:My ecl ipse 9.0+Tomcat6.0軟件硬件配置要求:Microsoft Windows XP Professional 版本 2002 Service Pack3AMD 5200+ 2.7GHz 主頻3系統(tǒng)概要設(shè)計3.1系統(tǒng)設(shè)計概述系統(tǒng)設(shè)計是在系統(tǒng)分析的基礎(chǔ)上山抽象到具體的過程,同時,還應(yīng)考慮到系統(tǒng)所實 現(xiàn)的內(nèi)外環(huán)境和主客觀條件,本著實事求是的態(tài)度進行這一階段的工作。系統(tǒng)設(shè)計階段的主要LI的是將系統(tǒng)分析階段所提出的反映用戶信息需求的系統(tǒng)邏 輯方案轉(zhuǎn)換成可以實施的基于計算機與通信系統(tǒng)的物理方案。這一階段的主要任務(wù)就是從管理信息系統(tǒng)的總體LI標出發(fā),根據(jù)系統(tǒng)

48、分析階段對系 統(tǒng)的邏輯功能的要求,并考慮到經(jīng)濟、技術(shù)和運行環(huán)境等方面的條件,確定系統(tǒng)的總體 結(jié)構(gòu)和系統(tǒng)各組成部分的技術(shù)方案,合理選擇訃算機和通信的軟、碩件設(shè)備,提出系統(tǒng) 的實施汁劃,確保系統(tǒng)總體U標的實現(xiàn)。系統(tǒng)設(shè)計工作的特點:1)系統(tǒng)設(shè)計階段,大量工作是技術(shù)性的。2)允許用戶對已提出的信息需求做非原則性的修改或補充。3)用戶在操作使用和運行環(huán)境等方面的具體要求也要在系統(tǒng)設(shè)計階段加以明確并 在系統(tǒng)的技術(shù)方案中得反映,因此系統(tǒng)設(shè)計人員還要同管理環(huán)境打交道。4)系統(tǒng)設(shè)計工作的環(huán)境是管理環(huán)境和技術(shù)環(huán)境的結(jié)合,是系統(tǒng)設(shè)計工作的重要特 點也是整個系統(tǒng)成功的一個必不可缺的環(huán)節(jié)。系統(tǒng)設(shè)汁原則:1)階段開發(fā)原則

49、:系統(tǒng)框架和數(shù)據(jù)結(jié)構(gòu)全面設(shè)計,具體功能實現(xiàn)分階段進行。2)易用性原則:方便上網(wǎng)客戶瀏覽和操作,最大限度地減輕后臺管理人員的負擔, 做到部分業(yè)務(wù)的自動化處理,提供良好的用戶體驗。3)業(yè)務(wù)完整性原則:對于業(yè)務(wù)進行中的特殊情況能夠做出及時、正確的響應(yīng),保證 業(yè)務(wù)數(shù)據(jù)的完整性,減少數(shù)據(jù)的誤讀。4)業(yè)務(wù)規(guī)范化原則:在系統(tǒng)設(shè)計的同時,也為將來的業(yè)務(wù)流程制定了較為完善的規(guī) 范,具有較強的實際操作性,也給整個系統(tǒng)帶來安全性。5)可擴展性原則:系統(tǒng)設(shè)訃要考慮到業(yè)務(wù)未來發(fā)展的需要,要盡可能設(shè)訃得簡明, 各個功能模塊間的耦合度小,便于系統(tǒng)的擴展。如果存在舊有的數(shù)據(jù)庫系統(tǒng),則需要充 分考慮兼容性,比如說瀏覽器的兼容。

50、3.2系統(tǒng)用例圖游客的操作:1、游客可以根據(jù)自己的喜歡來查詢歌曲。2、游客可以選擇單收歌曲試聽,也可以全部試聽。3、游客還可以免費下載歌曲。3.3系統(tǒng)流程圖當游客進入網(wǎng)站首頁之后,如果用戶想聽自己喜歡的歌曲,在本網(wǎng)站根據(jù)相關(guān)的條 件搜索得到,然后根據(jù)自己喜好去試聽各類歌曲或者是下載各類歌曲。游客使用本系統(tǒng) 的基本流程如圖3.2所示。游客圖3.2游客流程圖3.4系統(tǒng)功能分析在線音斥前臺模塊歌曲顯示排行榜分類顯示按類別分類下載歌曲圖3.3系統(tǒng)前臺功能圖這就是本網(wǎng)站前臺的功能框圖(如圖3.3所示)。它可以分為三個大塊功能,分別為: 歌曲顯示模塊,歇曲排行榜模塊,用戶使用模塊。下面是三個模塊的詳細實現(xiàn)

51、:歌曲顯示模塊:分類顯示最新的10首歌曲,按類別分頁顯示各類歌曲。歌曲排行榜模塊:試聽排行,下載排行。用戶使用模塊:下載歌曲,搜索歌曲,連續(xù)播放歌曲,試聽歌曲并顯示歌詞。4數(shù)據(jù)庫設(shè)計與實現(xiàn)4.1數(shù)據(jù)庫的設(shè)計思想數(shù)據(jù)庫技術(shù)是信息資源管理最有效的手段。數(shù)據(jù)庫設(shè)訃是建立數(shù)據(jù)庫及其應(yīng)用系統(tǒng) 的核心和基礎(chǔ)。它要求對于指定的應(yīng)用環(huán)境,構(gòu)造出較優(yōu)的數(shù)據(jù)庫模式,把信息系統(tǒng)中 大量的數(shù)據(jù)按一定的模型組織起來,提供存儲、維護、檢索數(shù)據(jù)的功能,使信息系統(tǒng)可 以方便、及時、準確地從數(shù)據(jù)庫中獲得所需的信息,滿足用戶的各種應(yīng)用需求(信息要 求,處理要求,數(shù)據(jù)的及時性要求)。4.2數(shù)據(jù)庫模型的設(shè)計與實現(xiàn)概念模型最常用的表示

52、方法是實體-聯(lián)系方法(Entity-Relation Approach,簡稱E-R 方法)。E-R方法是由P.P.S Chen于1976年提出的,其方法是用E-R圖來描述某一組織 的信息模型。E-R圖所表示的概念模型與具體的DBMS所支持的數(shù)據(jù)模型相獨立,是各 種數(shù)據(jù)模型的共同基礎(chǔ),因而是抽象和描述現(xiàn)實世界的有力工具。山于人們通常就是用實體、聯(lián)系和屬性這三個概念來理解和描述現(xiàn)實問題的,所以 實體聯(lián)系圖非常接近人的思維方式。乂因為實體聯(lián)系圖采用簡單的圖形來表達人們對現(xiàn) 實的理解,所以不熟悉計算機技術(shù)的用戶也都能夠接受,因此口詢實體聯(lián)系圖已成為使 用非常廣泛的數(shù)據(jù)庫結(jié)構(gòu)概念建模的工具。實體聯(lián)系圖:

53、簡記E-R圖,是指以實體、關(guān)系、屬性三個基本概念概括數(shù)據(jù)的基本 結(jié)構(gòu),從而描述靜態(tài)數(shù)據(jù)結(jié)構(gòu)的概念模式。與此有關(guān)的概念有:1)實體:“實體”是觀念世界中描述客觀事物的概念。實體可以是人,也可以是物或抽 象的概念;可以指事物本身,也可以指事物之間的聯(lián)系。2)屬性:“屬性”指實體具有的某種特性。屬性用來描述一個實體。3)聯(lián)系:現(xiàn)實世界的事物總是存在著這樣或那樣的聯(lián)系。在信息世界中,事物之間的 聯(lián)系可分為兩類:一是實體內(nèi)部的聯(lián)系,一是實體之間的聯(lián)系。一般主要討論實體之間 的聯(lián)系(比如N: N的關(guān)系;N: 1的關(guān)系;1:1的關(guān)系)。在模型設(shè)計中,首先根據(jù)分析階段收集到的材料,利用分類、聚集、概括等方法抽

54、 象出實體,并一一命名,再根據(jù)實體的屬性描述其間的各種聯(lián)系。E-R圖中用矩形表示 實體,實體之間的關(guān)系用菱形表示,用無向邊把菱形與有關(guān)實體連接,在邊上標明聯(lián)系 的類型。實體的屬性可用橢圓表示,并用無向邊把實體與屬性聯(lián)系起來。在線音樂網(wǎng)的實體包括:1)歌曲:歌曲的編號,歌曲的名稱,演唱者,專輯名稱,文件大小,文件路徑,文 件格式,試聽次數(shù),下載次數(shù),上傳時間,所屬類別。2)管理員:管理員編號,管理員賬號,管理員密碼。3)類別名稱:類別編號,類別名稱。在線音樂網(wǎng)E-R模型圖,體現(xiàn)了上述各實體之間的聯(lián)系以及數(shù)量上的關(guān)系,基本上 化解成了第三范式的標準。詳細描述了各實體的屬性及與相關(guān)實體的聯(lián)系方式,以

55、及對 應(yīng)的數(shù)量關(guān)系,對于數(shù)據(jù)庫的建設(shè)是具有重大作用的,這也是我開發(fā)應(yīng)用程序的關(guān)鍵之 所在。其E-R模型圖4.1如下所示。歌曲類別圖4.1 E-R圖4.3數(shù)據(jù)字典1、tb_manager表即是管理員表,用來存放管理員相關(guān)信息的。如管理員的用戶名 和管理員的密碼。其結(jié)構(gòu)如表4.1所示。表4.1管理員表字段名數(shù)據(jù)類型主鍵外鍵為空默認值描敘idIntYesXo編號managerVarchar(20)NoNo管理員的用戶名pwdVarchar(32)NoNo管理員的密碼2、tb_songtyper 即是歌住R類別表用來保存劭債曲的類別信息的。歌曲的類別一共分為五種:流行金曲,經(jīng)典歌曲,熱舞DJ,輕音樂;

56、,小兒歌曲,歐美金曲。tb_songtyper表 中的一列id是表tb_song中的一列songtype的外鍵,所以在保存這個表的數(shù)據(jù)要注意外 鍵關(guān)系。歌曲類別表的結(jié)構(gòu)如表4.2所示。表4.2歌曲類別名稱表字段名數(shù)據(jù)類型主鍵外鍵是否為空默認值描敘idIntYesNo編號typeNameVarchar(20)NoNo類別名3、tb_song表即是歌曲表用來存放歌1的相關(guān)信息O歌曲的丿屬性:歌曲編號,歌曲的名稱,歌曲演唱者,演唱者發(fā)布的專輯名稱,文件的大小,文件路徑,文件格式,試 聽次數(shù),下載次數(shù),上傳時間,所屬類別等信息的。其結(jié)構(gòu)如表4.3所示。表4.3音樂表字段名數(shù)據(jù)類型主鍵外鍵為空默認值描敘idIntYesNo編號songNameVarchar(50)NoNo音樂的標題singerVarchar(30)NoNo歌手specialNameVarchar(30)NoNo音樂所屬的專輯fileSizeVarchar(lO)NoNo音樂文件的大小fileURLVarch

溫馨提示

  • 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

提交評論