在線音樂管理系統(tǒng)畢業(yè)設(shè)計(jì)論文_第1頁
在線音樂管理系統(tǒng)畢業(yè)設(shè)計(jì)論文_第2頁
在線音樂管理系統(tǒng)畢業(yè)設(shè)計(jì)論文_第3頁
在線音樂管理系統(tǒng)畢業(yè)設(shè)計(jì)論文_第4頁
在線音樂管理系統(tǒng)畢業(yè)設(shè)計(jì)論文_第5頁
已閱讀5頁,還剩51頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

蘭州交通大學(xué)畢業(yè)設(shè)計(jì)(論文)PAGE18PAGEII在線音樂管理系統(tǒng)摘要計(jì)算機(jī)網(wǎng)絡(luò)的不斷擴(kuò)大使得網(wǎng)上娛樂這個(gè)新生力量有了自己更充足的成長空間,從目前的市場來看,在網(wǎng)上娛樂中,網(wǎng)上游戲和網(wǎng)上音樂占據(jù)了很大一部分市場空間,很多人都有能力并且也愿意以網(wǎng)上娛樂的方式去消費(fèi),根據(jù)網(wǎng)絡(luò)音樂的實(shí)際情況,通過對(duì)網(wǎng)站有關(guān)音樂媒體發(fā)布事項(xiàng)的一番調(diào)查與分析,在用戶對(duì)音樂需求的解析基礎(chǔ)上,明確了在線音樂點(diǎn)播系統(tǒng)要實(shí)現(xiàn)的具體功能,并闡述系統(tǒng)的結(jié)構(gòu)設(shè)計(jì)和功能設(shè)計(jì),用JSP語言和MySQL數(shù)據(jù)庫實(shí)現(xiàn)一個(gè)小型音樂網(wǎng)站的設(shè)計(jì)與應(yīng)用。用戶可以經(jīng)過注冊的試聽自己喜歡的歌曲甚至可以在線下載歌曲到他們的私人電腦里;后臺(tái)管理中,管理員對(duì)站內(nèi)音樂信息采取必要的維護(hù)措施,比如增加新的音樂信息,修改歌曲和歌手信息等。關(guān)鍵詞:音樂點(diǎn)播;后臺(tái)管理;JSP;MySQL數(shù)據(jù)庫AbstractTheinternetenjoystheroaringdevelopment,entertainmentsonlinehavemorespaceforadvancement.Accordingtothesurveyofthemarket,onlineentertainment,includingtheonlinegamesandonlinemusic,whichaccountforthemostsharesofthemarket.Alargenumberofpeopleprefertheonlineentertainmenttorelaxandenjoythelife.Onthegroundofseveralsurveysaboutonlinemusic,thefunctionofdibbleonlinemusicsystemisconfirmedthroughtheinvestigationandanalysisofwebsitesaboutmusicmediaaswellastheinvestigationoftheneedsoftheusers.Asaresult,thedesignsofsystemsstructureandfunctionareputforwardclearly.Thesmall-scalemusicwebscanbeestablishedbyJSPlanguageandMySQLdatabase.Theuserscanregistersoastolistentothesamplesofsongthattheylike.Whatismore,theycandownloadonlinemusictotheirpersonalcomputers.Whatthewebsitetechniciandoesistakemeasurestoupdatetheonlinemusicinthewebsitecontentmanagement,suchastoaddsomenewinformationaboutmusicandtomodifythemessagesofthesongsandsingers.Keywords:musicdibble;websitecontentmanagement;JSP;MySQLdatabase目錄1引言 11.1研究背景 11.2國內(nèi)研究現(xiàn)狀 11.3研究內(nèi)容與本人所做的工作 21.3.1研究內(nèi)容 21.3.2本人所做的工作 21.4論文結(jié)構(gòu) 21.5開發(fā)環(huán)境的介紹 21.5.1開發(fā)工具之JSP 31.5.2開發(fā)工具之MyEclipse9.0 61.5.3開發(fā)工具之MySQL數(shù)據(jù)庫 71.5.4開發(fā)工具之Dreamwear8.0 111.5.5開發(fā)工具之Tomcat 121.5.6開發(fā)工具之B/S 141.5.7開發(fā)工具之JavaBean 162系統(tǒng)分析 182.1系統(tǒng)功能概述 182.1.1系統(tǒng)前臺(tái)功能概述 182.1.2系統(tǒng)后臺(tái)功能概述 182.2可行性研究 182.2.1經(jīng)濟(jì)可行性 192.2.2技術(shù)可行性 192.2.3法律可行性 192.3需求分析 192.3.1系統(tǒng)主要需求描述 202.3.2數(shù)據(jù)流圖 212.3.3數(shù)據(jù)字典 223概要設(shè)計(jì) 263.1系統(tǒng)總體結(jié)構(gòu)圖 263.2數(shù)據(jù)庫概念設(shè)計(jì) 264詳細(xì)設(shè)計(jì) 294.1數(shù)據(jù)庫物理設(shè)計(jì) 294.2系統(tǒng)主要模塊的設(shè)計(jì) 294.2.1會(huì)員模塊設(shè)計(jì) 294.2.2管理員模塊設(shè)計(jì) 295系統(tǒng)的實(shí)現(xiàn) 315.1系統(tǒng)母版頁的實(shí)現(xiàn) 315.1.1系統(tǒng)首頁實(shí)現(xiàn) 315.1.2上傳歌曲頁面的實(shí)現(xiàn) 325.1.3管理我的歌曲頁面的實(shí)現(xiàn) 325.1.4下載歌曲頁面的實(shí)現(xiàn) 335.1.5短消息與留言板的實(shí)現(xiàn) 336系統(tǒng)的調(diào)試與測試 356.1程序調(diào)試 356.2程序的測試 356.2.1測試的重要性及目的 356.2.2測試的步驟 366.2.3測試的主要內(nèi)容 376.2.4測試中的誤區(qū) 38結(jié)束語 40致謝 41參考文獻(xiàn) 421引言 1.1研究背景目前,隨著Internet在全球的推廣和普及,越來越多的人開始進(jìn)入這個(gè)全球范圍的計(jì)算機(jī)網(wǎng)絡(luò),世界因此變成了一個(gè)小小的地球村,人們通過互聯(lián)網(wǎng)彼此溝通和交流。面對(duì)信息化逐步成為社會(huì)標(biāo)志的現(xiàn)實(shí)狀況,必然決定了計(jì)算機(jī)網(wǎng)絡(luò)的應(yīng)用以及使用將會(huì)更加的頻繁,信息化給人們帶來的好處是不言而喻的,就計(jì)算機(jī)網(wǎng)絡(luò)而言,在軍隊(duì)、政府以及企業(yè)的應(yīng)用所帶來的好處更是數(shù)不勝數(shù),而在如今這樣一個(gè)信息化的網(wǎng)絡(luò)時(shí)代,音樂變得無處不在,尤其是多媒體的出現(xiàn)讓音樂更加大眾化、普及化了?,F(xiàn)在只要你鼠標(biāo)輕輕一點(diǎn),就可以找到各種各樣的,甚至是不同國家的音樂信息供你選擇來試聽和下載,也決定了網(wǎng)上娛樂會(huì)有很大的市場潛力和升值空間,因此,根據(jù)實(shí)際情況打造一個(gè)在線音樂點(diǎn)播系統(tǒng)具有很實(shí)際的市場意義。課題目標(biāo)是設(shè)計(jì)并實(shí)現(xiàn)一個(gè)B/S體系結(jié)構(gòu)的Integer音樂網(wǎng)站。結(jié)合實(shí)踐,理解網(wǎng)頁開發(fā)技術(shù)和數(shù)據(jù)庫的基本知識(shí),學(xué)習(xí)相關(guān)開發(fā)工具和應(yīng)用軟件,熟悉網(wǎng)站建設(shè)的過程,熟練掌握網(wǎng)絡(luò)數(shù)據(jù)庫編程方法。1.2國內(nèi)研究現(xiàn)狀現(xiàn)在我國的信息管理水平還比較落后,這樣的機(jī)制已經(jīng)不能適應(yīng)時(shí)代的發(fā)展,因?yàn)樗速M(fèi)了許多人力和物力,在信息時(shí)代傳統(tǒng)的管理方法必然被計(jì)算機(jī)為基礎(chǔ)的信息管理所取代。軟件作為一項(xiàng)有力的工具,只能當(dāng)此種工具,與我們的實(shí)踐相結(jié)合起來的時(shí)候,才具有重大的社會(huì)價(jià)值及使用價(jià)值。因此根據(jù)目前實(shí)際的情況開發(fā)這樣一套管理系統(tǒng)是十分必要的。隨著科學(xué)技術(shù)的不斷提高,計(jì)算機(jī)科學(xué)技術(shù)日漸成熟,其強(qiáng)大的功能已為人們深刻認(rèn)識(shí),它已進(jìn)入人類社會(huì)的各個(gè)領(lǐng)域并發(fā)揮著越來越重要的作用。作為計(jì)算機(jī)應(yīng)用的一部分,使用計(jì)算機(jī)進(jìn)行管理,具有著手工管理所無法比擬的優(yōu)點(diǎn)。例如:可靠性高、存儲(chǔ)量大、保密性好、壽命長、成本低等。這些優(yōu)點(diǎn)能夠極大地提高工作的效率,也是信息正規(guī)化管理與世界接軌的重要條件。本系統(tǒng)用JSP語言來編寫社本系統(tǒng),數(shù)據(jù)庫用MYSQL來連接系統(tǒng)。本論文主要涉及軟件,數(shù)據(jù)庫與網(wǎng)絡(luò)技術(shù)等。涵蓋知識(shí)面廣,可有效地提高學(xué)生綜合運(yùn)用所學(xué)知識(shí)分析解決問題的能力,增強(qiáng)學(xué)生對(duì)事物的理解與掌握能力,培養(yǎng)學(xué)生掌握科學(xué)的研究方法,正確的設(shè)計(jì)思想,獨(dú)立思考,勇于進(jìn)取,探索創(chuàng)新,為今后進(jìn)一步學(xué)習(xí)與工作奠定了良好的基礎(chǔ)。1.3研究內(nèi)容與本人所做的工作1.3.1研究內(nèi)容設(shè)計(jì)并開發(fā)一個(gè)在線音樂管理系統(tǒng),該系統(tǒng)的功能如下:(1)點(diǎn)播歌曲。用戶不用注冊會(huì)員也可點(diǎn)播本系統(tǒng)中的歌曲。(2)注冊會(huì)員。用戶需要注冊會(huì)員后才能享受本系統(tǒng)的其他功能。(3)下載歌曲。注冊會(huì)員之后即為本系統(tǒng)會(huì)員,可下載自己所喜歡的歌曲到本地電腦中。(4)上傳歌曲。本系統(tǒng)會(huì)員,可將自己喜歡,但系統(tǒng)所沒有的的歌曲上傳到本系統(tǒng)。(5)管理我的歌曲。會(huì)員登錄后,可管理自己上傳過的歌曲信息。(6)后臺(tái)管理。管理員可以方便的管理音樂信息和會(huì)員信息。1.3.2本人所做的工作(1)點(diǎn)播歌曲流程的設(shè)計(jì)與實(shí)現(xiàn)。(2)會(huì)員功能流程的設(shè)計(jì)與實(shí)現(xiàn)。包括注冊會(huì)員,點(diǎn)播歌曲、上傳、下載歌曲。(3)后臺(tái)管理員的設(shè)計(jì)與實(shí)現(xiàn)。在后臺(tái),系統(tǒng)管理員可以方便的管理音樂信息和會(huì)員信息。1.4論文結(jié)構(gòu)本論文分為六章,分別如下:第一章為引言部分,介紹了設(shè)計(jì)的選題背景、國內(nèi)研究現(xiàn)狀、設(shè)計(jì)研究內(nèi)容與本人所做的工作、系統(tǒng)所用到的環(huán)境。第二章為系統(tǒng)功能分析,提出了系統(tǒng)的功能,并在次基礎(chǔ)上進(jìn)行了設(shè)計(jì)可行性研究和需求分析。第三章為概要設(shè)計(jì),做了系統(tǒng)的總體結(jié)構(gòu)圖和數(shù)據(jù)庫設(shè)計(jì)工作。第四章為系統(tǒng)的詳細(xì)介紹。第五章關(guān)于系統(tǒng)頁面的實(shí)現(xiàn)。第六章為系統(tǒng)做全面的調(diào)試與測試。1.5開發(fā)環(huán)境的介紹MircsoftWindowsXP:作為系統(tǒng)開發(fā)的操作系統(tǒng)平臺(tái),程序都在它上面運(yùn)行通過。MySQL5.0:主要存儲(chǔ)網(wǎng)頁上抽取的信息,方便以后建索引。MyEclipse9.0:用來開發(fā)系統(tǒng)的查詢模塊。Tomcat6.0:是一款Java平臺(tái)下的服務(wù)器軟件,模擬網(wǎng)絡(luò)環(huán)境。1.5.1開發(fā)工具之JSPJSP技術(shù)簡介JSP(JavaServerPage服務(wù)器網(wǎng)頁)是從1998年開始出現(xiàn)的新技術(shù)。由Sun公司倡導(dǎo)、許多公司參與一起建立的一種動(dòng)態(tài)網(wǎng)頁技術(shù)標(biāo)準(zhǔn),是基于JavaServlet以及整個(gè)Java體系的web開發(fā)技術(shù)。在傳統(tǒng)的網(wǎng)頁HTML文件(*.htm,*.html)中加入腳本片段和JSP標(biāo)記(Tag),構(gòu)成JSP網(wǎng)頁(*.jsp)。JSP技術(shù)為創(chuàng)建顯示動(dòng)態(tài)生成內(nèi)容的web頁面提供了簡便的方法。JSP作為Java家族的一員,承襲了Java的特點(diǎn),即跨平臺(tái)的特性,也即一次編譯,到處運(yùn)行。在國外,己經(jīng)大量使用JSP作為網(wǎng)絡(luò)應(yīng)用程序的開發(fā)工具,而在國內(nèi),盡管JSP還不是主流開發(fā)技術(shù),但是由于JSP的強(qiáng)大優(yōu)勢,許多網(wǎng)站都已經(jīng)準(zhǔn)備轉(zhuǎn)向JSP,利用JSP來開發(fā)動(dòng)態(tài)網(wǎng)站。2.JSP工作原理JSP是面向服務(wù)器的,因此支持任何瀏覽器。當(dāng)Web服務(wù)器和JSP引擎遇到訪問JSP網(wǎng)頁的請(qǐng)求時(shí),JSP引擎將請(qǐng)求對(duì)象發(fā)送給服務(wù)器端的相關(guān)組件,比如JavaBean組件、Servlet或EJB等,然后由服務(wù)器端組件處理這些請(qǐng)示,可能需要從數(shù)據(jù)庫或數(shù)據(jù)存儲(chǔ)中檢索信息,然后服務(wù)器端組件再將響應(yīng)對(duì)象返回JSP引擎。JSP引擎將響應(yīng)對(duì)象傳遞給JSP頁面,根據(jù)JSP頁面的HTML格式完成數(shù)據(jù)編排,最后Web服務(wù)器和JSP引擎將格式化后的JSP頁面以HTML格式返回客戶瀏覽器。這就是當(dāng)前網(wǎng)站構(gòu)建中廣泛采用的瀏覽器——Web服務(wù)器——后臺(tái)數(shù)據(jù)庫的三層架構(gòu)模式。因?yàn)镴SP所有程序操作都在服務(wù)器端執(zhí)行,網(wǎng)絡(luò)上傳送給客戶端的僅是得到的結(jié)果。3.JSP體系結(jié)構(gòu)JSP網(wǎng)站開發(fā)標(biāo)準(zhǔn)給出了兩種使用JSP的技術(shù),可以歸納為模式一、模式二。模式一:JSP+JavaBeans技術(shù)。在這種模式中,JSP頁面獨(dú)自響應(yīng)請(qǐng)求并將處理結(jié)果返回給客戶。Bean處理所有數(shù)據(jù)訪問,JSP實(shí)現(xiàn)頁面的表現(xiàn),以實(shí)現(xiàn)內(nèi)容生成與顯示相分離。當(dāng)處理復(fù)雜的大型應(yīng)用時(shí),頁面被嵌入大量的腳本或Java代碼段,當(dāng)需要處理的商業(yè)邏輯復(fù)雜時(shí),這種情況會(huì)變得非常糟糕,大量的內(nèi)嵌代碼使得頁面程序變得復(fù)雜,對(duì)于前端界面設(shè)計(jì)人員,這是不可思議的事情。所以模式一可用于小型應(yīng)用,不能夠滿足大型應(yīng)用的需要。模式二:JSP+Servlet+JavaBeans技術(shù)。Servlet技術(shù)是一種采用Java技術(shù)來實(shí)現(xiàn)CGI功能的一種技術(shù),Servlet技術(shù)非常適于服務(wù)器端的處理和編程,并且Servlet會(huì)長期駐留在內(nèi)存。從開發(fā)的觀點(diǎn)看,模式二具有更清晰的頁面表現(xiàn),清楚的開發(fā)者角色劃分,在大規(guī)(Model/view/controller),其中Servlet對(duì)應(yīng)controller,處于控制者的位置,處理HTTP請(qǐng)求,負(fù)責(zé)生成JSP中使用的Beans組件或?qū)ο螅⑴袛鄳?yīng)將請(qǐng)求傳遞給哪個(gè)JSP等,JSP對(duì)應(yīng)view,負(fù)責(zé)生成最終的動(dòng)態(tài)網(wǎng)頁并返回給瀏覽器。而JavaBeans對(duì)應(yīng)的是Model,實(shí)現(xiàn)各個(gè)具體的應(yīng)用邏輯與功能。4.JSP的特點(diǎn)簡化的頁面生成技術(shù)。JSP頁面用標(biāo)準(zhǔn)的HTML或XML命令來處理頁面的格式化和布局設(shè)計(jì),而用類似HTML、XML的標(biāo)記和Java語言編寫的腳本程序生成頁面內(nèi)容。這使得頁面形式與頁面內(nèi)容互相獨(dú)立,非常有利于大型項(xiàng)目的分工合作。(1)與Java平臺(tái)有機(jī)集成。JSP技術(shù)是Java2平臺(tái)的重要組成部分,JSP使用Java語言作為它的腳本語言。在JSP頁面中可以使用幾乎所有的Java組件和JavaAPI,這就能充分發(fā)揮出Java語言的強(qiáng)大功能。使用JSP技術(shù)可以創(chuàng)建具有高度可伸縮性和可靠性的Web應(yīng)用程序。(2)硬件平臺(tái)和服務(wù)器無關(guān)性。JSP作為Java家族的一員,秉承了Java技術(shù)的“一次編寫,隨處可用(WriteOnce,RumAnywhere)”的特性,可以運(yùn)行于大多數(shù)流行的操作系統(tǒng)平臺(tái)及Web服務(wù)器,這種與服務(wù)器硬件和操作系統(tǒng)平臺(tái)的無關(guān)性是JSP相對(duì)于其它動(dòng)態(tài)網(wǎng)頁技術(shù)最大的一個(gè)優(yōu)點(diǎn)。(3)功能可擴(kuò)展性。如同Microsoft的JSP技術(shù)可以通過ActiveX/COM組件來擴(kuò)展功能一樣,JSP可以通過JavaBean和EJB(EnterpriseJavaBean)以及自定義的標(biāo)記來擴(kuò)展功能。JSP可以通過JDBC,與諸如Oracle、SQLServer這樣的大型關(guān)系數(shù)據(jù)庫進(jìn)行連接。JSP提供了一些隱含對(duì)象。這些隱含對(duì)象在JSP頁面中可以直接引用,而不必首先聲明。利用JSP提供的這些隱含對(duì)象,可以使腳本功能更加強(qiáng)大,并且編程更加容易、方便。例如,利用request對(duì)象,可以很容易地接收用戶在HTML表單中提交的信息。5.JSP的優(yōu)缺點(diǎn)JSP技術(shù)的優(yōu)勢:(1)一次編寫,到處運(yùn)行。除了系統(tǒng)之外,代碼不用做任何更改。(2)系統(tǒng)的多平臺(tái)支持?;旧峡梢栽谒衅脚_(tái)上的任意環(huán)境中開發(fā),在任意環(huán)境中進(jìn)行系統(tǒng)部署,在任意環(huán)境中擴(kuò)展。相比ASP/.net的局限性是顯而易見的。(3)強(qiáng)大的可伸縮性。從只有一個(gè)小的Jar文件就可以運(yùn)行Servlet/JSP,到由多臺(tái)服務(wù)器進(jìn)行集群和負(fù)載均衡,到多臺(tái)Application進(jìn)行事務(wù)處理,消息處理,一臺(tái)服務(wù)器到無數(shù)臺(tái)服務(wù)器,Java顯示了一個(gè)巨大的生命力。(4)多樣化和功能強(qiáng)大的開發(fā)工具支持。這一點(diǎn)與ASP很像,Java已經(jīng)有了許多非常優(yōu)秀的開發(fā)工具,而且許多可以免費(fèi)得到,并且其中許多已經(jīng)可以順利的運(yùn)行于多種平臺(tái)之下。(5)支持服務(wù)器端組件。web應(yīng)用需要強(qiáng)大的服務(wù)器端組件來支持,開發(fā)人員需要利用其他工具設(shè)計(jì)實(shí)現(xiàn)復(fù)雜功能的組件供web頁面調(diào)用,以增強(qiáng)系統(tǒng)性能。JSP可以使用成熟的JAVABEANS組件來實(shí)現(xiàn)復(fù)雜商務(wù)功能。JSP技術(shù)的劣勢:(1)與ASP一樣,Java的一些優(yōu)勢正是它致命的問題所在。正是由于為了跨平臺(tái)的功能,為了極度的伸縮能力,所以極大的增加了產(chǎn)品的復(fù)雜性。(2)Java的運(yùn)行速度是用class常駐內(nèi)存來完成的,所以它在一些情況下所使用的內(nèi)存比起用戶數(shù)量來說確實(shí)是“最低性能價(jià)格比”了。從另一方面,它還需要硬盤空間來儲(chǔ)存一系列的.java文件和.class文件,以及對(duì)應(yīng)的版本文件。JSP的工作模式如圖1.1所示:用戶通過webserver訪問到對(duì)方的服務(wù)器,獲得所需要的服務(wù)。圖1.1JSP的工作模式圖1.5.2開發(fā)工具之MyEclipse9.0MyEclipse,是一個(gè)十分優(yōu)秀的用于開發(fā)Java,J2EE的Eclipse插件集合,MyEclipse的功能非常強(qiáng)大,支持也十分廣泛,尤其是對(duì)各種開源產(chǎn)品的支持十分不錯(cuò)。MyEclipse企業(yè)級(jí)工作平臺(tái)(MyEclipseEnterpriseWorkbench,簡稱MyEclipse)是對(duì)EclipseIDE的擴(kuò)展,利用它我們可以在數(shù)據(jù)庫和JavaEE的開發(fā)、發(fā)布以及應(yīng)用程序服務(wù)器的整合方面極大的提高工作效率。它是功能豐富的JavaEE集成開發(fā)環(huán)境,包括了完備的編碼、調(diào)試、測試和發(fā)布功能,完整支持HTML,Struts,JSP,CSS,Javascript,Spring,SQL,Hibernate。在結(jié)構(gòu)上,MyEclipse的特征可以被分為7類:(1)JavaEE模型。(2)WEB開發(fā)工具。(3)EJB開發(fā)工具。(4)應(yīng)用程序服務(wù)器的連接器。(5)JavaEE項(xiàng)目部署服務(wù)。(6)數(shù)據(jù)庫服務(wù)。(7)MyEclipse整合幫助。對(duì)于以上每一種功能上的類別,在Eclipse中都有相應(yīng)的功能部件,并通過一系列的插件來實(shí)現(xiàn)它們。MyEclipse結(jié)構(gòu)上的這種模塊化,可以讓我們在不影響其他模塊的情況下,對(duì)任一模塊進(jìn)行單獨(dú)的擴(kuò)展和升級(jí)。簡單而言,MyEclipse是Eclipse的插件,也是一款功能強(qiáng)大的JavaEE集成開發(fā)環(huán)境,支持代碼編寫、配置、測試以及除錯(cuò),MyEclipse6.0以前版本需先安裝Eclipse。MyEclipse6.0以后版本安裝時(shí)不需安裝Eclipse。MyEclipse生成WAR包并在Tomcat下部署發(fā)布。首先是使用MyEclipse將web項(xiàng)目打包,右鍵選中項(xiàng)目,選擇export;彈出Export的select窗體,選擇JavaEE的WARfile(myeclipse)選項(xiàng),然后選擇工程名稱和路徑,單擊完成就可以了。打包完成以后我們將war放到tomcat的webapps目錄下,并設(shè)置server.xml文件;然后運(yùn)行tomcat,并輸入項(xiàng)目的url就可以瀏覽了。1.5.3開發(fā)工具之MySQL數(shù)據(jù)庫數(shù)據(jù)庫技術(shù)作為數(shù)據(jù)管理技術(shù),是計(jì)算機(jī)軟件領(lǐng)域的一個(gè)重要分支,產(chǎn)生于60年代末?,F(xiàn)已形成相當(dāng)規(guī)模的理論體系和實(shí)用技術(shù)。優(yōu)秀的數(shù)據(jù)庫設(shè)計(jì)是應(yīng)用成功的基石。萬萬丈高樓平地起,數(shù)據(jù)庫設(shè)計(jì)如同高樓的基石,是開發(fā)高品質(zhì)應(yīng)用的前提。1.數(shù)據(jù)的體系結(jié)構(gòu)數(shù)據(jù)的體系結(jié)構(gòu)分成三級(jí):內(nèi)部級(jí)(Internal),概念級(jí)(Conceptual)和外部級(jí)(External)。這個(gè)三級(jí)結(jié)構(gòu)有時(shí)也稱為“三級(jí)模式結(jié)構(gòu)”。外部級(jí):最接近用戶,是單個(gè)用戶所能看到的數(shù)據(jù)特性。單個(gè)用戶使用的數(shù)據(jù)視圖的描述稱為“外模式”。概念級(jí):涉及到所有用戶的數(shù)據(jù)定義、是全局的數(shù)據(jù)視圖。全局視圖的描述稱為“概念模式”。內(nèi)部級(jí):最接近于物理存儲(chǔ)設(shè)備,涉及到實(shí)際數(shù)據(jù)存儲(chǔ)的結(jié)構(gòu)物理存儲(chǔ)數(shù)據(jù)視圖的描述稱為“內(nèi)模式”。數(shù)據(jù)庫的三級(jí)模式結(jié)構(gòu)是數(shù)據(jù)的三個(gè)抽象級(jí)別。它把數(shù)據(jù)的具體組織留給DBMS去做,用戶只要抽象地處理數(shù)據(jù),而不必關(guān)心數(shù)據(jù)在計(jì)算機(jī)中的表示和存儲(chǔ),這樣就減輕了用戶使用系統(tǒng)的負(fù)擔(dān)。2.數(shù)據(jù)庫管理系統(tǒng)(DBMS)數(shù)據(jù)庫管理系統(tǒng)(DBMS)是指數(shù)據(jù)庫系統(tǒng)中管理數(shù)據(jù)的軟件系統(tǒng)。DBMS是數(shù)據(jù)庫系統(tǒng)的核心組成部分。對(duì)數(shù)據(jù)庫的一切操作,包括定義、查詢、更新及各種控制,都是通過DBMS進(jìn)行的。在不同的計(jì)算機(jī)系統(tǒng)中,由于缺乏統(tǒng)一的標(biāo)準(zhǔn),即使同種數(shù)據(jù)模型的DBMS,它們在用戶接口、系統(tǒng)功能方面也常常是不相同的。用戶對(duì)數(shù)據(jù)庫進(jìn)行操作,是由DBMS把操作從應(yīng)用程序帶到外部級(jí)、概念級(jí)、再導(dǎo)向內(nèi)部級(jí),進(jìn)而操作存儲(chǔ)器中的數(shù)據(jù)。DBMS的主要目標(biāo),是使數(shù)據(jù)作為一種可管理的資源處理。DBMS的主要功能為:(1)數(shù)據(jù)庫定義功能:DBMS提供數(shù)據(jù)定義語言(DDL)定義數(shù)據(jù)庫的三級(jí)結(jié)構(gòu),包括外模式、概念模式、內(nèi)模式及其相互之間的映象,定義數(shù)據(jù)的完整性、安全控制等約束。因此,在DBMS中應(yīng)包括DDL的編譯程序。(2)數(shù)據(jù)庫的操縱功能:DBMS提供數(shù)據(jù)操縱語言(DML)實(shí)現(xiàn)對(duì)數(shù)據(jù)庫中數(shù)據(jù)的操作?;镜臄?shù)據(jù)操作分成兩類四種:檢索(查詢)、更新(插入、刪除、修改)。(3)數(shù)據(jù)庫的保護(hù)功能:數(shù)據(jù)庫中的數(shù)據(jù)是信息社會(huì)的戰(zhàn)略資源,對(duì)數(shù)據(jù)的保護(hù)是至關(guān)重要的大事。DBMS對(duì)數(shù)據(jù)庫的保護(hù)主要通過四個(gè)方面實(shí)現(xiàn):(4)數(shù)據(jù)庫的恢復(fù):在數(shù)據(jù)庫被破壞或數(shù)據(jù)不正確時(shí),系統(tǒng)有能力把數(shù)據(jù)庫恢復(fù)到正確的狀態(tài)。(5)數(shù)據(jù)庫的并發(fā)控制:DBMS的并發(fā)控制子系統(tǒng)能防止錯(cuò)誤發(fā)生,正確處理好多用戶、多任務(wù)環(huán)境下的并發(fā)操作。(6)數(shù)據(jù)庫的完整性控制:保證數(shù)據(jù)庫中數(shù)據(jù)及語義的正確性和有效性,防止任何對(duì)數(shù)據(jù)造成錯(cuò)誤的操作。(7)數(shù)據(jù)庫的安全性控制:防止未經(jīng)授權(quán)的用戶蓄謀或無意地存取數(shù)據(jù)庫中的數(shù)據(jù),以免數(shù)據(jù)的泄露、更改或破壞。(8)數(shù)據(jù)庫的存儲(chǔ)管理:把各種DML語句轉(zhuǎn)換成低層的文件系統(tǒng)命令,起到數(shù)據(jù)的存儲(chǔ)、檢索和更新的作用。(9)數(shù)據(jù)庫的維護(hù)功能:它有許多實(shí)用程序提供給數(shù)據(jù)庫管理員如:數(shù)據(jù)裝載程序備份程序、文件重組織程序、性能監(jiān)控程序。(10)數(shù)據(jù)字典:數(shù)據(jù)庫系統(tǒng)中存放三級(jí)結(jié)構(gòu)定義的數(shù)據(jù)庫稱為數(shù)據(jù)字典(DD)。對(duì)數(shù)據(jù)庫的操作都要通過訪問DD才能實(shí)現(xiàn),通常DD中還存放數(shù)據(jù)庫運(yùn)行時(shí)的統(tǒng)計(jì)信息。本系統(tǒng)中所涉及到的MySQL數(shù)據(jù)庫是眾多的關(guān)系型數(shù)據(jù)庫產(chǎn)品中的一個(gè),相比較其它系統(tǒng)而言,MySQL數(shù)據(jù)庫可以稱得上是目前運(yùn)行速度最快的SQL語言數(shù)據(jù)庫。除了具有許多其它數(shù)據(jù)庫所不具備的功能和選擇之外,MySQL數(shù)據(jù)庫是一種完全免費(fèi)的產(chǎn)品,用戶可以直接從網(wǎng)上下載數(shù)據(jù)庫,用于個(gè)人或商業(yè)用途,而不必支付任何費(fèi)用。總體來說,MySQL數(shù)據(jù)庫具有以下主要特點(diǎn):(1)同時(shí)訪問數(shù)據(jù)庫的用戶數(shù)量不受限制;(2)可以保存超過50,000,000條記錄;(3)是目前市場上現(xiàn)有產(chǎn)品中運(yùn)行速度最快的數(shù)據(jù)庫系統(tǒng);(4)用戶權(quán)限設(shè)置簡單、有效。如今,包括Siemens和SiliconGraphics這樣的國際知名公司也開始把MySQL作為其數(shù)據(jù)庫管理系統(tǒng),這就更加證明了MySQL數(shù)據(jù)庫的優(yōu)越性能和廣闊的市場發(fā)展前景。與其他的大型數(shù)據(jù)庫例如Oracle、DB2、SQLServer等相比,MySQL自有它的不足之處,如規(guī)模小、功能有限(MySQLCluster的功能和效率都相對(duì)比較差)等,但是這絲毫也沒有減少它受歡迎的程度。對(duì)于一般的個(gè)人使用者和中小型企業(yè)來說,MySQL提供的功能已經(jīng)綽綽有余,而且由于MySQL是開放源碼軟件,因此可以大大降低總體擁有成本。目前Internet上流行的網(wǎng)站構(gòu)架方式是LAMP和LNMP,即使用Linux作為操作系統(tǒng),Apache和Nginx作為Web服務(wù)器,MySQL作為數(shù)據(jù)庫,PHP/Perl/Python作為服務(wù)器端腳本解釋器。由于這四個(gè)軟件都是免費(fèi)或開放源碼軟件(FLOSS),因此使用這種方式不用花一分錢(除開人工成本)就可以建立起一個(gè)穩(wěn)定、免費(fèi)的網(wǎng)站系統(tǒng)。使用MySQL,安全問題不能不注意。以下是MySQL提示的23個(gè)注意事項(xiàng):(1)如果客戶端和服務(wù)器端的連接需要跨越并通過不可信任的網(wǎng)絡(luò),那么就需要使用SSH隧道來加密該連接的通信。(2)用setpassword語句來修改用戶的密碼,三個(gè)步驟,先“mysql-uroot”登陸數(shù)據(jù)庫系統(tǒng),然后“mysql>updatemysql.usersetpassword=password(’newpwd’)”,最后執(zhí)行“flushprivileges”就可以了。(3)需要提防的攻擊有,防偷聽、篡改、回放、拒絕服務(wù)等,不涉及可用性和容錯(cuò)方面。對(duì)所有的連接、查詢、其他操作使用基于ACL即訪問控制列表的安全措施來完成。也有一些對(duì)SSL連接的支持。(4)除了root用戶外的其他任何用戶不允許訪問MySQL主數(shù)據(jù)庫中的user表;加密后存放在user表中的加密后的用戶密碼一旦泄露,其他人可以隨意用該用戶名/密碼相應(yīng)的數(shù)據(jù)庫;(5)用grant和revoke語句來進(jìn)行用戶訪問控制的工作;(6)不使用明文密碼,而是使用md5()和sha1()等單向的哈希函數(shù)來設(shè)置密碼;(7)不選用字典中的字來做密碼;(8)采用防火墻來去掉50%的外部危險(xiǎn),讓數(shù)據(jù)庫系統(tǒng)躲在防火墻后面工作,或放置在DMZ區(qū)域中;(9)從因特網(wǎng)上用nmap來掃描3306端口,也可用telnetserver_host3306的方法測試,不能允許從非信任網(wǎng)絡(luò)中訪問數(shù)據(jù)庫服務(wù)器的3306號(hào)TCP端口,因此需要在防火墻或路由器上做設(shè)定;(10)為了防止被惡意傳入非法參數(shù),例如whereID=234,別人卻輸入whereID=234OR1=1導(dǎo)致全部顯示,所以在web的表單中使用”或”"來用字符串,在動(dòng)態(tài)URL中加入%22代表雙引號(hào)、%23代表井號(hào)、%27代表單引號(hào);傳遞未檢查過的值給mysql數(shù)據(jù)庫是非常危險(xiǎn)的;(11)在傳遞數(shù)據(jù)給MySQL時(shí)檢查一下大??;(12)應(yīng)用程序需要連接到數(shù)據(jù)庫應(yīng)該使用一般的用戶帳號(hào),只開放少數(shù)必要的權(quán)限給該用戶;(13)在各編程接口(CC++PHPPerlJavaJDBC等)中使用特定‘逃脫字符’函數(shù);在因特網(wǎng)上使用mysql數(shù)據(jù)庫時(shí)一定少用傳輸明文的數(shù)據(jù),而用SSL和SSH的加密方式數(shù)據(jù)來傳輸;(14)學(xué)會(huì)使用tcpdump和strings工具來查看傳輸數(shù)據(jù)的安全性,例如tcpdump-l-ieth0-w-srcordstport3306|strings。以普通用戶來啟動(dòng)mysql數(shù)據(jù)庫服務(wù);(15)不使用到表的聯(lián)結(jié)符號(hào),選用的參數(shù)–skip-symbolic-links;(16)確信在mysql目錄中只有啟動(dòng)數(shù)據(jù)庫服務(wù)的用戶才可以對(duì)文件有讀和寫的權(quán)限;(17)不許將process或super權(quán)限付給非管理用戶,該mysqladminprocesslist可以列舉出當(dāng)前執(zhí)行的查詢文本;super權(quán)限可用于切斷客戶端連接、改變服務(wù)器運(yùn)行參數(shù)狀態(tài)、控制拷貝復(fù)制數(shù)據(jù)庫的服務(wù)器;(18)file權(quán)限不付給管理員以外的用戶,防止出現(xiàn)loaddata‘/etc/passwd’到表中再用select顯示出來的問題;(19)如果不相信DNS服務(wù)公司的服務(wù),可以在主機(jī)名稱允許表中只設(shè)置IP數(shù)字地址;(20)使用max_user_connections變量來使mysqld服務(wù)進(jìn)程,對(duì)一個(gè)指定帳戶限定連接數(shù);(21)grant語句也支持資源控制選項(xiàng);(22)啟動(dòng)mysqld服務(wù)進(jìn)程的安全選項(xiàng)開關(guān),–local-infile=0或1若是0則客戶端程序就無法使用localloaddat了,賦權(quán)的一個(gè)例子grantinsert(user)onmysql.userto‘user_name’@'host_name’;若使用–skip-grant-tables系統(tǒng)將對(duì)任何用戶的訪問不做任何訪問控制,但可以用mysqladminflush-privileges或mysqladminreload來開啟訪問控制;默認(rèn)情況是showdatabases語句對(duì)所有用戶開放,可以用–skip-show-databases來關(guān)閉掉。(23)碰到Error1045(28000)AccessDeniedforuser‘root’@'localhost’(Usingpassword:NO)錯(cuò)誤時(shí),你需要重新設(shè)置密碼,具體方法是:先用–skip-grant-tables參數(shù)啟動(dòng)mysqld,然后執(zhí)行mysql-urootmysql,mysql>updateusersetpassword=password(’newpassword’)whereuser=’root’;mysql>Flushprivileges;,最后重新啟動(dòng)mysql就可以了。1.5.4Dreamweaver是美國MACROMTDIA公司開發(fā)的集網(wǎng)頁制作和管理網(wǎng)站于一身的所見即所得網(wǎng)頁編輯器,它是第一套針對(duì)專業(yè)網(wǎng)頁設(shè)計(jì)師特別發(fā)展的視覺化網(wǎng)頁開發(fā)工具,利用它可以輕而易舉地制作出跨越平臺(tái)限制和跨越瀏覽器限制的充滿動(dòng)感的網(wǎng)頁。Dreamweaver具有靈活的運(yùn)用樣式,熟悉網(wǎng)頁設(shè)計(jì)的網(wǎng)友都知道,調(diào)用Style的方法很多,我們可以單擊鼠標(biāo)右鍵選擇CustonStyle來調(diào)用Style標(biāo)準(zhǔn),也可以直接在狀態(tài)欄中的元素列表上單擊右鍵來調(diào)用Style,直接選擇屬性中想要的效果,可以自動(dòng)生成相對(duì)于的代碼Style,簡潔又方便。雖然不同的方法達(dá)到的效果看似一樣,但實(shí)際上產(chǎn)生的HTML代碼則完全不同。比如用CustonStyle來調(diào)用Style標(biāo)準(zhǔn),在網(wǎng)頁代碼中就生成一個(gè)<span>標(biāo)簽,這樣的標(biāo)簽多了就會(huì)使文件十分臃腫而且影響瀏覽器的解析速度,所以我們應(yīng)盡量避免調(diào)用這種方法來調(diào)用Style。Dreamweaver具有活用的FormatTable命令,在復(fù)雜的網(wǎng)頁設(shè)計(jì)中,表格的應(yīng)用是最多的,因?yàn)槔帽砀窨梢宰杂傻乜刂莆谋竞蛨D像在網(wǎng)頁上出現(xiàn)的具體位置,從而使整個(gè)網(wǎng)頁看上去緊湊統(tǒng)一。Dreamweaver在這方面也不甘落后,我們可以使用其中的“FormatTable”(格式化表格)命令來快速地對(duì)表格應(yīng)用預(yù)先設(shè)計(jì)好的樣式。Dreamweaver具有拖放自如的特點(diǎn),在使用Dreamweaver編輯網(wǎng)頁的時(shí)候,經(jīng)常需要插入一些圖像什么的,假設(shè)要插入的圖像很多,按照常規(guī)方法來操作就顯得非常麻煩。我們可以利用拖放技巧來很好地解決這個(gè)問題。首先我們把Dreamweaver的操作窗口變成活動(dòng)窗口,以騰出空間來顯示Explorer窗口,找到要插入的圖像文件后,把它們一一用鼠標(biāo)拖動(dòng)到網(wǎng)頁的適當(dāng)部位,Dreamweaver將自動(dòng)把這些圖像URL添加到文件的HTML代碼中,當(dāng)然這里要求被拖動(dòng)的圖象文件必須是gif、jpg等web圖像格式的文件。軟件缺點(diǎn):1.效果難一致難以精確達(dá)到與瀏覽器完全一致的顯示效果也就是說您在所見即所得網(wǎng)頁編輯器中制作的網(wǎng)頁放到瀏覽器中是很難完全達(dá)到您真正想要的效果,這一點(diǎn)在結(jié)構(gòu)復(fù)雜一些的網(wǎng)頁(如分幀結(jié)構(gòu)、動(dòng)態(tài)網(wǎng)頁結(jié)構(gòu))中便可以體現(xiàn)出來;2.代碼難控制頁面原始代碼的難以控制性,比如您在所見即所得編輯器中制作一張表格也要幾分鐘,但您要它完全符合您要求可能需要幾十分鐘,甚至更多時(shí)間。而相比之下,非所見所得的網(wǎng)頁編輯器,就不存在這個(gè)問題,因?yàn)樗械腍TML代碼都在您的監(jiān)控下產(chǎn)生,但是由于非所見所得編輯器的先天條件就注定了它的工作低效率。如何實(shí)現(xiàn)兩者的完美結(jié)合,則既產(chǎn)生干凈、準(zhǔn)確的HTML代碼,又具備所見所得的高效率、直觀性,一直是網(wǎng)頁設(shè)計(jì)師夢想。在DREAMWEAVER之前,F(xiàn)RONTPAGE98一直被人們認(rèn)為是最好的所見即所得網(wǎng)頁編輯器,但是它同樣繼承了所見即所得的種種劣性。1.5.Tomcat是Apache軟件基金會(huì)(ApacheSoftwareFoundation)的Jakarta項(xiàng)目中的一個(gè)核心項(xiàng)目,由Apache、Sun和其他一些公司及個(gè)人共同開發(fā)而成。由于有了Sun的參與和支持,最新的Servlet和JSP規(guī)范總是能在Tomcat中得到體現(xiàn),Tomcat5支持最新的Servlet2.4和JSP2.0規(guī)范。因?yàn)門omcat技術(shù)先進(jìn)、性能穩(wěn)定,而且免費(fèi),因而深受Java愛好者的喜愛并得到了部分軟件開發(fā)商的認(rèn)可,成為目前比較流行的Web應(yīng)用服務(wù)器。Tomcat是一個(gè)輕量級(jí)應(yīng)用服務(wù)器,在中小型系統(tǒng)和并發(fā)訪問用戶不是很多的場合下被普遍使用,是開發(fā)和調(diào)試JSP程序的首選。對(duì)于一個(gè)初學(xué)者來說,可以這樣認(rèn)為,當(dāng)在一臺(tái)機(jī)器上配置好Apache服務(wù)器,可利用它響應(yīng)對(duì)HTML頁面的訪問請(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)行的。1.通過server.xml配置Tomcatserver.xml是Tomcat的重要配置文件,平時(shí)所說的Tomcat的配置(如虛擬主機(jī)的配置、連接端口設(shè)置等)其實(shí)就是指配置server.xml,server.xml中的元素大體可以分為4類,如下:頂層元素:位于整個(gè)配置文件的頂層,主要有<Server>元素與<Service>。連接器類元素:它是客戶和服務(wù)(容器類元素)間的通信接口,負(fù)責(zé)接收客戶請(qǐng)求與向客戶返回的響應(yīng)結(jié)果,主要有<Connector>元素。容器類元素:負(fù)責(zé)處理客戶請(qǐng)求并且生成響應(yīng)結(jié)果,主要有<Engine>元素、<Host>元素與<Context>元素。嵌套類元素:可以加入到容器中的元素,主要有<logger>元素、<Valve>元素、<Realm>元素等。2.Tomcat的層次結(jié)構(gòu)(1)Server層對(duì)應(yīng)Server組件,邏輯上表示整個(gè)Tomcat,即整個(gè)CatalinaServlet容器。它處于Tomcat頂層,可以包含一個(gè)或多個(gè)Service層。Tomcat提供了該層接口的一個(gè)默認(rèn)實(shí)現(xiàn),所以通常不需要用戶自己去實(shí)現(xiàn)。(2)Service層對(duì)應(yīng)Service組件,是包含在Server層中的一個(gè)邏輯功能層。它包含一個(gè)Engine層,以及一個(gè)或多個(gè)連接器(Connector)。Service組件將一個(gè)或多個(gè)Connector組件綁定到Engine層上,Connector組件偵聽端口,獲得用戶請(qǐng)求,并將請(qǐng)求交給Engine層處理,同時(shí)把處理結(jié)果發(fā)給用戶,從而實(shí)現(xiàn)一個(gè)特定的實(shí)際功能。Tomcat提供了Service接口的默認(rèn)實(shí)現(xiàn),所以通常也不需要用戶定制。(3)Engine層對(duì)應(yīng)Engine組件,該層是請(qǐng)求分發(fā)處理層,可以連接多個(gè)Connector。它從Connector接收請(qǐng)求后,解析出可以完成用戶請(qǐng)求的URL,根據(jù)該URL可以把請(qǐng)求匹配到正確的Host上,當(dāng)Host處理完用戶請(qǐng)求后,Engine層把結(jié)果返回給適合的連接器,再由連接器傳輸給用戶。該層的接口一般不需要用戶來定制,特殊情況下,用戶可以通過實(shí)現(xiàn)該接口來提供自定義的引擎。(4)Host層對(duì)應(yīng)Host組件,該層表示一個(gè)虛擬主機(jī),一個(gè)Engine層可以包含多個(gè)Host層,每個(gè)Host層可以包含一個(gè)或多個(gè)Context層,對(duì)應(yīng)不同的Web應(yīng)用。因?yàn)門omcat給出的Host接口的實(shí)現(xiàn)(類StandardHost)提供了重要的附加功能,所以用戶通常不需要定制Host。(5)Context層對(duì)應(yīng)Context組件,該層代表某個(gè)虛擬主機(jī)上的實(shí)際目錄或一個(gè)WAR,即單個(gè)Web應(yīng)用程序,它運(yùn)行在特定的虛擬主機(jī)中,使用最為頻繁。一個(gè)Host層包含多個(gè)Context層,每一個(gè)Context都有唯一的路徑,Host層接到請(qǐng)求后,根據(jù)用戶請(qǐng)求的URL,將請(qǐng)求定位到Context層。3.Tomcat服務(wù)器的各個(gè)組件響應(yīng)客戶請(qǐng)求的過程Connector負(fù)責(zé)接收客戶的請(qǐng)求并向客戶返回響應(yīng)結(jié)果,在同一個(gè)Service中多個(gè)Connector共享一個(gè)Engine。同一個(gè)Engine中可以有多個(gè)Host,同一個(gè)Host中包含多個(gè)Context。在圖1.2中,Web客戶1和客戶2直接訪問Tomcat服務(wù)器上的JSP和htm組件,他們訪問的URL為http://localhost:8080/index.jsp。圖1.2客戶請(qǐng)求的過程圖下面介紹在DOS窗口下運(yùn)行Tomcat步驟:(1)在“開始”按鈕的“運(yùn)行”框中鍵入CMD以打開一個(gè)DOS窗口。(2)鍵入RunAs/user:“ITOMCAT_計(jì)算機(jī)名CMD.exe”命令。(3)在詢問“ITOMCAT_計(jì)算機(jī)名”用戶的密碼時(shí)輸入設(shè)置的密碼。(4)這將打開一個(gè)新的DOS窗口。(5)在新開的DOS窗口中,轉(zhuǎn)換到Tomcat的bin文件夾內(nèi)。(6)鍵入“catalinarun”命令。(7)關(guān)閉第一個(gè)DOS窗口。1.5.6開發(fā)工具之B/S結(jié)構(gòu),即Browser/Server(瀏覽器/服務(wù)器)結(jié)構(gòu),是隨著Internet技術(shù)的興起,對(duì)C/S結(jié)構(gòu)的一種變化或者改進(jìn)的結(jié)構(gòu)。在這種結(jié)構(gòu)下,用戶界面完全通過WWW瀏覽器實(shí)現(xiàn),一部分事務(wù)邏輯在前端實(shí)現(xiàn),但是主要事務(wù)邏輯在服務(wù)器端實(shí)現(xiàn),形成所謂3-tier結(jié)構(gòu)。B/S結(jié)構(gòu),主要是利用了不斷成熟的WWW瀏覽器技術(shù),結(jié)合瀏覽器的多種Script語言(VBScript、JavaScript)和ActiveX技術(shù),用通用瀏覽器就實(shí)現(xiàn)了原來需要復(fù)雜專用軟件才能實(shí)現(xiàn)的強(qiáng)大功能,并節(jié)約了開發(fā)成本,是一種全新的軟件系統(tǒng)構(gòu)造技術(shù)。隨著Windows98/Windows2000將瀏覽器技術(shù)植入操作系統(tǒng)內(nèi)部,這種結(jié)構(gòu)更成為當(dāng)今應(yīng)用軟件的首選體系結(jié)構(gòu)。顯然B/S結(jié)構(gòu)應(yīng)用程序相對(duì)于傳統(tǒng)的C/S結(jié)構(gòu)應(yīng)用程序?qū)⑹蔷薮蟮倪M(jìn)步。B/S結(jié)構(gòu)采用星形拓?fù)浣Y(jié)構(gòu)建立企業(yè)內(nèi)部通信網(wǎng)絡(luò)或利用Internet虛擬專網(wǎng)(VPN)。前者的特點(diǎn)是安全、快捷、準(zhǔn)確。后者則具有節(jié)省投資、跨地域廣的優(yōu)點(diǎn)。須視企業(yè)規(guī)模和地理分布確定。企業(yè)內(nèi)部通過防火墻接入Internet,在整個(gè)網(wǎng)絡(luò)采用TCP/IP協(xié)議。B/S架構(gòu)具備極大的優(yōu)越性:1.面向電子商務(wù)時(shí)代的技術(shù)將來所有的應(yīng)用系統(tǒng)幾乎都在互聯(lián)網(wǎng)或企業(yè)內(nèi)部廣域網(wǎng)上運(yùn)行,發(fā)展電子商務(wù)成為企業(yè)不可避免的信息化道路。B/S架構(gòu)的軟件正是電子商務(wù)的基石,正是這類軟件使得移動(dòng)辦公和分布式協(xié)同工作真正成為現(xiàn)實(shí)。無論在世界的那個(gè)角落,只需要一臺(tái)可以聯(lián)網(wǎng)的設(shè)備(計(jì)算機(jī)、PDA甚至手機(jī))都可以方便地與客戶聯(lián)系和與他人協(xié)同工作。2.軟件操作、維護(hù)和升級(jí)方式的革命軟件系統(tǒng)的改進(jìn)和升級(jí)越來越頻繁,B/S架構(gòu)的產(chǎn)品在維護(hù)和升級(jí)方面具備顯著的優(yōu)勢。無論用戶的規(guī)模有多大,有多少分支機(jī)構(gòu)都不會(huì)增加任何維護(hù)升級(jí)的工作量,所有的操作只對(duì)服務(wù)器進(jìn)行,通過遠(yuǎn)程連接服務(wù)器,異地的運(yùn)維人員甚至于可以做到遠(yuǎn)程維護(hù)和升級(jí),這對(duì)人力、時(shí)間、費(fèi)用的節(jié)省是相當(dāng)驚人的。所有的客戶端只是瀏覽器,所有的操作都和上網(wǎng)瀏覽網(wǎng)頁類似,使用者接受的培訓(xùn)也僅限于業(yè)務(wù)邏輯而無需將大量精力浪費(fèi)學(xué)習(xí)軟件操作上。3.系統(tǒng)整合無論是辦公自動(dòng)化OA系統(tǒng),人力資源HR系統(tǒng),客戶關(guān)系管理CRM系統(tǒng)等,發(fā)展的趨勢是不斷融合。而采用統(tǒng)一的B/S結(jié)構(gòu)開發(fā)的產(chǎn)品無論是現(xiàn)在還是將來都是最好的選擇,它提供了真正意義上無縫地與其它系統(tǒng)進(jìn)行整合的方案。B/S結(jié)構(gòu)如圖1.3所示,它采用星形拓?fù)浣Y(jié)構(gòu)建立企業(yè)內(nèi)部通信網(wǎng)絡(luò)或利用Internet虛擬專網(wǎng)(VPN)。前者的特點(diǎn)是安全、快捷、準(zhǔn)確。后者則具有節(jié)省投資、跨地域廣的優(yōu)點(diǎn)。須視企業(yè)規(guī)模和地理分布確定。企業(yè)內(nèi)部通過防火墻接入Internet,在整個(gè)網(wǎng)絡(luò)采用TCP/IP協(xié)議。圖1.3B/S結(jié)構(gòu)圖1.5.7開發(fā)工具之JavaBean是一種JAVA語言寫成的可重用組件,是使用java.beans包開發(fā)的,它是Java2標(biāo)準(zhǔn)版的一部分。JavaBean是一臺(tái)機(jī)器上同一個(gè)地址空間中運(yùn)行的組件。JavaBean是進(jìn)程內(nèi)組件。EnterpriseBean是使用javax.ejb包開發(fā)的,它是標(biāo)準(zhǔn)JDK的擴(kuò)展,是Java2EnterpriseEdition的一部分。為寫成JavaBean,類必須是具體的和公共的,并且具有無參數(shù)的構(gòu)造器。JavaBeans通過提供符合一致性設(shè)計(jì)模式的公共方法將內(nèi)部域暴露稱為屬性。眾所周知,屬性名稱符合這種模式,其他Java類可以通過自省機(jī)制發(fā)現(xiàn)和操作這些JavaBean屬性。用戶可以使用JavaBean將功能、處理、值、數(shù)據(jù)庫訪問和其他任何可以用java代碼創(chuàng)造的對(duì)象進(jìn)行打包,并且其他的開發(fā)者可以通過內(nèi)部的JSP頁面、Servlet、其他JavaBean、applet程序或者應(yīng)用來使用這些對(duì)象。用戶可以認(rèn)為JavaBean提供了一種隨時(shí)隨地的復(fù)制和粘貼的功能,而不用關(guān)心任何改變。JavaBean是Sun微系統(tǒng)的一個(gè)面向?qū)ο蟮木幊探涌?,它可以讓你建可重用?yīng)用程序或能在網(wǎng)絡(luò)中任何主流操作系統(tǒng)平臺(tái)上配置的程序塊,稱作組件。像Javaapplet一樣,JavaBeans組件(或Beans)能夠給予萬維網(wǎng)頁面交互的能力,例如:計(jì)算感興趣的比率或是根據(jù)用戶或?yàn)g覽器的特性改變頁面內(nèi)容。從用戶的觀點(diǎn)來看,一個(gè)組件可以是一個(gè)與你交互的按鈕或是一個(gè)當(dāng)你按下按鈕它便開始的小計(jì)算程序。用戶可以使用JavaBean將功能、處理、值、數(shù)據(jù)庫訪問和其他任何可以用java代碼創(chuàng)造的對(duì)象進(jìn)行打包,并且其他的開發(fā)者可以通過內(nèi)部的JSP頁面、Servlet、其他JavaBean、applet程序或者應(yīng)用來使用這些對(duì)象。用戶可以認(rèn)為JavaBean提供了一種隨時(shí)隨地的復(fù)制和粘貼的功能,而不用關(guān)心任何改變。從一個(gè)開發(fā)者的觀點(diǎn)來看,那個(gè)按鈕組件和計(jì)算器組件是分別被創(chuàng)建的,并且他們可以一起使用或是在不同的應(yīng)用程序或情況下和不同的組件產(chǎn)生不同的組合來使用。JavaBean可分為兩種:一種是有用戶界面(UI,UserInterface)的JavaBean;還有一種是沒有用戶界面,主要負(fù)責(zé)處理事務(wù)(如數(shù)據(jù)運(yùn)算,操縱數(shù)據(jù)庫)的JavaBean。JSP通常訪問的是后一種JavaBean。2系統(tǒng)分析2.1系統(tǒng)功能概述系統(tǒng)主要完成兩大功能:面向非會(huì)員和會(huì)員的前臺(tái)功能和面向系統(tǒng)管理員的后臺(tái)功能。非會(huì)員即沒有在本網(wǎng)站進(jìn)行注冊的用戶,可以進(jìn)行歌曲的瀏覽跟點(diǎn)播。會(huì)員即在本網(wǎng)站進(jìn)行注冊過的用戶,在登錄之后可以進(jìn)行歌曲的下載、上傳、點(diǎn)播、分享。系統(tǒng)管理員即數(shù)據(jù)庫管理員,可以在后臺(tái)進(jìn)行數(shù)據(jù)庫的管理。2.1.1系統(tǒng)前臺(tái)功能概述在前臺(tái),系統(tǒng)主要提供以下服務(wù):(1)非會(huì)員瀏覽和點(diǎn)播歌曲。(2)會(huì)員瀏覽和點(diǎn)播歌曲外還可以下載和上傳自己喜歡的歌曲。(3)會(huì)員可以管理自己的信息和自己上傳歌曲的信息。2.1.2系統(tǒng)后臺(tái)功能概述在后臺(tái),管理員可進(jìn)行如下操作:(1)瀏覽和點(diǎn)播歌曲。(2)管理歌曲信息,包括上傳、下載、修改和刪除歌曲。(3)管理會(huì)員信息,包括增加、修改和刪除會(huì)員信息。2.2可行性研究《在線音樂管理系統(tǒng)》主要從行業(yè)市場背景、資源供應(yīng)、建設(shè)規(guī)模、工藝路線、設(shè)備選型、人力定員、環(huán)境影響、資金籌措、財(cái)務(wù)能力等方面進(jìn)行充分的論證和可行性研究,從技術(shù)、經(jīng)濟(jì)、工程等方面進(jìn)行調(diào)查研究和分析比較,并對(duì)項(xiàng)目建成以后可能取得的財(cái)務(wù)、經(jīng)濟(jì)效益及社會(huì)環(huán)境影響進(jìn)行預(yù)測,從而提出該項(xiàng)目是否值得投資和如何進(jìn)行建設(shè)的咨詢意見,為項(xiàng)目決策提供依據(jù)的一種綜合性的系統(tǒng)分析方法。

