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

下載本文檔

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

文檔簡(jiǎn)介

1、目 錄1 引言11.1 本課題的研究背景及目的11.1.1 本課題的研究背景11.1.2 本課題的研究目的21.2 系統(tǒng)的關(guān)鍵技術(shù)21.2.1 B/S模式21.2.2 Java語(yǔ)言31.2.3 Struts框架51.2.4 SQL Server 200561.2.5 JSP71.2.6 MVC81.2.7 Servlet101.2.8 Tomcat112 需求分析122.1 系統(tǒng)初步調(diào)查122.2 總體要求122.3 用戶(hù)需求132.4 可行性分析132.5 開(kāi)發(fā)平臺(tái)143 系統(tǒng)概要設(shè)計(jì)153.1 系統(tǒng)設(shè)計(jì)概述153.2 系統(tǒng)用例圖163.3 系統(tǒng)流程圖163.4 系統(tǒng)功能分析174 數(shù)據(jù)庫(kù)設(shè)

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

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

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

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

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

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

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

9、最大的優(yōu)點(diǎn)就是可以在任何地方進(jìn)行操作而不用安裝任何專(zhuān)門(mén)的軟件。只要有一臺(tái)能上網(wǎng)的電腦就能使用,客戶(hù)端零維護(hù)。系統(tǒng)的擴(kuò)展非常容易,只要能上網(wǎng),再由系統(tǒng)管理員分配一個(gè)用戶(hù)名和密碼,就可以使用了。甚至可以在線申請(qǐng),通過(guò)公司內(nèi)部的安全認(rèn)證(如CA證書(shū))后,不需要人的參與,系統(tǒng)可以自動(dòng)分配給用戶(hù)一個(gè)賬號(hào)進(jìn)入系統(tǒng),這樣就大大的提高系統(tǒng)的可維護(hù)性和安全性。1.2.2 Java語(yǔ)言 1)Java語(yǔ)言是簡(jiǎn)單的。Java語(yǔ)言的語(yǔ)法與C語(yǔ)言和C+語(yǔ)言很接近,使得大多數(shù)程序員很容易學(xué)習(xí)和使用Java。另一方面,Java丟棄了C+ 中很少使用的、很難理解的、令人迷惑的那些特性,如操作符重載、多繼承、自動(dòng)的強(qiáng)制類(lèi)型轉(zhuǎn)換。

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

11、a API(Application Programming Interface),它提供了用于網(wǎng)絡(luò)應(yīng)用編程的類(lèi)庫(kù),包括URL、URLConnection、Socket、 ServerSocket等。Java的RMI(遠(yuǎn)程方法激活)機(jī)制也是開(kāi)發(fā)分布式應(yīng)用的重要手段。 4) Java語(yǔ)言是健壯的。Java的強(qiáng)類(lèi)型機(jī)制、異常處理、廢料的自動(dòng)收集等是Java程序健壯性的重要保證。對(duì)指針的丟棄是Java的明智選擇。Java的安全檢查機(jī)制使得Java更具健壯性,這是其他弱類(lèi)型語(yǔ)言難以實(shí)現(xiàn)的特性。 5) Java語(yǔ)言是安全的。Java通常被用在網(wǎng)絡(luò)環(huán)境中,為此,Java提供了一個(gè)安全機(jī)制以防惡意代碼的攻擊。

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

13、另外,Java還嚴(yán)格規(guī)定了各個(gè)基本數(shù)據(jù)類(lèi)型的長(zhǎng)度。Java系統(tǒng)本身也具有很強(qiáng)的可移植性,Java編譯器是用Java實(shí)現(xiàn)的,Java的運(yùn)行環(huán)境是用ANSI C實(shí)現(xiàn)的。 8) Java語(yǔ)言是解釋型的。如前所述,Java程序在Java平臺(tái)上被編譯為字節(jié)碼格式, 然后可以在實(shí)現(xiàn)這個(gè)Java平臺(tái)的任何系統(tǒng)中運(yùn)行。在運(yùn)行時(shí),Java平臺(tái)中的Java解釋器對(duì)這些字節(jié)碼進(jìn)行解釋執(zhí)行,執(zhí)行過(guò)程中需要的類(lèi)在聯(lián)接階段被載入到運(yùn)行環(huán)境中。 9) Java是高性能的。與那些解釋型的高級(jí)腳本語(yǔ)言相比,Java的確是高性能的。事實(shí)上,Java的運(yùn)行速度隨著JIT(Just-In-Time)編譯器技術(shù)的發(fā)展越來(lái)越接近于C+。

14、 10) Java語(yǔ)言是多線程的。在Java語(yǔ)言中,線程是一種特殊的對(duì)象,它必須由Thread類(lèi)或其子(孫)類(lèi)來(lái)創(chuàng)建。通常有兩種方法來(lái)創(chuàng)建線程:其一,使用型構(gòu)為T(mén)hread(Runnable) 的構(gòu)造子將一個(gè)實(shí)現(xiàn)了Runnable接口的對(duì)象包裝成一個(gè)線程,其二,從Thread類(lèi)派生出子類(lèi)并重寫(xiě)run方法,使用該子類(lèi)創(chuàng)建的對(duì)象即為線程。值得注意的是Thread類(lèi)已經(jīng)實(shí)現(xiàn)了Runnable接口,因此,任何一個(gè)線程均有它的run方法,而run方法中包含了線程所要運(yùn)行的代碼。線程的活動(dòng)由一組方法來(lái)控制。 Java語(yǔ)言支持多個(gè)線程的同時(shí)執(zhí)行,并提供多線程之間的同步機(jī)制(關(guān)鍵字為synchronized)

15、。11) Java語(yǔ)言是動(dòng)態(tài)的。Java語(yǔ)言的設(shè)計(jì)目標(biāo)之一是適應(yīng)于動(dòng)態(tài)變化的環(huán)境。Java程序需要的類(lèi)能夠動(dòng)態(tài)地被載入到運(yùn)行環(huán)境,也可以通過(guò)網(wǎng)絡(luò)來(lái)載入所需要的類(lèi)。這也有利于軟件的升級(jí)。另外,Java中的類(lèi)有一個(gè)運(yùn)行時(shí)刻的表示,能進(jìn)行Java程序編譯之后進(jìn)行的運(yùn)行時(shí)刻的類(lèi)型檢查,所以Java還比較適合在動(dòng)態(tài)變化的環(huán)境。 Java語(yǔ)言的優(yōu)良特性使得Java應(yīng)用具有無(wú)比的健壯性和可靠性,這也減少了應(yīng)用系統(tǒng)的維護(hù)費(fèi)用。Java對(duì)對(duì)象技術(shù)的全面支持和Java平臺(tái)內(nèi)嵌的API能縮短應(yīng)用系統(tǒng)的開(kāi)發(fā)時(shí)間并降低成本。Java的編譯一次,到處可運(yùn)行的特性使得它能夠提供一個(gè)隨處可用的開(kāi)放結(jié)構(gòu)和在多平臺(tái)之間傳遞信息的

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

