JSP實現在線音樂播放系統論文設計_第1頁
JSP實現在線音樂播放系統論文設計_第2頁
JSP實現在線音樂播放系統論文設計_第3頁
JSP實現在線音樂播放系統論文設計_第4頁
JSP實現在線音樂播放系統論文設計_第5頁
已閱讀5頁,還剩26頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、4.4數據庫連接的設計與實現21弓丨ri 1.1本課題的研究背景及LI的11.1.1本課題的研究背景1.1.2本課題的研究目的1.2系統的關鍵技術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系統初步調查122.2 總體要求122.3 用戶需求132.4可行性分析132.5開發平臺143系統概要設計153.1系統設計概述153.2系統用例圖163.3 系統流程圖163.4系統功能分析174數據庫

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

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

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

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

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

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

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

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

10、、自動的強制類型轉換。特別地,Java語 言不使用指針,并提供了自動的廢料收集,使得程序員不必為內存管理而擔憂,C+的 垃圾回收機制要求程序員自己回收,這樣大大的增加了程序員的負擔。2) Java語言是一個面向對象的。Java語言提供類、接口和繼承等原語,為了簡單起 見,只支持類之間的單繼承,但支持接口之間的多繼承,并支持類與接口之間的實現機 制(關鍵字為implements)<> Java語言全面支持動態綁定,而C+語言只對虛函數使用動 態綁定。總之,Java語言是一個純的面向對象程序設計語言。3) Java語言是分布式的。Java語言支持Internet應用的開發,在基本的Ja

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

溫馨提示

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

評論

0/150

提交評論