《在線音樂管理系統(tǒng)》用于多方面的專業(yè)運(yùn)用,包括:用于向國家相關(guān)政府部門申請(qǐng)立項(xiàng);向金融部門申請(qǐng)貸款的重要依據(jù);向有關(guān)主管部門申請(qǐng)專項(xiàng)資金的重要依據(jù);向證監(jiān)會(huì)申請(qǐng)股票上市的重要依據(jù);向國土部門、開發(fā)區(qū)、工業(yè)園申請(qǐng)用地的重要依據(jù);與項(xiàng)目有關(guān)的部門簽訂合作,協(xié)作合同或協(xié)議的依據(jù);進(jìn)口設(shè)備和對(duì)外談判的依據(jù);環(huán)境部門審查項(xiàng)目對(duì)環(huán)境影響的依據(jù)。

該網(wǎng)站的可行性分析包括以下幾個(gè)方面的內(nèi)容:2.2.1經(jīng)濟(jì)可行性本系統(tǒng)開發(fā)所用的軟件都是免費(fèi)的,極大地節(jié)省了資金。根據(jù)對(duì)網(wǎng)絡(luò)上各音樂網(wǎng)站的調(diào)查分析表明,現(xiàn)在隨著人民生活水平的不斷提高,家庭電腦的普及使得越來越多的人選擇利用網(wǎng)絡(luò)這一媒體來與世界交流,很多人有能力并且也愿意以網(wǎng)上娛樂的方式消費(fèi)。所以在這樣的背景下設(shè)計(jì)開發(fā)一個(gè)在線音樂點(diǎn)播系統(tǒng)在經(jīng)濟(jì)上是可行的。2.2.2技術(shù)可行性技術(shù)可行性要考慮現(xiàn)有的技術(shù)條件是否能夠順利完成開發(fā)工作,軟硬件配置是否滿足開發(fā)的需求等。本系統(tǒng)用的是JSP開發(fā)語言,調(diào)試相對(duì)簡單,當(dāng)前的計(jì)算機(jī)硬件配置也完全能滿足開發(fā)的需求,因此在技術(shù)上是絕對(duì)可行的。軟件方面:由于目前單機(jī)模式相對(duì)發(fā)展成熟,故軟件的開發(fā)平臺(tái)成熟可行,它們速度快、容量大、可靠性能高、價(jià)格低,完全能滿足系統(tǒng)的需求。本系統(tǒng)的開發(fā),是采用JSP編程語言,已無技術(shù)上的問題。而且本人經(jīng)過四年的大學(xué)學(xué)習(xí)對(duì)JSP技術(shù)進(jìn)行了深入的學(xué)習(xí)。還系統(tǒng)學(xué)習(xí)了MySQL和SQLServer2000數(shù)據(jù)庫,具備了軟件開發(fā)的系統(tǒng)知識(shí),擁有網(wǎng)站開發(fā)的相關(guān)知識(shí)及經(jīng)驗(yàn)。設(shè)計(jì)開發(fā)一個(gè)在線音樂點(diǎn)播系統(tǒng)在技術(shù)上是可行的。2.2.3法律可行性(1)所有技術(shù)資料都為合法。(2)開發(fā)過程中不存在知識(shí)產(chǎn)權(quán)問題。(3)未抄襲任何系統(tǒng),不存在侵犯版權(quán)問題。(4)開發(fā)過程中未涉及任何法律責(zé)任。綜上所述,本系統(tǒng)的開發(fā)從技術(shù)上、從經(jīng)濟(jì)上、從法律上等都是完全可靠的。2.3需求分析在系統(tǒng)功能概述中已經(jīng)粗略的研究了該項(xiàng)目的主要功能,可行性研究中分析了開發(fā)平臺(tái)及本網(wǎng)站的可行性,但為了準(zhǔn)確的確定目標(biāo)系統(tǒng)必須做什么,了解用戶的明確需求,在充分研究先有的在線音樂管理系統(tǒng)的基礎(chǔ)上,進(jìn)一步明確了網(wǎng)站的功能需求。音樂網(wǎng)站是網(wǎng)絡(luò)音樂的發(fā)展平臺(tái),過去,音樂網(wǎng)站功能較為單一,但隨著網(wǎng)絡(luò)技術(shù)的發(fā)展,用戶對(duì)音樂網(wǎng)站的要求逐漸提高,音樂網(wǎng)站由此也逐漸出現(xiàn)了更多采用較為優(yōu)雅的開發(fā)工具來設(shè)計(jì)的音樂網(wǎng)站,在制作之前,要明確網(wǎng)站能做些什么事情,也就是所謂的需求。所以必須把需求做清楚,然后才能進(jìn)行設(shè)計(jì)。其實(shí)音樂網(wǎng)站讓大家所熟悉的就是用戶瀏覽和傾聽音樂,使人們能夠在線傾聽和下載音樂,同時(shí)為了避免出現(xiàn)一些問題,這就需要管理員對(duì)用戶和網(wǎng)站的內(nèi)容進(jìn)行管理。我們要做一個(gè)音樂網(wǎng)站,在這里用戶可以注冊,傾聽音樂和下載音樂,管理人員可以修改出現(xiàn)的一些問題,如管理注冊用戶和版面。本音樂網(wǎng)站應(yīng)該滿足如下需求:(1)允許訪問者執(zhí)行基本操作。(2)允許訪問者在網(wǎng)站上注冊。(3)注冊用戶登錄后,可以對(duì)音樂、歌手和專輯進(jìn)行在線評(píng)論(4)管理人員可以維護(hù)用戶細(xì)節(jié)和管理歌曲、歌手等信息。系統(tǒng)功能包括普通用戶功能、登錄用戶功能、管理員功能,具體要求如下所示:1.普通用戶功能(1)瀏覽網(wǎng)站上的專輯、歌手和歌曲信息。(2)可以查詢歌曲名等相關(guān)信息。(3)可以在線試聽歌曲。(4)可以進(jìn)行注冊。2.登錄用戶功能(1)普通用戶的所有功能。(2)可以對(duì)專輯、歌手或歌曲發(fā)表評(píng)論。3.管理員功能(1)添加、刪除、修改和查詢歌曲信息。(2)查看、刪除、修改和用戶信息。(3)添加、刪除、修改和查詢管理員信息。(4)查看和刪除用戶評(píng)論信息。2.3.1系統(tǒng)主要需求描述前臺(tái)首頁。系統(tǒng)首頁是整個(gè)網(wǎng)站的起始頁,要求做到界面簡潔、美觀大方,同時(shí)要具備整個(gè)系統(tǒng)主要功能的超級(jí)鏈接,以方便用戶使用。主要功能包括:歌曲類型的顯示、歌曲的顯示、查詢歌曲、點(diǎn)播歌曲、會(huì)員登錄后的下載歌曲。上傳歌曲。上傳歌曲要先將需要上傳的歌曲上傳到后臺(tái)中,然后再添加上傳的歌曲的信息,歌曲才能在首頁顯示。管理我的歌曲。管理我的歌曲頁面用于顯示會(huì)員所上傳的歌曲,在其可修改、查看和刪除所上傳的歌曲。個(gè)人信息。個(gè)人信息頁面用于顯示會(huì)員的個(gè)人信息,并可點(diǎn)擊修改。2.3.2數(shù)據(jù)流圖根據(jù)需求分析結(jié)果,得到該網(wǎng)站的頂層數(shù)據(jù)流圖和底層數(shù)據(jù)流圖。頂層數(shù)據(jù)流圖如圖2.1所示:圖2.1在線音樂點(diǎn)播系統(tǒng)頂層數(shù)據(jù)流圖頂層數(shù)據(jù)流圖只含有一個(gè)加工表示整個(gè)系統(tǒng);輸出數(shù)據(jù)流和輸入數(shù)據(jù)流為系統(tǒng)的輸入數(shù)據(jù)和輸出數(shù)據(jù),表明系統(tǒng)的范圍,以及與外部環(huán)境的數(shù)據(jù)交換關(guān)系。具體圖解如圖2.2所示:圖2.2底層數(shù)據(jù)流圖上傳與下載歌曲的數(shù)據(jù)流圖用來表示對(duì)上傳之后的歌曲文件進(jìn)行下載和刪除的功能,會(huì)員登錄之后可以在自己的音樂盒中刪除添加之后的音樂,也可以點(diǎn)擊歌曲鏈接進(jìn)行歌曲的下載。具體圖解如圖2.3所示:圖2.3上傳、下載歌曲處理數(shù)據(jù)流圖歌曲信息處理的數(shù)據(jù)流圖用來表示上傳歌曲的具體信息,具體圖解如圖2.4所示:圖2.4歌曲信息處理數(shù)據(jù)流圖2.3.3數(shù)據(jù)字典數(shù)據(jù)字典:是一種用戶可以訪問的記錄數(shù)據(jù)庫和應(yīng)用程序元數(shù)據(jù)的目錄,數(shù)據(jù)字典中的名字都是一些屬性與內(nèi)容的抽象和概括,它們的特點(diǎn)是數(shù)據(jù)的“嚴(yán)密性”和“精確性”,數(shù)據(jù)字典有數(shù)據(jù)項(xiàng)、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)流、數(shù)據(jù)存儲(chǔ)、處理過程組成。根據(jù)上述數(shù)據(jù)流圖,得到如下數(shù)據(jù)字典。首先建立歌曲文件信息數(shù)據(jù)流表,用來表示上傳歌曲的文件名以及歌曲發(fā)布者等信息,具體字段如表2.1所示:表2.1歌曲文件信息數(shù)據(jù)流表數(shù)據(jù)流名稱任務(wù)信息別名無簡述歌曲員文件的信息來源歌曲發(fā)布者去向加工2.1上傳歌曲數(shù)據(jù)流量較多組成歌曲源文件其次建立歌曲信息數(shù)據(jù)流表,用來表示歌曲的編號(hào)、歌名、演唱者、上傳者、上傳時(shí)間、上傳文件、簡介、歌曲類型等信息,具體字段如表2.2所示:表2.2歌曲信息數(shù)據(jù)流表數(shù)據(jù)流名稱任務(wù)信息別名無簡述上傳歌曲時(shí)所填寫內(nèi)容來源歌曲發(fā)布者去向加工3.1歌曲信息發(fā)布數(shù)據(jù)流量較多組成歌曲編號(hào)、歌名、演唱者、上傳者、上傳時(shí)間、上傳文件、簡介、歌曲類型接下來建立歌曲編號(hào)數(shù)據(jù)流表,此表用來表示歌曲標(biāo)號(hào)的取值范圍,具體字段如表2.3所示:表2.3歌曲編號(hào)數(shù)據(jù)流表數(shù)據(jù)項(xiàng)名稱歌曲編號(hào)別名Songinfo_ID簡述任務(wù)的唯一標(biāo)識(shí)類型Int長度8位取值范圍及含義取值范圍:10000009-99999999建立音樂信息表數(shù)據(jù)庫條目表,具體字段如表2.4所示:2.4音樂信息表數(shù)據(jù)庫條目表數(shù)據(jù)存儲(chǔ)名稱歌曲信息表別名Songinfo簡述存儲(chǔ)歌曲信息組成歌曲編號(hào)、歌名、演唱者、上傳者、上傳時(shí)間、點(diǎn)擊次數(shù),上傳文件組織方式索引文件,以任務(wù)編號(hào)為主索引,任務(wù)名稱為候選索引查詢要求要求能夠快速查詢建立上傳歌曲文件加工條目,用來表示上傳歌曲的狀態(tài),具體字段如表2.5所示:表2.5上傳歌曲文件加工條目加工名稱上傳歌曲文件編號(hào)2.1激活條件必須是會(huì)員或管理員優(yōu)先級(jí)普通輸入歌曲源文件輸出歌曲上傳成功加工邏輯1、用戶信息審核;2、上傳歌曲建立下載歌曲文件加工條目,用來表示下載歌曲的狀態(tài),具體字段如表2.6所示:表2.6下載歌曲文件加工條目加工名稱下載歌曲文件編號(hào)2.2激活條件必須是會(huì)員或管理員優(yōu)先級(jí)普通輸入下載歌曲輸出歌曲文件加工邏輯1、用戶信息審核;2、下載歌曲建立刪除歌曲文件加工條目,此表用來表示如何去刪除自己音樂盒的音樂文件,具體字段如表2.7所示:表2.7刪除歌曲文件加工條目加工名稱刪除歌曲文件編號(hào)2.3激活條件必須是會(huì)員或管理員優(yōu)先級(jí)普通輸入無輸出無加工邏輯1、用戶信息審核;2、刪除歌曲建立歌曲信息發(fā)布條目,用來表示歌曲在發(fā)布之后文件信息的展示狀態(tài),具體字段如表2.8所示:表2.8歌曲信息發(fā)布加工條目加工名稱歌曲信息發(fā)布編號(hào)3.1激活條件必須是會(huì)員或管理員優(yōu)先級(jí)普通輸入歌曲信息輸出歌曲信息處理結(jié)果加工邏輯1、用戶信息審核;2、發(fā)布歌曲信息建立修改歌曲信息加工條目,用來表示如何在后臺(tái)修改歌曲文件的各個(gè)信息,具體字段如表2.9所示:表2.9修改歌曲信息加工條目加工名稱修改歌曲信息編號(hào)3.2激活條件必須是會(huì)員或管理員優(yōu)先級(jí)普通輸入修改的歌曲信息輸出歌曲信息修改處理結(jié)果加工邏輯1、用戶信息審核;2、修改歌曲信息建立刪除歌曲信息加工條目,用來表示如何在后臺(tái)刪除歌曲文件的各個(gè)信息,具體字段如表2.10所示:表2.10刪除歌曲信息加工條目加工名稱刪除歌曲信息編號(hào)3.3激活條件必須是會(huì)員或管理員優(yōu)先級(jí)普通輸入無輸出無加工邏輯1、用戶信息審核;2、刪除歌曲信息3概要設(shè)計(jì)3.1系統(tǒng)總體結(jié)構(gòu)圖經(jīng)過分析系統(tǒng)前臺(tái)總體結(jié)構(gòu)如圖3.1所示:圖3.1在線音樂點(diǎn)播系統(tǒng)前臺(tái)功能結(jié)構(gòu)圖網(wǎng)站后臺(tái)總體結(jié)構(gòu)圖如圖3.2所示:圖3.2在線音樂點(diǎn)播系統(tǒng)后臺(tái)功能結(jié)構(gòu)圖3.2數(shù)據(jù)庫概念設(shè)計(jì)根據(jù)數(shù)據(jù)流圖和數(shù)據(jù)字典,得到系統(tǒng)數(shù)據(jù)庫的E-R圖模型如圖3.3所示:(1)實(shí)體:用矩形表示,矩形框內(nèi)寫明實(shí)體名。(2)屬性:用橢圓形表示,并用無向邊與其相應(yīng)實(shí)體連接起來。(3)聯(lián)系:用菱形表示,菱形框內(nèi)寫明聯(lián)系名,并用無向邊與其有關(guān)實(shí)體連接起來。前臺(tái)用戶E-R圖如圖3.3所示:用戶名用戶名密碼用戶操作功能最新歌曲全部分類搜索歌曲注冊會(huì)員收聽音樂 圖3.3前臺(tái)E-R圖后臺(tái)E-R圖如圖3.4所示:用戶名用戶名密碼管理員查看信息評(píng)論管理分類管理歌曲管理用戶管理系統(tǒng)維護(hù)維護(hù)內(nèi)容修改密碼添加管理員修改用戶名刪除管理員 圖3.4后臺(tái)E-R圖4詳細(xì)設(shè)計(jì)4.1數(shù)據(jù)庫物理設(shè)計(jì)在數(shù)據(jù)庫概念設(shè)計(jì)的基礎(chǔ)上,數(shù)據(jù)庫表設(shè)計(jì)如下:1.userinfo(用戶表):表4.1中存儲(chǔ)的是管理員和會(huì)員的信息,包括:字段名、數(shù)據(jù)類型、字段大小、字段說明、是否為主鍵。表4.1userinfo(用戶表)字段名數(shù)據(jù)類型字段大小字段說明是否為主鍵Id自動(dòng)編號(hào)長整型歌曲類型ID編號(hào)是typename備注65536歌曲類型否Songinfo(歌曲信息表):表4.2中存放的是歌曲的相關(guān)信息,包括:字段名、數(shù)據(jù)類型、字段大小、字段說明、是否為主鍵。表4.2songinfo(歌曲信息表)字段名數(shù)據(jù)類型字段大小字段說明是否為主鍵Id自動(dòng)編號(hào)長整型歌曲ID編號(hào)是Sname備注65536歌曲名稱否Songer備注65536演唱者否Uploader備注65536上傳者否Stype備注65536歌曲類型否uploadtime日期和時(shí)間8上傳時(shí)間否Note備注65536歌曲簡介否Spath備注65536歌曲文件否clickcount數(shù)字長整型點(diǎn)擊次數(shù)否3.songtype(歌曲類型表):表4.3中存放的是歌曲類型的信息,包括:字段名、數(shù)據(jù)類型、字段大小、字段說明、是否為主鍵。表4.3songtype(歌曲類型表)字段名數(shù)據(jù)類型字段大小字段說明是否為主鍵Id自動(dòng)編號(hào)長整型歌曲類型ID編號(hào)是typename備注65536歌曲類型否4.2系統(tǒng)主要模塊的設(shè)計(jì)4.2.1會(huì)員模塊設(shè)計(jì)在會(huì)員模塊中,首先要判斷是否是網(wǎng)站的會(huì)員。如果是普通的用戶,那他們的權(quán)限是有限的,只能瀏覽、搜索歌曲以及歌曲的試聽,但要是會(huì)員的話,除了上述的功能還可以上傳和下載歌曲,也可以管理自己上傳的歌曲信息和個(gè)人信息。圖4.1為會(huì)員模塊的流程圖。開始開始是否是會(huì)員輸入用戶名和密碼是是否正確否上傳歌曲下載歌曲點(diǎn)播歌曲搜索歌曲是管理我的歌曲管理個(gè)人信息否結(jié)束圖4.1會(huì)員模塊流程圖4.2.2管理員模塊設(shè)計(jì)管理員在后臺(tái)數(shù)據(jù)庫管理中首先需要輸入用戶個(gè)密碼確認(rèn)是否為管理員,其次才可以對(duì)歌曲與會(huì)員的信息加以管理與修改。圖4.2為管理員模塊的流程圖。開始是否是管理員開始是否是管理員輸入用戶名和密碼是是否正確否上傳歌曲下載歌曲點(diǎn)播歌曲搜索歌曲是管理我的歌曲管理個(gè)人信息管理用戶結(jié)束圖4.2管理員模塊流程圖5系統(tǒng)的實(shí)現(xiàn)5.1系統(tǒng)母版頁的實(shí)現(xiàn)瀏覽一些典型的大型Web網(wǎng)站時(shí),用戶可以發(fā)現(xiàn)這些站點(diǎn)幾乎都包含類似的外觀,頁面與頁面之間給人的總體外觀和感覺都比較統(tǒng)一,非常美觀。所以本系統(tǒng)使用母版頁可以極大地簡化為站點(diǎn)創(chuàng)建一致的外觀。系統(tǒng)母版頁的使用與普通頁面類似,可以在其中放置文件或者圖形、任何的HTML控件和Web控件,后置代碼等。母版頁的擴(kuò)展名以.master結(jié)尾,不能被瀏覽器直接查看。母版頁必須在被其他頁面使用后才能進(jìn)行顯示。它的使用跟普通的頁面一樣,可以可視化的設(shè)計(jì),也可以編寫后置代碼。與普通頁面不一樣的是,它可以包含ContentPlaceHolder控件,ContentPlaceHolder控件就是可以顯示內(nèi)容頁面的區(qū)域。母版頁僅僅是一個(gè)頁面模板,單獨(dú)的母版頁是不能被用戶所訪問的。單獨(dú)的內(nèi)容頁也不能夠使用。母版頁和內(nèi)容頁有著嚴(yán)格對(duì)應(yīng)關(guān)系。母版頁中包含多少個(gè)ContentPlaceHolder控件,那么內(nèi)容頁中也必須設(shè)置與其相對(duì)應(yīng)的Content控件。當(dāng)客戶端瀏覽器向服務(wù)器發(fā)出請(qǐng)求,要求瀏覽某個(gè)內(nèi)容頁面時(shí),引擎將同時(shí)執(zhí)行內(nèi)容頁和母版頁的代碼,并將最終結(jié)果發(fā)送給客戶端瀏覽器。下面介紹本系統(tǒng)的幾個(gè)主要界面:5.1.1系統(tǒng)首頁實(shí)現(xiàn)系統(tǒng)的主界面為index.JSP,他的主要功能是顯示歌曲顯示、歌曲信息、查找歌曲、下載歌曲。用戶不用登陸即可試聽歌曲。界面左側(cè)為登陸注冊模塊,注冊之后的用戶可以登陸之后進(jìn)行上傳音樂,下載音樂,同時(shí)也可以添加音樂到自己的音樂盒。具體界面效果如圖5.1所示:圖5.1系統(tǒng)主界面5.1.2上傳歌曲頁面的實(shí)現(xiàn)上傳歌曲界面的設(shè)計(jì)中,首先要先將歌曲上傳至本地,然后才可以添加歌曲信息上傳。沒有登錄是不能上傳歌曲的。界面效果如圖5.2所示:圖5.2上傳歌曲界面5.1.3管理我的歌曲頁面的實(shí)現(xiàn)管理我的歌曲包括:搜索歌曲,刪除歌曲、修改歌曲和查看歌曲詳細(xì)信息模塊。在本系統(tǒng)會(huì)員和管理員都可以上傳歌曲,同時(shí)也可以管理自己上傳的歌曲。管理我的歌曲模塊界面如圖5.3所示:圖5.3管理我的音樂界面5.1.4下載歌曲頁面的實(shí)現(xiàn)用戶可以點(diǎn)擊鏈接對(duì)歌曲進(jìn)行下載,或直接點(diǎn)擊右鍵選擇目標(biāo)另存為也可進(jìn)行音樂的下載。界面模塊如圖5.4所示:圖5.4下載音樂界面5.1.5短消息與留言板的實(shí)現(xiàn)本模塊可以實(shí)現(xiàn)用戶與用戶之間的互相交流,可對(duì)其上傳的音樂進(jìn)行評(píng)論或者對(duì)其發(fā)送短消息。短消息界面如圖5.5所示:圖5.5短消息界面留言板界面如圖5.6所示:圖5.6留言板界面6系統(tǒng)的調(diào)試與測試6.1程序調(diào)試在設(shè)計(jì)系統(tǒng)的過程中,存在一些錯(cuò)誤是必然的。對(duì)于語句的語法錯(cuò)誤,在程序運(yùn)行時(shí)自動(dòng)提示,并請(qǐng)求立即糾正,因此,這類錯(cuò)誤比較容易發(fā)現(xiàn)和糾正。但另一類錯(cuò)誤是在程序執(zhí)行時(shí)由于不正確的操作或?qū)δ承?shù)據(jù)的計(jì)算公式的邏輯錯(cuò)誤導(dǎo)致的錯(cuò)誤結(jié)果。這類錯(cuò)誤隱蔽性強(qiáng),有時(shí)會(huì)出現(xiàn),有時(shí)又不出現(xiàn),因此,對(duì)這一類動(dòng)態(tài)發(fā)生的錯(cuò)誤的排查是耗時(shí)費(fèi)力的。6.2程序的測試測試程序是為檢測軟件系統(tǒng)性能是否正常的一種程序。它通過檢測,可以對(duì)設(shè)備或系統(tǒng)的功能正確性進(jìn)行測定,并在顯示器上給出相應(yīng)的信息。6.2.1測試的重要性及目的1.測試的重要性軟件的測試在軟件生命周期中占據(jù)重要的地位,在傳統(tǒng)的瀑布模型中,軟件測試學(xué)僅處于運(yùn)行維護(hù)階段之前,是軟件產(chǎn)品交付用戶使用之前保證軟件質(zhì)量的重要手段。近來,軟件工程界趨向于一種新的觀點(diǎn),即認(rèn)為軟件生命周期每一階段中都應(yīng)包含測試,從而檢驗(yàn)本階段的成果是否接近預(yù)期的目標(biāo),盡可能早的發(fā)現(xiàn)錯(cuò)誤并加以修正,如果不在早期階段進(jìn)行測試,錯(cuò)誤的延時(shí)擴(kuò)散常常會(huì)導(dǎo)致最后成品測試的巨大困難。事實(shí)上,對(duì)于軟件來講,不論采用什么技術(shù)和什么方法,軟件中仍然會(huì)有錯(cuò)。采用新的語言、先進(jìn)的開發(fā)方式、完善的開發(fā)過程,可以減少錯(cuò)誤的引入,但是不可能完全杜絕軟件中的錯(cuò)誤,這些引入的錯(cuò)誤需要測試來找出,軟件中的錯(cuò)誤密度也需要測試來進(jìn)行估計(jì)。測試是所有工程學(xué)科的基本組成單元,是軟件開發(fā)的重要部分。自有程序設(shè)計(jì)的那天起測試就一直伴隨著。統(tǒng)計(jì)表明,在典型的軟件開發(fā)項(xiàng)目中,軟件測試工作量往往占軟件開發(fā)總工作量的40%以上。而在軟件開發(fā)的總成本中,用在測試上的開銷要占30%到50%。如果把維護(hù)階段也考慮在內(nèi),討論整個(gè)軟件生存期時(shí),測試的成本比例也許會(huì)有所降低,但實(shí)際上維護(hù)工作相當(dāng)于二次開發(fā),乃至多次開發(fā),其中必定還包含有許多測試工作。在實(shí)踐中,軟件測試的困難常常使人望而卻步或敷衍了事,這是由于對(duì)測試仍然存在一些不正確的看法和錯(cuò)誤的態(tài)度,這包括:(1)認(rèn)為測試工作不如設(shè)計(jì)和編碼那樣容易取得進(jìn)展難以給測試人員某種成就感。(2)以發(fā)現(xiàn)軟件錯(cuò)誤為目標(biāo)的測試是非建設(shè)性的,甚至是破壞性的,測試中發(fā)現(xiàn)錯(cuò)位是對(duì)責(zé)任者工作的一種否定。(3)測試工作枯燥無味,不能引起人們的興趣。(4)測試工作是艱苦而細(xì)致的工作。(5)對(duì)自己編寫的程序盲目自信,在發(fā)現(xiàn)錯(cuò)誤后,顧慮別人對(duì)自己的開發(fā)能力的看法。這些觀點(diǎn)對(duì)軟件測試工作是極為不利的,必須澄清認(rèn)識(shí)、端正態(tài)度,才可能提高軟件產(chǎn)品的質(zhì)量。2.測試的目的如果測試的目的是為了盡可能多地找出錯(cuò)誤,那么測試就應(yīng)該直接針對(duì)軟件比較復(fù)雜的部分或是以前出錯(cuò)比較多的位置。(1)軟件測試是為了發(fā)現(xiàn)錯(cuò)誤而執(zhí)行程序的過程。(2)測試是為了證明程序有錯(cuò),而不是證明程序無錯(cuò)誤。(3)一個(gè)好的測試用例是在于它能發(fā)現(xiàn)至今未發(fā)現(xiàn)的錯(cuò)誤。(4)一個(gè)成功的測試是發(fā)現(xiàn)了至今未發(fā)現(xiàn)的錯(cuò)誤的測試。這種觀點(diǎn)可以提醒人們測試要以查找錯(cuò)誤為中心,而不是為了演示軟件的正確功能。但是僅憑字面意思理解這一觀點(diǎn)可能會(huì)產(chǎn)生誤導(dǎo),認(rèn)為發(fā)現(xiàn)錯(cuò)誤是軟件測試的唯一目,查找不出錯(cuò)誤的測試就是沒有價(jià)值的,事實(shí)并非如此。首先,測試并不僅僅是為了要找出錯(cuò)誤。通過分析錯(cuò)誤產(chǎn)生的原因和錯(cuò)誤的分布特征,可以幫助項(xiàng)目管理者發(fā)現(xiàn)當(dāng)前所采用的軟件過程的缺陷,以便改進(jìn)。同時(shí),這種分析也能幫助我們設(shè)計(jì)出有針對(duì)性地檢測方法,改善測試的有效性。其次,沒有發(fā)現(xiàn)錯(cuò)誤的測試也是有價(jià)值的,完整的測試是評(píng)定測試質(zhì)量的一種方法。6.2.2測試的步驟與開發(fā)過程類似,測試過程也必須分步驟進(jìn)行,每個(gè)步驟在邏輯上是前一個(gè)步驟的繼續(xù)。大型軟件系統(tǒng)通常由若干個(gè)子系統(tǒng)組成,每個(gè)子系統(tǒng)又由若干個(gè)模塊組成。因此,大型軟件系統(tǒng)的測試基本上由下述幾個(gè)步驟組成:(1)模塊測試。在這個(gè)測試步驟中所發(fā)現(xiàn)的往往是編碼和詳細(xì)設(shè)計(jì)的錯(cuò)誤。(2)系統(tǒng)測試。在這個(gè)測試步驟中發(fā)現(xiàn)的往往是軟件設(shè)計(jì)中的錯(cuò)誤,也可能發(fā)現(xiàn)需求說明中的錯(cuò)誤。(3)驗(yàn)收測試。在這個(gè)測試步驟中發(fā)現(xiàn)的往往是系統(tǒng)需求說明書中的錯(cuò)誤。6.2.3測試的主要內(nèi)容為了保證測試的質(zhì)量,將測試過程分成幾個(gè)階段,即:代碼審查、單元測試、集成測試、確認(rèn)測試和系統(tǒng)測試。1.單元測試單元測試集中在檢查軟件設(shè)計(jì)的最小單位—模塊上,通過測試發(fā)現(xiàn)實(shí)現(xiàn)該模塊的實(shí)際功能與定義該模塊的功能說明不符合的情況,以及編碼的錯(cuò)誤。2.集成測試集成測試是將模塊按照設(shè)計(jì)要求組裝起來同時(shí)進(jìn)行測試,主要目標(biāo)是發(fā)現(xiàn)與接口有關(guān)的問題。如一個(gè)模塊與另一個(gè)模塊可能有由于疏忽的問題而造成有害影響;把子功能組合起來可能不產(chǎn)生預(yù)期的主功能;個(gè)別看起來是可以接受的誤差可能積累到不能接受的程度;全程數(shù)據(jù)結(jié)構(gòu)可能有錯(cuò)誤等。3.確認(rèn)測試確認(rèn)測試的目的是向未來的用戶表明系統(tǒng)能夠像預(yù)定要求那樣工作。經(jīng)集成測試后,已經(jīng)按照設(shè)計(jì)把所有的模塊組裝成一個(gè)完整的軟件系統(tǒng),接口錯(cuò)誤也已經(jīng)基本排除了,接著就應(yīng)該進(jìn)一步驗(yàn)證軟件的有效性,這就是確認(rèn)測試的任務(wù),即軟件的功能和性能如同用戶所合理期待的那樣。4.系統(tǒng)測試軟件開發(fā)完成以后,最終還要與系統(tǒng)中其他部分配套運(yùn)行,進(jìn)行系統(tǒng)測試。包括恢復(fù)測試、安全測試、強(qiáng)度測試和性能測試等。單獨(dú)對(duì)系統(tǒng)的測試主要從以下幾方面入手:(1)功能測試:測試是否滿足開發(fā)要求,是否提供設(shè)計(jì)所描述的功能,是否用戶的需求都得到滿足。功能測試是系統(tǒng)測試最常用和必須的測試,通常還會(huì)以正式的軟件說明書為測試標(biāo)準(zhǔn)。(2)強(qiáng)度測試及性能測試:測試系統(tǒng)能力最高實(shí)際限度。(3)安全測試:驗(yàn)證安裝在系統(tǒng)內(nèi)的保護(hù)機(jī)構(gòu)確實(shí)能夠?qū)ο到y(tǒng)進(jìn)行保護(hù),使之不受各種非常的干擾。針對(duì)本系統(tǒng)主要是對(duì)權(quán)限系統(tǒng)的測試和對(duì)無效數(shù)據(jù)、錯(cuò)數(shù)據(jù)、和非法數(shù)據(jù)干擾的能力的測試。經(jīng)過上述的測試過程對(duì)軟件進(jìn)行測試后,軟件基本滿足開發(fā)的要求,測試宣告結(jié)束。6.2.4測試中的誤區(qū)1.誤區(qū)之一:軟件開發(fā)完成后進(jìn)行軟件測試人們一般認(rèn)為,軟件項(xiàng)目要經(jīng)過以下幾個(gè)階段:需求分析,概要設(shè)計(jì),詳細(xì)設(shè)計(jì),軟件測試,軟件發(fā)布。據(jù)此,認(rèn)為軟件測試只是軟件編碼后的一個(gè)過程。這是不了解軟件測試周期的錯(cuò)誤認(rèn)識(shí)。軟件測試是一個(gè)系列過程活動(dòng),包括軟件測試需求分析,測試計(jì)劃設(shè)計(jì),測試用例設(shè)計(jì),執(zhí)行測試。因此,軟件測試貫穿于軟件項(xiàng)目的整個(gè)生命過程。在軟件項(xiàng)目的每一個(gè)階段都要進(jìn)行不同目的和內(nèi)容的測試活動(dòng),以保證各個(gè)階段的正確性。軟件測試的對(duì)象不僅僅是軟件代碼,還包括軟件需求文檔和設(shè)計(jì)文檔。軟件開發(fā)與軟件測試應(yīng)該是交互進(jìn)行的,例如,單元編碼需要單元測試,模塊組合階段需要集成測試。如果等到軟件編碼結(jié)束后才進(jìn)行測試,那么,測試的時(shí)間將會(huì)很短,測試的覆蓋面將很不全面,測試的效果也將大打折扣。更嚴(yán)重的是如果此時(shí)發(fā)現(xiàn)了軟件需求階段或概要設(shè)計(jì)階段

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論