17、成部分,項(xiàng)目的創(chuàng)立者希望通過(guò)對(duì)該項(xiàng)目的研究,改進(jìn)和提高JavaServer Pages 、Servlet、標(biāo)簽庫(kù)以及面向?qū)ο蟮募夹g(shù)水準(zhǔn)。Struts這個(gè)名字來(lái)源于在建筑和舊式飛機(jī)中使用的支持金屬架。這個(gè)框架之所以叫Struts,是為了提醒我們記住那些支撐我們房屋,建筑,橋梁,甚至我們踩高蹺時(shí)候的基礎(chǔ)支撐。這也是一個(gè)解釋Struts在開(kāi)發(fā)Web應(yīng)用程序中所扮演的角色的精彩描述。當(dāng)建立一個(gè)物理建筑時(shí),建筑工程師使用支柱為建筑的每一層提供支持。同樣,軟件工程師使用Struts為業(yè)務(wù)應(yīng)用的每一層提供支持。它的目的是為了幫助我們減少在運(yùn)用MVC設(shè)計(jì)模型來(lái)開(kāi)發(fā)Web應(yīng)用的時(shí)間。具體來(lái)講,Struts的優(yōu)點(diǎn)

18、有:1). 實(shí)現(xiàn)MVC模式,結(jié)構(gòu)清晰,使開(kāi)發(fā)者只關(guān)注業(yè)務(wù)邏輯的實(shí)現(xiàn)。2). 有豐富的tag可以用 ,Struts的標(biāo)記庫(kù)(Taglib),如能靈活動(dòng)用,則能大大提高開(kāi)發(fā)效率。另外,就目前國(guó)內(nèi)的JSP開(kāi)發(fā)者而言,除了使用JSP自帶的常用標(biāo)記外,很少開(kāi)發(fā)自己的標(biāo)記,或許Struts是一個(gè)很好的起點(diǎn)。3). 頁(yè)面導(dǎo)航.頁(yè)面導(dǎo)航將是今后的一個(gè)發(fā)展方向,事實(shí)上,這樣做,使系統(tǒng)的脈絡(luò)更加清晰。通過(guò)一個(gè)配置文件,即可把握整個(gè)系統(tǒng)各部分之間的聯(lián)系,這對(duì)于后期的維護(hù)有著莫大的好處。尤其是當(dāng)另一批開(kāi)發(fā)者接手這個(gè)項(xiàng)目時(shí),這種優(yōu)勢(shì)體現(xiàn)得更加明顯。4). 提供Exception處理機(jī)制。 5). 數(shù)據(jù)庫(kù)鏈接池管理。1.

19、2.4 SQL Server 2005SQL Server 2005是一個(gè)可擴(kuò)展的、高性能的、為分布式客戶(hù)機(jī)/服務(wù)器計(jì)算所設(shè)計(jì)的數(shù)據(jù)庫(kù)管理系統(tǒng),提供了基于事務(wù)的企業(yè)級(jí)信息管理系統(tǒng)方案。SQL(Structured Query Language)是一種資料庫(kù)查詢(xún)和程式設(shè)計(jì)語(yǔ)言,用于存取資料以及查詢(xún)、更新和管理關(guān)聯(lián)式資料庫(kù)系統(tǒng)。美國(guó)國(guó)家標(biāo)準(zhǔn)局(ANSI)與國(guó)際標(biāo)準(zhǔn)化組織(ISO)已經(jīng)制定了 SQL 標(biāo)準(zhǔn)。ANSI 是一個(gè)美國(guó)工業(yè)和商業(yè)集團(tuán)組織,發(fā)展美國(guó)的商務(wù)和通訊標(biāo)準(zhǔn)。ANSI 同時(shí)也是ISO和International Electrotechnical Commission(IEC)的成員之一。

20、ANSI 發(fā)布與國(guó)際標(biāo)準(zhǔn)組織相應(yīng)的美國(guó)標(biāo)準(zhǔn)。1992年,ISO 和 IEC 發(fā)布了 SQL 的國(guó)際標(biāo)準(zhǔn),稱(chēng)為 SQL-92ANSI 隨之發(fā)布的相應(yīng)標(biāo)準(zhǔn)是 ANSI SQL-92。ANSI SQL-92 有時(shí)被稱(chēng)為 ANSI SQL。盡管不同的關(guān)聯(lián)式資料庫(kù)使用的 SQL 版本有一些差異,但大多數(shù)都遵循 ANSI SQL 標(biāo)準(zhǔn)。SQL Server 使用 ANSI SQL-92 的擴(kuò)展集,稱(chēng)為 T-SQL,其遵循 ANSI 制定的 SQL-92 標(biāo)準(zhǔn)。Microsoft SQL Server 2005 是一個(gè)高性能的客戶(hù)端/服務(wù)器結(jié)構(gòu)的關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)(RDBMS,Relational Data

21、base Management System).SQL Server 2005 是為支持高容量的事務(wù)處理(比如在線訂購(gòu)錄入、存貨目錄、記帳或制造)以及數(shù)據(jù)倉(cāng)庫(kù)和決策支持系統(tǒng)(比如銷(xiāo)售分析應(yīng)用)而設(shè)計(jì)的。SQL Server 2005以其內(nèi)置的數(shù)據(jù)復(fù)制功能、強(qiáng)大的管理工具、與Internet的緊密集成和開(kāi)放的系統(tǒng)結(jié)構(gòu)為廣大的用戶(hù)、開(kāi)發(fā)人員和系統(tǒng)集成商提供了一個(gè)出眾的數(shù)據(jù)庫(kù)平臺(tái),這樣方便了數(shù)據(jù)庫(kù)管理員(DBA),減輕了他們的負(fù)擔(dān)。通過(guò)新數(shù)據(jù)庫(kù)鏡像方法,將記錄檔案?jìng)魉托阅苓M(jìn)行延伸。您將可以使用數(shù)據(jù)庫(kù)鏡像,通過(guò)將自動(dòng)失效轉(zhuǎn)移建立到一個(gè)待用服務(wù)器上,增強(qiáng)您SQL服務(wù)器系統(tǒng)的可用性。SQL Server

22、2005 是一個(gè)全面的數(shù)據(jù)庫(kù)平臺(tái),使用集成的商業(yè)智能 (BI) 工具提供了企業(yè)級(jí)的數(shù)據(jù)管理。SQL Server 2005 數(shù)據(jù)庫(kù)引擎為關(guān)系型數(shù)據(jù)和結(jié)構(gòu)化數(shù)據(jù)提供了更安全可靠的存儲(chǔ)功能以及數(shù)據(jù)之間的復(fù)雜關(guān)系也得到良好的處理,使您可以構(gòu)建和管理用于業(yè)務(wù)的高可用和高性能的數(shù)據(jù)應(yīng)用程序 。SQL Server 2005 數(shù)據(jù)引擎是本企業(yè)數(shù)據(jù)管理解決方案的核心。此外 SQL Server 2005 結(jié)合了分析、報(bào)表、集成和通知功能。這使您的企業(yè)可以構(gòu)建和部署經(jīng)濟(jì)有效的 BI 解決方案,幫助您的團(tuán)隊(duì)通過(guò)記分卡、Dashboard、Web services 和移動(dòng)設(shè)備將各個(gè)領(lǐng)域中的復(fù)雜數(shù)據(jù)應(yīng)用推向業(yè)務(wù)的各

23、個(gè)領(lǐng)域。 與 Microsoft Visual Studio、Microsoft Office System 以及新的開(kāi)發(fā)工具包(包括 Business Intelligence Development Studio)的緊密集成使 SQL Server 2005 與眾不同。無(wú)論您是開(kāi)發(fā)人員、數(shù)據(jù)庫(kù)管理員、信息工作者還是決策者,SQL Server 2005 都可以為您提供創(chuàng)新的解決方案,幫助您從數(shù)據(jù)中更多地獲益。1.2.5 JSPJSP技術(shù)使用Java編程語(yǔ)言編寫(xiě)類(lèi)XML的tags和scriptlets,來(lái)封裝產(chǎn)生動(dòng)態(tài)網(wǎng)頁(yè)的處理邏輯。網(wǎng)頁(yè)還能通過(guò)tags和scriptlets訪問(wèn)存在于服務(wù)端的

24、資源的應(yīng)用邏輯。JSP將網(wǎng)頁(yè)邏輯與網(wǎng)頁(yè)設(shè)計(jì)和顯示分離,支持可重用的基于組件的設(shè)計(jì),使基于Web的應(yīng)用程序的開(kāi)發(fā)變得迅速和容易。Web服務(wù)器在遇到訪問(wèn)JSP網(wǎng)頁(yè)的請(qǐng)求時(shí),首先執(zhí)行其中的程序段,然后將執(zhí)行結(jié)果連同JSP文件中的HTML代碼一起返回給客戶(hù)。插入的Java程序段可以操作數(shù)據(jù)庫(kù)、重新定向網(wǎng)頁(yè)等,以實(shí)現(xiàn)建立動(dòng)態(tài)網(wǎng)頁(yè)所需要的功能。 JSP與Java Servlet一樣,是在服務(wù)器端執(zhí)行的,通常返回給客戶(hù)端的就是一個(gè)HTML文本,因此客戶(hù)端只要有瀏覽器就能瀏覽。 JSP的1.0規(guī)范的最后版本是1999年9月推出的,12月又推出了1.1規(guī)范。目前較新的是JSP1.2規(guī)范,JSP2.0規(guī)范的征求意

25、見(jiàn)稿也已出臺(tái)。JSP 2.0介紹新的JSP規(guī)范版本包括新的用于提升程序員工作效率功能,主要有: JSPAnExpression Language (EL)允許開(kāi)發(fā)者創(chuàng)建 Velocity-樣式 templates (among other things).更快更簡(jiǎn)單的創(chuàng)建新標(biāo)簽的方法。MVC 模式:為了把表現(xiàn)層presentation從請(qǐng)求處理request processing 和數(shù)據(jù)存儲(chǔ)data storage中分離開(kāi)來(lái),SUN公司推薦在JSP文件中使用一種“模型-視圖-控制器”Model-view-controller 模式。規(guī)范的SERVLET或者分離的JSP文件用于處理請(qǐng)求。當(dāng)請(qǐng)求處

26、理完后,控制權(quán)交給一個(gè)只作為創(chuàng)建輸出作用的JSP頁(yè)。有幾種平臺(tái)都基于服務(wù)于網(wǎng)絡(luò)層的模-視圖-控件 模式(比如Struts框架,Spring framework框架和Hibernate框架等三大主流框架)。 JSP頁(yè)面由HTML代碼和嵌入其中的Java代碼所組成。服務(wù)器在頁(yè)面被客戶(hù)端請(qǐng)求以后對(duì)這些Java代碼進(jìn)行處理,然后將生成的HTML頁(yè)面返回給客戶(hù)端的瀏覽器。Java Servlet 是JSP的技術(shù)基礎(chǔ),而且大型的Web應(yīng)用程序的開(kāi)發(fā)需要Java Servlet和JSP配合才能完成。JSP具備了Java技術(shù)的簡(jiǎn)單易用,完全的面向?qū)ο螅哂衅脚_(tái)無(wú)關(guān)性且安全可靠,主要面向因特網(wǎng)的所有特點(diǎn)。 自J

27、SP推出后,眾多大公司都支持JSP技術(shù)的服務(wù)器,如IBM、Oracle、Bea公司等,所以JSP迅速成為商業(yè)應(yīng)用的服務(wù)器端語(yǔ)言。 JSP可用一種簡(jiǎn)單易懂的等式表示為:HTML+Java=JSP。JSP技術(shù)的優(yōu)點(diǎn)如下:1) 一次編寫(xiě),到處運(yùn)行。除了系統(tǒng)之外,代碼不用做任何更改。 2) 系統(tǒng)的多平臺(tái)支持?;旧峡梢栽谒衅脚_(tái)上的任意環(huán)境中開(kāi)發(fā),在任意環(huán)境中進(jìn)行系統(tǒng)部署,在任意環(huán)境中擴(kuò)展。相比ASP/PHP的局限性是顯而易見(jiàn)的。 3) 強(qiáng)大的可伸縮性。從只有一個(gè)小的Jar文件就可以運(yùn)行Servlet/JSP,到由多臺(tái)服務(wù)器進(jìn)行集群和負(fù)載均衡,到多臺(tái)Application進(jìn)行事務(wù)處理,消息處理,一臺(tái)服

28、務(wù)器到無(wú)數(shù)臺(tái)服務(wù)器,Java顯示了一個(gè)巨大的生命力。 4) 多樣化和功能強(qiáng)大的開(kāi)發(fā)工具支持。這一點(diǎn)與ASP很像,Java已經(jīng)有了許多非常優(yōu)秀的開(kāi)發(fā)工具,而且許多可以免費(fèi)得到,并且其中許多已經(jīng)可以順利的運(yùn)行于多種平臺(tái)(包括Linux操作系統(tǒng)和Windows操作系統(tǒng))之下。 5) 支持服務(wù)器端組件。web應(yīng)用需要強(qiáng)大的服務(wù)器端組件來(lái)支持,開(kāi)發(fā)人員需要利用其他工具設(shè)計(jì)實(shí)現(xiàn)復(fù)雜功能的組件供web頁(yè)面調(diào)用,以增強(qiáng)系統(tǒng)性能。JSP可以使用成熟的JAVA BEANS 組件來(lái)實(shí)現(xiàn)復(fù)雜商務(wù)功能。1.2.6 MVC為了滿(mǎn)足系統(tǒng)對(duì)先進(jìn)性、安全性、跨平臺(tái)性、可擴(kuò)展性、可移植性、分布式等方面的要求,系統(tǒng)總體架構(gòu)設(shè)計(jì)采用

29、先進(jìn)的基于java的B/S的三層體系結(jié)構(gòu)。MVC是三個(gè)單詞的縮寫(xiě),分別為: 模型(Model),視圖(View)和控制Controller)。 MVC模式的目的就是實(shí)現(xiàn)Web系統(tǒng)的職能分工。Model層實(shí)現(xiàn)系統(tǒng)中的業(yè)務(wù)邏輯,通常可以用JavaBean或EJB來(lái)實(shí)現(xiàn)。 View層用于與用戶(hù)的交互,通常用JSP來(lái)實(shí)現(xiàn)。 Controller層是Model與View之間溝通的橋梁,它可以分派用戶(hù)的請(qǐng)求并選擇恰當(dāng)?shù)囊晥D以用于顯示,同時(shí)它也可以解釋用戶(hù)的輸入并將它們映射為模型層可執(zhí)行的操作。Web瀏覽技術(shù)已經(jīng)廣泛地應(yīng)用于Internet,并被廣大用戶(hù)接受和使用。Web技術(shù)是隨http和html一起出現(xiàn)的

30、。Web服務(wù)器利用http傳遞html文件,Web瀏覽器使用http檢索html文件。Web服務(wù)器一旦檢索到信息,Web瀏覽器就會(huì)以靜態(tài)和交互(如文本、圖像)方式顯示各種對(duì)象。在電子商務(wù)業(yè)務(wù)進(jìn)行過(guò)程中,需要在各種貿(mào)易角色之間瀏覽和交換各種信息,此時(shí)就要使用Web瀏覽技術(shù)。 這種模型使系統(tǒng)結(jié)構(gòu)更加清楚,分工更加明確,有利于整個(gè)系統(tǒng)后期的維護(hù)和升級(jí)。MVC(Model View Controller)模型(model)視圖(view)控制器(controller)MVC本來(lái)是存在于Desktop程序中的,M是指數(shù)據(jù)模型,V是指用戶(hù)界面,C則是控制器。使用MVC 的目的是將M和V的實(shí)現(xiàn)代碼分離,從而

31、使同一個(gè)程序可以使用不同的表現(xiàn)形式。比如一批統(tǒng)計(jì)數(shù)據(jù)你可以分別用柱狀圖、餅圖來(lái)表示。C存在的目的則是確保M和V的同步,一旦M改變,V應(yīng)該同步更新。模型視圖控制器(MVC)是Xerox PARC在八十年代為編程語(yǔ)言Smalltalk80發(fā)明的一種軟件設(shè)計(jì)模式,至今已被廣泛使用。最近幾年被推薦為Oracle旗下Sun公司Java EE平臺(tái)的設(shè)計(jì)模式,并且受到越來(lái)越多的使用 ColdFusion 和 PHP 的開(kāi)發(fā)者的歡迎。模型視圖控制器模式是一個(gè)有用的工具箱,它有很多好處,但也有一些缺點(diǎn)。三層體系結(jié)構(gòu)由瀏覽器、web服務(wù)器和數(shù)據(jù)庫(kù)組成,并結(jié)合HTML語(yǔ)言、jsp、JavaScript腳本語(yǔ)言、Aj

32、ax、ODBC等技術(shù),后臺(tái)的數(shù)據(jù)庫(kù)采用微軟的SQL Server 2005。用戶(hù)界面層是用戶(hù)和整個(gè)系統(tǒng)的接口,客戶(hù)端只需安裝通用的瀏覽器即可建立與本系統(tǒng)的連接。業(yè)務(wù)邏輯層負(fù)責(zé)處理用戶(hù)輸入的信息,或?qū)⑦@些信息發(fā)送給數(shù)據(jù)庫(kù)層進(jìn)行保存,或調(diào)用數(shù)據(jù)庫(kù)層中的函數(shù)再次讀出這些數(shù)據(jù)。數(shù)據(jù)訪問(wèn)層是整個(gè)分層體系的最底層,它主要用來(lái)實(shí)現(xiàn)與數(shù)據(jù)庫(kù)的交互,即完成查詢(xún)、插入、刪除和修改數(shù)據(jù)庫(kù)中數(shù)據(jù)的功能MVC是一個(gè)設(shè)計(jì)模式,它強(qiáng)制性的使應(yīng)用程序的輸入、處理和輸出分開(kāi)。使用MVC應(yīng)用程序被分成三個(gè)核心部件:模型、視圖、控制器。它們各自處理自己的任務(wù)。視圖是用戶(hù)看到并與之交互的界面。對(duì)老式的Web應(yīng)用程序來(lái)說(shuō),視圖就是由H

33、TML元素組成的界面,在新式的Web應(yīng)用程序中,HTML依舊在視圖中扮演著重要的角色,但一些新的技術(shù)已層出不窮,它們包括Macromedia Flash和象XHTML,XML/XSL,WML等一些標(biāo)識(shí)語(yǔ)言和Web services。如何處理應(yīng)用程序的界面變得越來(lái)越有挑戰(zhàn)性。MVC一個(gè)大的好處是它能為你的應(yīng)用程序處理很多不同的視圖。在視圖中其實(shí)沒(méi)有真正的處理發(fā)生,不管這些數(shù)據(jù)是聯(lián)機(jī)存儲(chǔ)的還是一個(gè)雇員列表,作為視圖來(lái)講,它只是作為一種輸出數(shù)據(jù)并允許用戶(hù)操縱的方式。模型表示企業(yè)數(shù)據(jù)和業(yè)務(wù)規(guī)則。在MVC的三個(gè)部件中,模型擁有最多的處理任務(wù)。例如它可能用象EJBs和ColdFusion Componen

34、ts這樣的構(gòu)件對(duì)象來(lái)處理數(shù)據(jù)庫(kù)。被模型返回的數(shù)據(jù)是中立的,就是說(shuō)模型與數(shù)據(jù)格式無(wú)關(guān),這樣一個(gè)模型能為多個(gè)視圖提供數(shù)據(jù)。MVC模型還可以實(shí)現(xiàn)軟件工程的高內(nèi)聚,低耦合的終極目標(biāo)。由于應(yīng)用于模型的代碼只需寫(xiě)一次就可以被多個(gè)視圖重用,所以減少了代碼的重復(fù)性??刂破鹘邮苡脩?hù)的輸入并調(diào)用模型和視圖去完成用戶(hù)的需求。所以當(dāng)單擊Web頁(yè)面中的超鏈接和發(fā)送HTML表單時(shí),控制器本身不輸出任何東西和做任何處理。它只是接收請(qǐng)求并決定調(diào)用哪個(gè)模型構(gòu)件去處理請(qǐng)求自己本身并不參與業(yè)務(wù)邏輯處理,然后再確定用哪個(gè)視圖來(lái)顯示返回的數(shù)據(jù)。MVC的優(yōu)點(diǎn):1)低耦合性2)高重用性和可適用性3)較低的生命周期成本4)快速的部署5)可維

35、護(hù)性6)有利于軟件工程化管理1.2.7 ServletJava Servlet API提供了一種標(biāo)準(zhǔn)的方式來(lái)擴(kuò)展任何使用基于請(qǐng)求/響應(yīng)協(xié)議的服務(wù)器的功能。Servlet是服務(wù)器端的Java代碼,本質(zhì)上就是一個(gè)Java類(lèi),主要應(yīng)用于Web服務(wù)器,在任何支持Servlet的Web服務(wù)器上,都可以處理請(qǐng)求和生成動(dòng)態(tài)的Web內(nèi)容。Servlet有如下特點(diǎn):與HTTP協(xié)議結(jié)合緊密,幾乎可以控制HTTP協(xié)議的所有方面,而且經(jīng)過(guò)良好的封裝,便于開(kāi)發(fā),減輕程序員的負(fù)擔(dān)。支持多線程,并且在第一次調(diào)用后一直駐留于內(nèi)存,其反應(yīng)速度快且消耗資源少。具備了Java應(yīng)用程序的所有優(yōu)勢(shì)(如:可移植、穩(wěn)健、易開(kāi)發(fā)等),并可訪

36、問(wèn)Java平臺(tái)的所有API,其實(shí)Servlet本身也是一個(gè)Java類(lèi)。能夠使用完全面向?qū)ο蟮脑O(shè)計(jì)思想來(lái)進(jìn)行程序設(shè)計(jì)。其程序是模塊化的,每個(gè)程序執(zhí)行一個(gè)特定任務(wù),并可通過(guò)管道流、服務(wù)全局變量、頁(yè)面重定向等技術(shù)相互交換信息進(jìn)而協(xié)同工作,使得頁(yè)面的處理變得更加靈活。此外,Servlet采用把用戶(hù)信息放在服務(wù)器上的方法解決了會(huì)話管理問(wèn)題,克服了傳統(tǒng)的會(huì)話管理技術(shù)保密性差,數(shù)據(jù)容量小,受客戶(hù)設(shè)置影響等問(wèn)題。然而,Servlet利用輸出HTML語(yǔ)句來(lái)動(dòng)態(tài)實(shí)現(xiàn)網(wǎng)頁(yè),頁(yè)面的動(dòng)態(tài)部分和靜態(tài)部分的結(jié)合十分復(fù)雜、混亂,導(dǎo)致編寫(xiě)困難。這也是JSP出現(xiàn)的原因。1.2.8 TomcatTomcat 很受廣大程序員的喜歡,

37、因?yàn)樗\(yùn)行時(shí)占用的系統(tǒng)資源小,擴(kuò)展性好,支持負(fù)載平衡與郵件服務(wù)等開(kāi)發(fā)應(yīng)用系統(tǒng)常用的功能;而且它還在不斷的改進(jìn)和完善中,任何一個(gè)感興趣的程序員都可以更改它或在其中加入新的功能。 Tomcat 是一個(gè)輕量級(jí)應(yīng)用服務(wù)器,在中小型系統(tǒng)和并發(fā)訪問(wèn)用戶(hù)不是很多的場(chǎng)合下被普遍使用,是開(kāi)發(fā)和調(diào)試JSP 程序的首選。對(duì)于一個(gè)初學(xué)者來(lái)說(shuō),可以這樣認(rèn)為,當(dāng)在一臺(tái)機(jī)器上配置好Apache 服務(wù)器,可利用它響應(yīng)對(duì)HTML 頁(yè)面的訪問(wèn)請(qǐng)求。實(shí)際上Tomcat 部分是Apache 服務(wù)器的擴(kuò)展,但它是獨(dú)立運(yùn)行的,所以當(dāng)你運(yùn)行tomcat 時(shí),它實(shí)際上作為一個(gè)與Apache 獨(dú)立的進(jìn)程單獨(dú)運(yùn)行的。這里的訣竅是,當(dāng)配置正確時(shí),

38、Apache 為HTML頁(yè)面服務(wù),而Tomcat 實(shí)際上運(yùn)行JSP 頁(yè)面和Servlet。另外,Tomcat和IIS、Apache等Web服務(wù)器一樣,具有處理HTML頁(yè)面的功能,另外它還是一個(gè)Servlet和JSP容器,獨(dú)立的Servlet容器是Tomcat的默認(rèn)模式。不過(guò),Tomcat處理靜態(tài)HTML的能力不如Apache服務(wù)器。Tomcat目錄結(jié)構(gòu):/bin:存放windows或Linux平臺(tái)上啟動(dòng)和關(guān)閉Tomcat的腳本文件 /conf:存放Tomcat服務(wù)器的各種全局配置文件/doc:存放Tomcat文檔 /server:包含三個(gè)子目錄:classes、lib和webapps /ser

39、ver/lib:存放Tomcat服務(wù)器所需的各種JAR文件 /server/webapps:存放Tomcat自帶的兩個(gè)WEB應(yīng)用admin應(yīng)用和 manager應(yīng)用 /common/lib:存放Tomcat服務(wù)器以及所有web應(yīng)用都可以訪問(wèn)的jar文件 /shared/lib:存放所有web應(yīng)用都可以訪問(wèn)的jar文件2 需求分析2.1 系統(tǒng)初步調(diào)查系統(tǒng)初步調(diào)查的主要目標(biāo)是從系統(tǒng)分析人員和管理人員的角度看新項(xiàng)目開(kāi)發(fā)有無(wú)必要和可能,其基本內(nèi)容包括:系統(tǒng)的基本情況、系統(tǒng)信息處理情況和系統(tǒng)資源情況。流行音樂(lè)之所以被稱(chēng)為“流行”,原因之一,是她有著傳播的時(shí)效性。絕大部分流行歌曲可以一夜成名,但是從人們腦

40、子里消失得也很快,從前極力搶購(gòu)的唱片可能不久之后就被束之高閣,人們追逐的永遠(yuǎn)是不同于以往的“新”星。但是互聯(lián)網(wǎng)的出現(xiàn),一方而因?yàn)閭鞑ニ俣忍岣叨觿×诉@種時(shí)效性,另一方而卻又利用其無(wú)限的網(wǎng)絡(luò)胸懷使這些流行音樂(lè)具有了一定的持久性。如果這兩方面正是人們所需要的,那么,這些都應(yīng)當(dāng)歸功于音樂(lè)網(wǎng)站。作為音樂(lè)網(wǎng)站的網(wǎng)絡(luò)載體,音樂(lè)網(wǎng)站在創(chuàng)作、傳播、欣賞方式等方而對(duì)流行音樂(lè)的發(fā)展都產(chǎn)生了前所未有的影響:1.電腦網(wǎng)絡(luò)技術(shù)的發(fā)展使人們通過(guò)音樂(lè)網(wǎng)站接觸到了更多的流行音樂(lè)。2.網(wǎng)民數(shù)量的激增使更多的人們通過(guò)音樂(lè)網(wǎng)站接觸到了流行音樂(lè)。3.音樂(lè)網(wǎng)站為流行音樂(lè)創(chuàng)作提供了更多的便利。4.音樂(lè)網(wǎng)站刺激了流行音樂(lè)的傳播。5.音樂(lè)網(wǎng)

41、站使流行音樂(lè)的欣賞方式發(fā)生了改變。6.音樂(lè)網(wǎng)站不但刺激了流行音樂(lè)的傳播,且也刺激了電子數(shù)碼產(chǎn)品的頻繁更新?lián)Q代。2.2 總體要求管理員必須有單獨(dú)的管理模塊進(jìn)行歌曲庫(kù)的維護(hù)工作,必須有單獨(dú)的安全認(rèn)證入口。當(dāng)管理員通過(guò)后臺(tái)安全認(rèn)證進(jìn)入后,可以通過(guò)此模塊對(duì)歌曲庫(kù)進(jìn)行管理,實(shí)現(xiàn)歌曲的添加、刪除和修改。系統(tǒng)應(yīng)該有一個(gè)標(biāo)準(zhǔn)的可以維護(hù)的動(dòng)態(tài)分類(lèi)體制。歌曲庫(kù)中的歌曲可以按照這個(gè)分類(lèi)標(biāo)準(zhǔn),劃分為不同的種類(lèi)。用戶(hù)可以通過(guò)這個(gè)分類(lèi)機(jī)制迅速查找到喜歡的歌曲。作為一個(gè)在線點(diǎn)歌的Web站點(diǎn),核心的功能當(dāng)然是點(diǎn)播歌曲。當(dāng)用戶(hù)通過(guò)瀏覽或分類(lèi)選擇,選中喜歡的歌曲,下一步就是點(diǎn)播歌曲。所以必須要內(nèi)嵌一個(gè)音頻播放器,實(shí)現(xiàn)音樂(lè)的在線播

42、放。對(duì)于各首歌曲的受歡迎程度,系統(tǒng)必須要做出統(tǒng)計(jì)。可以用歌曲的點(diǎn)播次數(shù)來(lái)衡量歌曲的熱門(mén)程度,從而列出熱歌排行榜。2.3 用戶(hù)需求進(jìn)入21世紀(jì),網(wǎng)絡(luò)通信技術(shù)的發(fā)展可謂日新月異,波及面極為廣泛,已成為當(dāng)今知識(shí)經(jīng)濟(jì)發(fā)展中的一個(gè)不可或缺的重要因素。而上網(wǎng)聽(tīng)音樂(lè)也成為人民日常生活中最重要的休閑活到之一,如今對(duì)于有著越來(lái)越豐富的生活的人們對(duì)于在線音樂(lè)網(wǎng)站的需求也越來(lái)越豐富,而且需求非常大,市場(chǎng)潛力非常大。人們的生活水平越來(lái)越高,隨著網(wǎng)民的高速增長(zhǎng),網(wǎng)絡(luò)信息越來(lái)越發(fā)達(dá),上網(wǎng)聽(tīng)音樂(lè)已然成為人們生活水平的一個(gè)重要休閑方式,正因?yàn)樵诰€音樂(lè)網(wǎng)有著信息更新快,方便,種類(lèi)豐富等優(yōu)點(diǎn),上網(wǎng)聽(tīng)音樂(lè)越來(lái)越受到更多人的喜歡。2

43、.4 可行性分析1) 技術(shù)可行性使用Model II模型,Java、JSP、Servlet、Struts等技術(shù)。WEB從一開(kāi)始的靜態(tài)HTML開(kāi)發(fā),到后來(lái)的動(dòng)態(tài)頁(yè)面。從繁瑣的、代碼及其混亂的Model I,逐步到Model II模式。在技術(shù)上和結(jié)構(gòu)上都發(fā)生了極大的變化。Model II模式結(jié)構(gòu)清晰,現(xiàn)今已被大量運(yùn)用。Struts 通過(guò)提供一個(gè)控制器Servlet 實(shí)現(xiàn)了Sun 的 Model II 架構(gòu),這個(gè)控制器可以用來(lái)管理JSP 頁(yè)面和其他表現(xiàn)設(shè)備之間的流程。同時(shí)通過(guò)xml描述配置文件實(shí)現(xiàn)用戶(hù)請(qǐng)求的響應(yīng)處理,以Model II模式提高系統(tǒng)的擴(kuò)展性。MVC即Model(模型層)-View(視圖

44、層)-Controller(控制層)的縮寫(xiě),是一種常用的設(shè)計(jì)模式。MVC 減弱了業(yè)務(wù)邏輯接口和數(shù)據(jù)接口之間的耦合,以及讓視圖層更富于變化。Struts 是MVC(Model-View-Controller)的一種實(shí)現(xiàn),它將 Servlet和 JSP 標(biāo)記(屬于 J2EE 規(guī)范)用作實(shí)現(xiàn)的一部分。2) 經(jīng)濟(jì)可行性開(kāi)發(fā)該系統(tǒng)所需的相關(guān)資料可以通過(guò)已存在的相關(guān)系統(tǒng)進(jìn)行調(diào)查采集,所需的其他應(yīng)用軟件、硬件系統(tǒng)也易于獲得。因此,本網(wǎng)站的開(kāi)發(fā)成本較低。管理員要及時(shí)更新大量歌曲消息,吸引更多的用戶(hù)的在線聽(tīng)歌曲,贏得更多的點(diǎn)擊數(shù),在本網(wǎng)站掛廣告,贏得利益。所以,從經(jīng)濟(jì)的角度來(lái)看,該系統(tǒng)可行。3) 運(yùn)行可信性運(yùn)行

45、可行性是對(duì)組織結(jié)構(gòu)的影響,現(xiàn)有人員和機(jī)構(gòu)和環(huán)境對(duì)系統(tǒng)的適應(yīng)性及人員培訓(xùn)補(bǔ)充計(jì)劃的可行性。當(dāng)前信息化技術(shù)已經(jīng)相當(dāng)普及,各類(lèi)操作人員水平都有相當(dāng)?shù)母叨龋栽谶\(yùn)行上是可行性的。本系統(tǒng)的開(kāi)發(fā),是典型的MVC開(kāi)發(fā),主要是對(duì)數(shù)據(jù)的處理,包括數(shù)據(jù)的收集,數(shù)據(jù)的變換,及數(shù)據(jù)的各種報(bào)表形式的輸出。采用流行的JSP+SQLSERVER 2005+Struts體系,在理論上本系統(tǒng)已無(wú)技術(shù)上的問(wèn)題。4) 法律可行性國(guó)內(nèi)現(xiàn)有的網(wǎng)絡(luò)相關(guān)法律、法規(guī),基本上能維護(hù)用戶(hù)的權(quán)利。2000年9月20日國(guó)務(wù)院頒布互聯(lián)網(wǎng)信息服務(wù)管理辦法?;緷M(mǎn)足了網(wǎng)絡(luò)相關(guān)權(quán)益的保護(hù),互聯(lián)網(wǎng)發(fā)展迅速,要想滿(mǎn)足發(fā)展的需要也應(yīng)該加強(qiáng)網(wǎng)絡(luò)隱私方面的立法。5

46、) 時(shí)間可行性從時(shí)間上看,在這大約六個(gè)月的時(shí)間里學(xué)習(xí)相關(guān)知識(shí),并開(kāi)發(fā)網(wǎng)站,時(shí)間上是足夠的,在這段時(shí)間內(nèi)利用相關(guān)技術(shù),查閱相關(guān)資料,從系統(tǒng)規(guī)劃,到中期的代碼實(shí)現(xiàn)階段,最后到后期的編碼測(cè)試階段經(jīng)過(guò)合理的安排在這半年時(shí)間,雖然時(shí)間稍稍有點(diǎn)緊但是在自己的努力下開(kāi)發(fā)本系統(tǒng)還是時(shí)間足夠的。2.5 開(kāi)發(fā)平臺(tái)開(kāi)發(fā)環(huán)境:SQL Server 2005、Struts運(yùn)行環(huán)境: Myeclipse 9.0+Tomcat6.0軟件硬件配置要求:Microsoft Windows XP Professional 版本 2002 Service Pack3 AMD 5200+ 2.7GHz主頻3 系統(tǒng)概要設(shè)計(jì)3.1 系統(tǒng)

47、設(shè)計(jì)概述系統(tǒng)設(shè)計(jì)是在系統(tǒng)分析的基礎(chǔ)上由抽象到具體的過(guò)程,同時(shí),還應(yīng)考慮到系統(tǒng)所實(shí)現(xiàn)的內(nèi)外環(huán)境和主客觀條件,本著實(shí)事求是的態(tài)度進(jìn)行這一階段的工作。系統(tǒng)設(shè)計(jì)階段的主要目的是將系統(tǒng)分析階段所提出的反映用戶(hù)信息需求的系統(tǒng)邏輯方案轉(zhuǎn)換成可以實(shí)施的基于計(jì)算機(jī)與通信系統(tǒng)的物理方案。這一階段的主要任務(wù)就是從管理信息系統(tǒng)的總體目標(biāo)出發(fā),根據(jù)系統(tǒng)分析階段對(duì)系統(tǒng)的邏輯功能的要求,并考慮到經(jīng)濟(jì)、技術(shù)和運(yùn)行環(huán)境等方面的條件,確定系統(tǒng)的總體結(jié)構(gòu)和系統(tǒng)各組成部分的技術(shù)方案,合理選擇計(jì)算機(jī)和通信的軟、硬件設(shè)備,提出系統(tǒng)的實(shí)施計(jì)劃,確保系統(tǒng)總體目標(biāo)的實(shí)現(xiàn)。系統(tǒng)設(shè)計(jì)工作的特點(diǎn):1) 系統(tǒng)設(shè)計(jì)階段,大量工作是技術(shù)性的。2) 允許用

48、戶(hù)對(duì)已提出的信息需求做非原則性的修改或補(bǔ)充。3) 用戶(hù)在操作使用和運(yùn)行環(huán)境等方面的具體要求也要在系統(tǒng)設(shè)計(jì)階段加以明確并在系統(tǒng)的技術(shù)方案中得反映,因此系統(tǒng)設(shè)計(jì)人員還要同管理環(huán)境打交道。4) 系統(tǒng)設(shè)計(jì)工作的環(huán)境是管理環(huán)境和技術(shù)環(huán)境的結(jié)合,是系統(tǒng)設(shè)計(jì)工作的重要特點(diǎn)也是整個(gè)系統(tǒng)成功的一個(gè)必不可缺的環(huán)節(jié)。系統(tǒng)設(shè)計(jì)原則:1) 階段開(kāi)發(fā)原則:系統(tǒng)框架和數(shù)據(jù)結(jié)構(gòu)全面設(shè)計(jì),具體功能實(shí)現(xiàn)分階段進(jìn)行。2) 易用性原則:方便上網(wǎng)客戶(hù)瀏覽和操作,最大限度地減輕后臺(tái)管理人員的負(fù)擔(dān),做到部分業(yè)務(wù)的自動(dòng)化處理,提供良好的用戶(hù)體驗(yàn)。3) 業(yè)務(wù)完整性原則:對(duì)于業(yè)務(wù)進(jìn)行中的特殊情況能夠做出及時(shí)、正確的響應(yīng),保證業(yè)務(wù)數(shù)據(jù)的完整性,減

49、少數(shù)據(jù)的誤讀。4) 業(yè)務(wù)規(guī)范化原則:在系統(tǒng)設(shè)計(jì)的同時(shí),也為將來(lái)的業(yè)務(wù)流程制定了較為完善的規(guī)范,具有較強(qiáng)的實(shí)際操作性,也給整個(gè)系統(tǒng)帶來(lái)安全性。5) 可擴(kuò)展性原則:系統(tǒng)設(shè)計(jì)要考慮到業(yè)務(wù)未來(lái)發(fā)展的需要,要盡可能設(shè)計(jì)得簡(jiǎn)明,各個(gè)功能模塊間的耦合度小,便于系統(tǒng)的擴(kuò)展。如果存在舊有的數(shù)據(jù)庫(kù)系統(tǒng),則需要充分考慮兼容性,比如說(shuō)瀏覽器的兼容。3.2 系統(tǒng)用例圖游客的操作,如圖3.1所示:試聽(tīng)歌曲下載歌曲查詢(xún)歌曲圖 3.1 游客的用例圖游客的操作:1、游客可以根據(jù)自己的喜歡來(lái)查詢(xún)歌曲。2、游客可以選擇單收歌曲試聽(tīng),也可以全部試聽(tīng)。 3、游客還可以免費(fèi)下載歌曲。3.3 系統(tǒng)流程圖當(dāng)游客進(jìn)入網(wǎng)站首頁(yè)之后,如果用戶(hù)想聽(tīng)

50、自己喜歡的歌曲,在本網(wǎng)站根據(jù)相關(guān)的條件搜索得到,然后根據(jù)自己喜好去試聽(tīng)各類(lèi)歌曲或者是下載各類(lèi)歌曲。游客使用本系統(tǒng)的基本流程如圖3.2所示。游客進(jìn)入系統(tǒng)首頁(yè)選中歌曲試聽(tīng)歌曲下載歌曲圖 3.2 游客流程圖3.4 系統(tǒng)功能分析在線音樂(lè)前臺(tái)模塊歌曲顯示排行榜分類(lèi)顯示按類(lèi)別分類(lèi)試聽(tīng)歌曲播放歌曲下載歌曲搜索歌曲試聽(tīng)排行下載排行圖 3.3 系統(tǒng)前臺(tái)功能圖這就是本網(wǎng)站前臺(tái)的功能框圖(如圖3.3所示)。它可以分為三個(gè)大塊功能,分別為:歌曲顯示模塊,歌曲排行榜模塊,用戶(hù)使用模塊。下面是三個(gè)模塊的詳細(xì)實(shí)現(xiàn):歌曲顯示模塊:分類(lèi)顯示最新的10首歌曲,按類(lèi)別分頁(yè)顯示各類(lèi)歌曲。歌曲排行榜模塊:試聽(tīng)排行,下載排行。用戶(hù)使用模

51、塊:下載歌曲,搜索歌曲,連續(xù)播放歌曲,試聽(tīng)歌曲并顯示歌詞。4 數(shù)據(jù)庫(kù)設(shè)計(jì)與實(shí)現(xiàn)4.1 數(shù)據(jù)庫(kù)的設(shè)計(jì)思想數(shù)據(jù)庫(kù)技術(shù)是信息資源管理最有效的手段。數(shù)據(jù)庫(kù)設(shè)計(jì)是建立數(shù)據(jù)庫(kù)及其應(yīng)用系統(tǒng)的核心和基礎(chǔ)。它要求對(duì)于指定的應(yīng)用環(huán)境,構(gòu)造出較優(yōu)的數(shù)據(jù)庫(kù)模式,把信息系統(tǒng)中大量的數(shù)據(jù)按一定的模型組織起來(lái),提供存儲(chǔ)、維護(hù)、檢索數(shù)據(jù)的功能,使信息系統(tǒng)可以方便、及時(shí)、準(zhǔn)確地從數(shù)據(jù)庫(kù)中獲得所需的信息,滿(mǎn)足用戶(hù)的各種應(yīng)用需求(信息要求,處理要求,數(shù)據(jù)的及時(shí)性要求)。4.2 數(shù)據(jù)庫(kù)模型的設(shè)計(jì)與實(shí)現(xiàn)概念模型最常用的表示方法是實(shí)體-聯(lián)系方法 (Entity-Relation Approach,簡(jiǎn)稱(chēng)E-R方法)。E-R方法是由P.P.

52、SChen于1976年提出的,其方法是用E-R圖來(lái)描述某一組織的信息模型。E-R圖所表示的概念模型與具體的DBMS所支持的數(shù)據(jù)模型相獨(dú)立,是各種數(shù)據(jù)模型的共同基礎(chǔ),因而是抽象和描述現(xiàn)實(shí)世界的有力工具。由于人們通常就是用實(shí)體、聯(lián)系和屬性這三個(gè)概念來(lái)理解和描述現(xiàn)實(shí)問(wèn)題的,所以實(shí)體聯(lián)系圖非常接近人的思維方式。又因?yàn)閷?shí)體聯(lián)系圖采用簡(jiǎn)單的圖形來(lái)表達(dá)人們對(duì)現(xiàn)實(shí)的理解,所以不熟悉計(jì)算機(jī)技術(shù)的用戶(hù)也都能夠接受,因此目前實(shí)體聯(lián)系圖已成為使用非常廣泛的數(shù)據(jù)庫(kù)結(jié)構(gòu)概念建模的工具。實(shí)體聯(lián)系圖:簡(jiǎn)記E-R圖,是指以實(shí)體、關(guān)系、屬性三個(gè)基本概念概括數(shù)據(jù)的基本結(jié)構(gòu),從而描述靜態(tài)數(shù)據(jù)結(jié)構(gòu)的概念模式。與此有關(guān)的概念有:1) 實(shí)

53、體:“實(shí)體”是觀念世界中描述客觀事物的概念。實(shí)體可以是人,也可以是物或抽象的概念;可以指事物本身,也可以指事物之間的聯(lián)系。2) 屬性:“屬性”指實(shí)體具有的某種特性。屬性用來(lái)描述一個(gè)實(shí)體。3) 聯(lián)系:現(xiàn)實(shí)世界的事物總是存在著這樣或那樣的聯(lián)系。在信息世界中,事物之間的聯(lián)系可分為兩類(lèi):一是實(shí)體內(nèi)部的聯(lián)系,一是實(shí)體之間的聯(lián)系。一般主要討論實(shí)體之間的聯(lián)系(比如N:N的關(guān)系;N:1的關(guān)系;1:1的關(guān)系)。在模型設(shè)計(jì)中,首先根據(jù)分析階段收集到的材料,利用分類(lèi)、聚集、概括等方法抽象出實(shí)體,并一一命名,再根據(jù)實(shí)體的屬性描述其間的各種聯(lián)系。E-R圖中用矩形表示實(shí)體,實(shí)體之間的關(guān)系用菱形表示,用無(wú)向邊把菱形與有關(guān)實(shí)

54、體連接,在邊上標(biāo)明聯(lián)系的類(lèi)型。實(shí)體的屬性可用橢圓表示,并用無(wú)向邊把實(shí)體與屬性聯(lián)系起來(lái)。在線音樂(lè)網(wǎng)的實(shí)體包括:1)歌曲:歌曲的編號(hào),歌曲的名稱(chēng),演唱者,專(zhuān)輯名稱(chēng),文件大小,文件路徑,文件格式,試聽(tīng)次數(shù),下載次數(shù),上傳時(shí)間,所屬類(lèi)別。2)管理員:管理員編號(hào),管理員賬號(hào),管理員密碼。3)類(lèi)別名稱(chēng):類(lèi)別編號(hào),類(lèi)別名稱(chēng)。在線音樂(lè)網(wǎng)E-R模型圖,體現(xiàn)了上述各實(shí)體之間的聯(lián)系以及數(shù)量上的關(guān)系,基本上化解成了第三范式的標(biāo)準(zhǔn)。詳細(xì)描述了各實(shí)體的屬性及與相關(guān)實(shí)體的聯(lián)系方式,以及對(duì)應(yīng)的數(shù)量關(guān)系,對(duì)于數(shù)據(jù)庫(kù)的建設(shè)是具有重大作用的,這也是我開(kāi)發(fā)應(yīng)用程序的關(guān)鍵之所在。其E-R模型圖4.1如下所示。圖 4.1 E-R圖4.3

55、 數(shù)據(jù)字典1、tb_manager表即是管理員表,用來(lái)存放管理員相關(guān)信息的。如管理員的用戶(hù)名和管理員的密碼。其結(jié)構(gòu)如表4.1所示。表4.1管理員表字段名數(shù)據(jù)類(lèi)型主鍵外鍵為空默認(rèn)值描敘idIntYesNo編號(hào)managerVarchar(20)NoNo管理員的用戶(hù)名pwdVarchar(32)NoNo管理員的密碼2、tb_songtyper即是歌曲類(lèi)別表用來(lái)保存歌曲的類(lèi)別信息的。歌曲的類(lèi)別一共分為五種:流行金曲,經(jīng)典歌曲,熱舞DJ,輕音樂(lè),小兒歌曲,歐美金曲。tb_songtyper表中的一列id是表tb_song中的一列songtype的外鍵,所以在保存這個(gè)表的數(shù)據(jù)要注意外鍵關(guān)系。歌曲類(lèi)別表的

56、結(jié)構(gòu)如表4.2所示。表4.2歌曲類(lèi)別名稱(chēng)表字段名數(shù)據(jù)類(lèi)型主鍵外鍵是否為空默認(rèn)值描敘idIntYesNo編號(hào)typeNameVarchar(20)NoNo類(lèi)別名3、tb_song表即是歌曲表用來(lái)存放歌曲的相關(guān)信息。歌曲的屬性:歌曲編號(hào),歌曲的名稱(chēng),歌曲演唱者,演唱者發(fā)布的專(zhuān)輯名稱(chēng),文件的大小,文件路徑,文件格式,試聽(tīng)次數(shù),下載次數(shù),上傳時(shí)間,所屬類(lèi)別等信息的。其結(jié)構(gòu)如表4.3所示。表4.3音樂(lè)表字段名數(shù)據(jù)類(lèi)型主鍵外鍵為空默認(rèn)值描敘idIntYesNo編號(hào)songNameVarchar(50)NoNo音樂(lè)的標(biāo)題singerVarchar(30)NoNo歌手specialNameVarchar(30)NoNo音樂(lè)所屬的專(zhuān)輯fileSizeVarchar(10)NoNo音樂(lè)文件的大小fileURLVarchar(100)NoNo音樂(lè)文件的路徑fo

溫馨提示

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

評(píng)論

0/150

提交評(píng)論