版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 目錄</b></p><p><b> 1 引 言1</b></p><p> 1.1 研究背景1</p><p> 1.2 國內(nèi)研究現(xiàn)狀1</p><p> 1.3研究?jī)?nèi)容與本人所做的工作2</p><p> 1.3.1 研究
2、內(nèi)容2</p><p> 1.3.2 本人所做的工作2</p><p> 1.4 論文結(jié)構(gòu)2</p><p> 1.5 開發(fā)環(huán)境的介紹2</p><p> 1.5.1 開發(fā)工具之JSP3</p><p> 1.5.2 開發(fā)工具之MyEclipse 9.06</p><p>
3、 1.5.3 開發(fā)工具之MySQL數(shù)據(jù)庫7</p><p> 1.5.4 開發(fā)工具之Dreamwear 8.011</p><p> 1.5.5 開發(fā)工具之Tomcat 12</p><p> 1.5.6 開發(fā)工具之B/S 14</p><p> 1.5.7 開發(fā)工具之JavaBean 16</p><
4、p><b> 2 系統(tǒng)分析18</b></p><p> 2.1 系統(tǒng)功能概述18</p><p> 2.1.1 系統(tǒng)前臺(tái)功能概述18</p><p> 2.1.2 系統(tǒng)后臺(tái)功能概述18</p><p> 2.2 可行性研究18</p><p> 2.2.1 經(jīng)濟(jì)可行性
5、19</p><p> 2.2.2 技術(shù)可行性19</p><p> 2.2.3 法律可行性19</p><p> 2.3 需求分析19</p><p> 2.3.1 系統(tǒng)主要需求描述20</p><p> 2.3.2 數(shù)據(jù)流圖21</p><p> 2.3.3 數(shù)據(jù)字典
6、22</p><p><b> 3 概要設(shè)計(jì)26</b></p><p> 3.1 系統(tǒng)總體結(jié)構(gòu)圖26</p><p> 3.2 數(shù)據(jù)庫概念設(shè)計(jì)26</p><p><b> 4 詳細(xì)設(shè)計(jì)29</b></p><p> 4.1 數(shù)據(jù)庫物理設(shè)計(jì)29<
7、/p><p> 4.2 系統(tǒng)主要模塊的設(shè)計(jì)29</p><p> 4.2.1 會(huì)員模塊設(shè)計(jì)29</p><p> 4.2.2 管理員模塊設(shè)計(jì)29</p><p> 5 系統(tǒng)的實(shí)現(xiàn)31</p><p> 5.1 系統(tǒng)母版頁的實(shí)現(xiàn)31</p><p> 5.1.1 系統(tǒng)首頁實(shí)現(xiàn)3
8、1</p><p> 5.1.2 上傳歌曲頁面的實(shí)現(xiàn)32</p><p> 5.1.3 管理我的歌曲頁面的實(shí)現(xiàn)32</p><p> 5.1.4下載歌曲頁面的實(shí)現(xiàn)33</p><p> 5.1.5 短消息與留言板的實(shí)現(xiàn)33</p><p> 6 系統(tǒng)的調(diào)試與測(cè)試35</p><p
9、> 6.1 程序調(diào)試29</p><p> 6.2 程序的測(cè)試35</p><p> 6.2.1 測(cè)試的重要性及目的35</p><p> 6.2.2 測(cè)試的步驟36</p><p> 6.2.3 測(cè)試的主要內(nèi)容37</p><p> 6.2.4 測(cè)試中的誤區(qū)38</p>&
10、lt;p><b> 結(jié)束語40</b></p><p><b> 致 謝40</b></p><p><b> 參考文獻(xiàn)39</b></p><p><b> 1 引言</b></p><p><b> 1.1 研究背景
11、</b></p><p> 目前,隨著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)
12、絡(luò)時(shí)代,音樂變得無處不在,尤其是多媒體的出現(xiàn)讓音樂更加大眾化、普及化了。現(xiàn)在只要你鼠標(biāo)輕輕一點(diǎn),就可以找到各種各樣的,甚至是不同國家的音樂信息供你選擇來試聽和下載,也決定了網(wǎng)上娛樂會(huì)有很大的市場(chǎng)潛力和升值空間,因此,根據(jù)實(shí)際情況打造一個(gè)在線音樂點(diǎn)播系統(tǒng)具有很實(shí)際的市場(chǎng)意義。</p><p> 課題目標(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)開
13、發(fā)工具和應(yīng)用軟件,熟悉網(wǎng)站建設(shè)的過程,熟練掌握網(wǎng)絡(luò)數(shù)據(jù)庫編程方法。</p><p> 1.2 國內(nèi)研究現(xiàn)狀</p><p> 現(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à)值。因此
14、根據(jù)目前實(shí)際的情況開發(fā)這樣一套管理系統(tǒng)是十分必要的。</p><p> 隨著科學(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ǔ)量大、保密性好、壽命長(zhǎng)、成本低等。這些優(yōu)點(diǎn)能夠極大地提高工作的效率,也是信息正規(guī)化管理與世界接軌的重要條件。<
15、/p><p> 本系統(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ǔ)。</p><p> 1.3 研究?jī)?nèi)容與本人所做的工作<
16、/p><p> 1.3.1 研究?jī)?nèi)容 </p><p> 設(shè)計(jì)并開發(fā)一個(gè)在線音樂管理系統(tǒng),該系統(tǒng)的功能如下:</p><p> (1)點(diǎn)播歌曲。用戶不用注冊(cè)會(huì)員也可點(diǎn)播本系統(tǒng)中的歌曲。</p><p> (2)注冊(cè)會(huì)員。用戶需要注冊(cè)會(huì)員后才能享受本系統(tǒng)的其他功能。</p><p> ?。?)下載歌曲。注冊(cè)會(huì)員之后即
17、為本系統(tǒng)會(huì)員,可下載自己所喜歡的歌曲到本地電腦中。</p><p> (4)上傳歌曲。本系統(tǒng)會(huì)員,可將自己喜歡,但系統(tǒng)所沒有的的歌曲上傳到本系統(tǒng)。</p><p> (5)管理我的歌曲。會(huì)員登錄后,可管理自己上傳過的歌曲信息。</p><p> ?。?)后臺(tái)管理。管理員可以方便的管理音樂信息和會(huì)員信息。</p><p> 1.3.2 本
18、人所做的工作</p><p> ?。?)點(diǎn)播歌曲流程的設(shè)計(jì)與實(shí)現(xiàn)。</p><p> ?。?)會(huì)員功能流程的設(shè)計(jì)與實(shí)現(xiàn)。包括注冊(cè)會(huì)員,點(diǎn)播歌曲、上傳、下載歌曲。</p><p> (3)后臺(tái)管理員的設(shè)計(jì)與實(shí)現(xiàn)。在后臺(tái),系統(tǒng)管理員可以方便的管理音樂信息和會(huì)員信息。</p><p><b> 1.4 論文結(jié)構(gòu)</b>&l
19、t;/p><p> 本論文分為六章,分別如下:</p><p> 第一章為引言部分,介紹了設(shè)計(jì)的選題背景、國內(nèi)研究現(xiàn)狀、設(shè)計(jì)研究?jī)?nèi)容與本人所做的工作、系統(tǒng)所用到的環(huán)境。</p><p> 第二章為系統(tǒng)功能分析,提出了系統(tǒng)的功能,并在次基礎(chǔ)上進(jìn)行了設(shè)計(jì)可行性研究和需求分析。</p><p> 第三章為概要設(shè)計(jì),做了系統(tǒng)的總體結(jié)構(gòu)圖和數(shù)據(jù)庫設(shè)
20、計(jì)工作。</p><p> 第四章為系統(tǒng)的詳細(xì)介紹。</p><p> 第五章關(guān)于系統(tǒng)頁面的實(shí)現(xiàn)。</p><p> 第六章為系統(tǒng)做全面的調(diào)試與測(cè)試。</p><p> 1.5 開發(fā)環(huán)境的介紹</p><p> Mircsoft Windows XP:作為系統(tǒng)開發(fā)的操作系統(tǒng)平臺(tái),程序都在它上面運(yùn)行通過。&l
21、t;/p><p> MySQL5.0:主要存儲(chǔ)網(wǎng)頁上抽取的信息,方便以后建索引。</p><p> MyEclipse9.0:用來開發(fā)系統(tǒng)的查詢模塊。</p><p> Tomcat 6.0:是一款Java平臺(tái)下的服務(wù)器軟件,模擬網(wǎng)絡(luò)環(huán)境。</p><p><b> JSP技術(shù)簡(jiǎn)介</b></p>&l
22、t;p> JSP(Java Server Page服務(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頁面提供了簡(jiǎn)便的方法。JSP作為Java家族的一員
23、,承襲了Java的特點(diǎn),即跨平臺(tái)的特性,也即一次編譯,到處運(yùn)行。</p><p> 在國外,己經(jīng)大量使用JSP作為網(wǎng)絡(luò)應(yīng)用程序的開發(fā)工具,而在國內(nèi),盡管JSP還不是主流開發(fā)技術(shù),但是由于JSP的強(qiáng)大優(yōu)勢(shì),許多網(wǎng)站都已經(jīng)準(zhǔn)備轉(zhuǎn)向JSP,利用JSP來開發(fā)動(dòng)態(tài)網(wǎng)站。 </p><p> 2. JSP工作原理</p><p> JSP是面向服務(wù)器的,因此支持任何瀏覽器
24、。當(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引擎。</p><p> JSP引擎將響應(yīng)對(duì)象傳遞給JSP頁面,根據(jù)JSP頁面的HTML格式完成數(shù)據(jù)編排,最后Web服務(wù)器和JSP引擎將格式化后的JSP
25、頁面以HTML格式返回客戶瀏覽器。這就是當(dāng)前網(wǎng)站構(gòu)建中廣泛采用的瀏覽器——Web服務(wù)器——后臺(tái)數(shù)據(jù)庫的三層架構(gòu)模式。因?yàn)镴SP所有程序操作都在服務(wù)器端執(zhí)行,網(wǎng)絡(luò)上傳送給客戶端的僅是得到的結(jié)果。</p><p> 3. JSP體系結(jié)構(gòu)</p><p> JSP網(wǎng)站開發(fā)標(biāo)準(zhǔn)給出了兩種使用JSP的技術(shù),可以歸納為模式一、模式二。</p><p> 模式一:JSP+J
26、avaBeans技術(shù)。在這種模式中,JSP頁面獨(dú)自響應(yīng)請(qǐng)求并將處理結(jié)果返回給客戶。Bean處理所有數(shù)據(jù)訪問,JSP實(shí)現(xiàn)頁面的表現(xiàn),以實(shí)現(xiàn)內(nèi)容生成與顯示相分離。</p><p> 當(dāng)處理復(fù)雜的大型應(yīng)用時(shí),頁面被嵌入大量的腳本或Java代碼段,當(dāng)需要處理的商業(yè)邏輯復(fù)雜時(shí),這種情況會(huì)變得非常糟糕,大量的內(nèi)嵌代碼使得頁面程序變得復(fù)雜,對(duì)于前端界面設(shè)計(jì)人員,這是不可思議的事情。所以模式一可用于小型應(yīng)用,不能夠滿足大型應(yīng)用
27、的需要。</p><p> 模式二:JSP+Servlet+JavaBeans技術(shù)。Servlet技術(shù)是一種采用Java技術(shù)來實(shí)現(xiàn)CGI</p><p> 功能的一種技術(shù),Servlet技術(shù)非常適于服務(wù)器端的處理和編程,并且Servlet會(huì)長(zhǎng)期駐留在內(nèi)存。</p><p> 從開發(fā)的觀點(diǎn)看,模式二具有更清晰的頁面表現(xiàn),清楚的開發(fā)者角色劃分,在大規(guī)模項(xiàng)目開發(fā)中,
28、模式二更被采用,模式二也更符合當(dāng)前流行的MVC結(jié)(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)用邏輯與功能。</p><p><b>
29、; 4. JSP的特點(diǎn)</b></p><p> 簡(jiǎn)化的頁面生成技術(shù)。</p><p> JSP頁面用標(biāo)準(zhǔn)的HTML或XML命令來處理頁面的格式化和布局設(shè)計(jì),而用類似HTML、XML的標(biāo)記和Java語言編寫的腳本程序生成頁面內(nèi)容。這使得頁面形式與頁面內(nèi)容互相獨(dú)立,非常有利于大型項(xiàng)目的分工合作。</p><p> ?。?)與Java平臺(tái)有機(jī)集成。&l
30、t;/p><p> JSP技術(shù)是Java 2平臺(tái)的重要組成部分,JSP使用Java語言作為它的腳本語言。在JSP頁面中可以使用幾乎所有的Java組件和Java API,這就能充分發(fā)揮出Java語言的強(qiáng)大功能。使用JSP技術(shù)可以創(chuàng)建具有高度可伸縮性和可靠性的Web應(yīng)用程序。</p><p> (2)硬件平臺(tái)和服務(wù)器無關(guān)性。</p><p> JSP作為Java家族的
31、一員,秉承了Java技術(shù)的“一次編寫,隨處可用(Write Once,Rum Anywhere)”的特性,可以運(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)。</p><p> (3)功能可擴(kuò)展性。</p><p> 如同Microsoft的JSP技術(shù)可以通過ActiveX/COM組件來擴(kuò)展功能一樣,JS
32、P可以通過JavaBean和EJB(Enterprise JavaBean)以及自定義的標(biāo)記來擴(kuò)展功能。</p><p> JSP可以通過JDBC,與諸如Oracle、SQL Server這樣的大型關(guān)系數(shù)據(jù)庫進(jìn)行連接。</p><p> JSP提供了一些隱含對(duì)象。這些隱含對(duì)象在JSP頁面中可以直接引用,而不必首先聲明。利用JSP提供的這些隱含對(duì)象,可以使腳本功能更加強(qiáng)大,并且編程更加容
33、易、方便。例如,利用request對(duì)象,可以很容易地接收用戶在HTML表單中提交的信息。</p><p> 5. JSP的優(yōu)缺點(diǎn)</p><p><b> JSP技術(shù)的優(yōu)勢(shì):</b></p><p> ?。?)一次編寫,到處運(yùn)行。除了系統(tǒng)之外,代碼不用做任何更改。 </p><p> (2)系統(tǒng)的多平臺(tái)支持。基
34、本上可以在所有平臺(tái)上的任意環(huán)境中開發(fā),在任意環(huán)境中進(jìn)行系統(tǒng)部署,在任意環(huán)境中擴(kuò)展。相比ASP/.net的局限性是顯而易見的。 </p><p> ?。?)強(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è)巨大的生命力。 </p><p&
35、gt; ?。?)多樣化和功能強(qiáng)大的開發(fā)工具支持。這一點(diǎn)與ASP很像,Java已經(jīng)有了許多非常優(yōu)秀的開發(fā)工具,而且許多可以免費(fèi)得到,并且其中許多已經(jīng)可以順利的運(yùn)行于多種平臺(tái)之下。 </p><p> ?。?)支持服務(wù)器端組件。web應(yīng)用需要強(qiáng)大的服務(wù)器端組件來支持,開發(fā)人員需要利用其他工具設(shè)計(jì)實(shí)現(xiàn)復(fù)雜功能的組件供web頁面調(diào)用,以增強(qiáng)系統(tǒng)性能。JSP可以使用成熟的JAVA BEANS 組件來實(shí)現(xiàn)復(fù)雜商務(wù)功能。&
36、lt;/p><p><b> JSP技術(shù)的劣勢(shì):</b></p><p> ?。?)與ASP一樣,Java的一些優(yōu)勢(shì)正是它致命的問題所在。正是由于為了跨平臺(tái)的功能,為了極度的伸縮能力,所以極大的增加了產(chǎn)品的復(fù)雜性。 </p><p> ?。?)Java的運(yùn)行速度是用class常駐內(nèi)存來完成的,
37、所以它在一些情況下所使用的內(nèi)存比起用戶數(shù)量來說確實(shí)是“最低性能價(jià)格比”了。從另一方面,它還需要硬盤空間來儲(chǔ)存一系列的.java文件和.class文件,以及對(duì)應(yīng)的版本文件。</p><p> JSP的工作模式如圖1.1所示:用戶通過web server 訪問到對(duì)方的服務(wù)器,獲得所需要的服務(wù)。</p><p> 圖 1.1 JSP的工作模式圖</p><p> 1
38、.5.2 開發(fā)工具之MyEclipse9.0</p><p> MyEclipse,是一個(gè)十分優(yōu)秀的用于開發(fā)Java, J2EE的Eclipse插件集合,MyEclipse的功能非常強(qiáng)大,支持也十分廣泛,尤其是對(duì)各種開源產(chǎn)品的支持十分不錯(cuò)。MyEclipse企業(yè)級(jí)工作平臺(tái)(MyEclipse Enterprise Workbench ,簡(jiǎn)稱MyEclipse)是對(duì)EclipseIDE的擴(kuò)展,利用它我們可以在數(shù)據(jù)
39、庫和JavaEE的開發(fā)、發(fā)布以及應(yīng)用程序服務(wù)器的整合方面極大的提高工作效率。它是功能豐富的JavaEE集成開發(fā)環(huán)境,包括了完備的編碼、調(diào)試、測(cè)試和發(fā)布功能,完整支持HTML,Struts,JSP,CSS,Javascript,Spring,SQL,Hibernate。</p><p> 在結(jié)構(gòu)上,MyEclipse的特征可以被分為7類: </p><p> ?。?)JavaEE模型。
40、 </p><p> ?。?)WEB開發(fā)工具。 </p><p> ?。?)EJB開發(fā)工具。 </p><p> ?。?)應(yīng)用程序服務(wù)器的連接器。 </p><p> ?。?)JavaEE項(xiàng)目部署服務(wù)。 </p><p> ?。?)數(shù)據(jù)庫服務(wù)。 </p><p> ?。?)MyEc
41、lipse整合幫助。</p><p> 對(duì)于以上每一種功能上的類別,在Eclipse中都有相應(yīng)的功能部件,并通過一系列的插件來實(shí)現(xiàn)它們。MyEclipse結(jié)構(gòu)上的這種模塊化,可以讓我們?cè)诓挥绊懫渌K的情況下,對(duì)任一模塊進(jìn)行單獨(dú)的擴(kuò)展和升級(jí)。 簡(jiǎn)單而言,MyEclipse是Eclipse的插件,也是一款功能強(qiáng)大的JavaEE集成開發(fā)環(huán)境,支持代碼編寫、配置、測(cè)試以及除錯(cuò),MyEclipse6.0以前版本需先安裝
42、Eclipse。MyEclipse6.0以后版本安裝時(shí)不需安裝Eclipse。</p><p> MyEclipse生成WAR包并在Tomcat下部署發(fā)布 。首先是使用MyEclipse將web項(xiàng)目打包,右鍵選中項(xiàng)目,選擇export;彈出Export的select窗體,選擇Java EE 的WAR file(myeclipse)選項(xiàng),然后選擇工程名稱和路徑,單擊完成就可以了。 打包完成以后我們將war放到to
43、mcat的webapps目錄下,并設(shè)置server.xml文件;然后運(yùn)行tomcat,并輸入項(xiàng)目的url就可以瀏覽了。</p><p> 1.5.3 開發(fā)工具之MySQL數(shù)據(jù)庫</p><p> 數(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ì)如同高樓的基石
44、,是開發(fā)高品質(zhì)應(yīng)用的前提。</p><p> 1. 數(shù)據(jù)的體系結(jié)構(gòu)</p><p> 數(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ù)視圖。全局
45、視圖的描述稱為“概念模式”。內(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)。</p><p> 2. 數(shù)據(jù)庫管理系統(tǒng)(DBMS)</p><p> 數(shù)據(jù)庫管理系統(tǒng)(DBMS
46、)是指數(shù)據(jù)庫系統(tǒng)中管理數(shù)據(jù)的軟件系統(tǒng)。DBMS是數(shù)據(jù)庫系統(tǒng)的核心組成部分。對(duì)數(shù)據(jù)庫的一切操作,包括定義、查詢、更新及各種控制,都是通過DBMS進(jìn)行的。</p><p> 在不同的計(jì)算機(jī)系統(tǒng)中,由于缺乏統(tǒng)一的標(biāo)準(zhǔn),即使同種數(shù)據(jù)模型的DBMS,它們?cè)谟脩艚涌?、系統(tǒng)功能方面也常常是不相同的。</p><p> 用戶對(duì)數(shù)據(jù)庫進(jìn)行操作,是由DBMS把操作從應(yīng)用程序帶到外部級(jí)、概念級(jí)、再導(dǎo)向內(nèi)部級(jí)
47、,進(jìn)而操作存儲(chǔ)器中的數(shù)據(jù)。DBMS的主要目標(biāo),是使數(shù)據(jù)作為一種可管理的資源處理。</p><p> DBMS的主要功能為:</p><p> ?。?)數(shù)據(jù)庫定義功能:DBMS提供數(shù)據(jù)定義語言(DDL)定義數(shù)據(jù)庫的三級(jí)結(jié)構(gòu),包括外模式、概念模式、內(nèi)模式及其相互之間的映象,定義數(shù)據(jù)的完整性、安全控制等約束。因此,在DBMS中應(yīng)包括DDL的編譯程序。</p><p>
48、?。?)數(shù)據(jù)庫的操縱功能:DBMS提供數(shù)據(jù)操縱語言(DML)實(shí)現(xiàn)對(duì)數(shù)據(jù)庫中數(shù)據(jù)的操作。基本的數(shù)據(jù)操作分成兩類四種:檢索(查詢)、更新(插入、刪除、修改)。</p><p> ?。?)數(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):</p><p> ?。?)數(shù)據(jù)庫的恢復(fù):在數(shù)據(jù)庫被破壞或數(shù)據(jù)不正確時(shí),系統(tǒng)有能力
49、把數(shù)據(jù)庫恢復(fù)到正確的狀態(tài)。</p><p> ?。?)數(shù)據(jù)庫的并發(fā)控制:DBMS的并發(fā)控制子系統(tǒng)能防止錯(cuò)誤發(fā)生,正確處理好多用戶、多任務(wù)環(huán)境下的并發(fā)操作。</p><p> ?。?)數(shù)據(jù)庫的完整性控制:保證數(shù)據(jù)庫中數(shù)據(jù)及語義的正確性和有效性,防止任何對(duì)數(shù)據(jù)造成錯(cuò)誤的操作。</p><p> ?。?)數(shù)據(jù)庫的安全性控制:防止未經(jīng)授權(quán)的用戶蓄謀或無意地存取數(shù)據(jù)庫中的數(shù)據(jù)
50、,以免數(shù)據(jù)的泄露、更改或破壞。</p><p> ?。?)數(shù)據(jù)庫的存儲(chǔ)管理:把各種DML語句轉(zhuǎn)換成低層的文件系統(tǒng)命令,起到數(shù)據(jù)的存儲(chǔ)、檢索和更新的作用。</p><p> ?。?)數(shù)據(jù)庫的維護(hù)功能:它有許多實(shí)用程序提供給數(shù)據(jù)庫管理員如:數(shù)據(jù)裝載程序備份程序、文件重組織程序、性能監(jiān)控程序。</p><p> ?。?0)數(shù)據(jù)字典:數(shù)據(jù)庫系統(tǒng)中存放三級(jí)結(jié)構(gòu)定義的數(shù)據(jù)庫稱為
51、數(shù)據(jù)字典(DD)。對(duì)數(shù)據(jù)庫的操作都要通過訪問DD才能實(shí)現(xiàn),通常DD中還存放數(shù)據(jù)庫運(yùn)行時(shí)的統(tǒng)計(jì)信息。</p><p> 本系統(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è)用途,而不必支
52、付任何費(fèi)用。</p><p> 總體來說,MySQL數(shù)據(jù)庫具有以下主要特點(diǎn):</p><p> ?。?)同時(shí)訪問數(shù)據(jù)庫的用戶數(shù)量不受限制;</p><p> ?。?)可以保存超過50,000,000條記錄;</p><p> ?。?)是目前市場(chǎng)上現(xiàn)有產(chǎn)品中運(yùn)行速度最快的數(shù)據(jù)庫系統(tǒng);</p><p> ?。?)用戶權(quán)限
53、設(shè)置簡(jiǎn)單、有效。 </p><p> 如今,包括Siemens和Silicon Graphics這樣的國際知名公司也開始把MySQL作為其數(shù)據(jù)庫管理系統(tǒng),這就更加證明了MySQL數(shù)據(jù)庫的優(yōu)越性能和廣闊的市場(chǎng)發(fā)展前景。</p><p> 與其他的大型數(shù)據(jù)庫例如Oracle、DB2、SQL Server等相比,MySQL自有它的不足之處,如規(guī)模小、功能有限(MySQL Cluster的功能
54、和效率都相對(duì)比較差)等,但是這絲毫也沒有減少它受歡迎的程度。對(duì)于一般的個(gè)人使用者和中小型企業(yè)來說,MySQL提供的功能已經(jīng)綽綽有余,而且由于MySQL是開放源碼軟件,因此可以大大降低總體擁有成本。 </p><p> 目前Internet上流行的網(wǎng)站構(gòu)架方式是LAMP和LNMP,即使用Linux作為操作系統(tǒng),Apache和Nginx作為Web服務(wù)器,MySQL作為數(shù)據(jù)庫,PHP/Perl/Python作為服務(wù)
55、器端腳本解釋器。由于這四個(gè)軟件都是免費(fèi)或開放源碼軟件(FLOSS),因此使用這種方式不用花一分錢(除開人工成本)就可以建立起一個(gè)穩(wěn)定、免費(fèi)的網(wǎng)站系統(tǒng)。</p><p> 使用MySQL,安全問題不能不注意。以下是MySQL提示的23個(gè)注意事項(xiàng): </p><p> (1)如果客戶端和服務(wù)器端的連接需要跨越并通過不可信任的網(wǎng)絡(luò),那么就需要使用SS H隧道來加密該連接的通信。<
56、;/p><p> ?。?)用set password語句來修改用戶的密碼,三個(gè)步驟,先“mysql -u root”登陸數(shù)據(jù)庫系統(tǒng),然后“mysql> update mysql.user set password=password(’newpwd’)”,最后執(zhí)行“flush privileges”就可以了。 </p><p> (3)需要提防的攻擊有,防偷聽、篡改、回放、拒絕服務(wù)等
57、,不涉及可用性和容錯(cuò)方面。對(duì)所有的連接、查詢、其他操作使用基于ACL即訪問控制列表的安全措施來完成。也有一些對(duì)SSL連接的支持。 </p><p> ?。?)除了root用戶外的其他任何用戶不允許訪問MySQL主數(shù)據(jù)庫中的user表; 加密后存放在user表中的加密后的用戶密碼一旦泄露,其他人可以隨意用該用戶名/密碼相應(yīng)的數(shù)據(jù)庫; </p><p> ?。?)用grant和re
58、voke語句來進(jìn)行用戶訪問控制的工作; </p><p> (6)不使用明文密碼,而是使用md5()和sha1()等單向的哈希函數(shù)來設(shè)置密碼; </p><p> ?。?)不選用字典中的字來做密碼; </p><p> ?。?)采用防火墻來去掉50%的外部危險(xiǎn),讓數(shù)據(jù)庫系統(tǒng)躲在防火墻后面工作,或放置在DMZ區(qū)域中; </p><
59、;p> ?。?)從因特網(wǎng)上用nmap來掃描3306端口,也可用telnet server_host 3306的方法測(cè)試,不能允許從非信任網(wǎng)絡(luò)中訪問數(shù)據(jù)庫服務(wù)器的3306號(hào)TCP端口,因此需要在防火墻或路由器上做設(shè)定; </p><p> ?。?0)為了防止被惡意傳入非法參數(shù),例如where ID=234,別人卻輸入where ID=234 OR 1=1導(dǎo)致全部顯示,所以在web的表單中使用”或”&quo
60、t;來用字符串,在動(dòng)態(tài)URL中加入%22代表雙引號(hào)、%23代表井號(hào)、%27代表單引號(hào);傳遞未檢 查過的值給mysql數(shù)據(jù)庫是非常危險(xiǎn)的; </p><p> (11)在傳遞數(shù)據(jù)給MySQL時(shí)檢查一下大?。? </p><p> ?。?2)應(yīng)用程序需要連接到數(shù)據(jù)庫應(yīng)該使用一般的用戶帳號(hào),只開放少數(shù)必要的權(quán)限給該用戶; </p><p> ?。?3)在各編程
61、接口(C C++ PHP Perl Java JDBC等)中使用特定‘逃脫字符’函數(shù); 在因特網(wǎng)上使用mysql數(shù)據(jù)庫時(shí)一定少用傳輸明文的數(shù)據(jù),而用SSL和SSH的加密方式數(shù)據(jù)來傳輸; </p><p> ?。?4)學(xué)會(huì)使用tcpdump和strings工具來查看傳輸數(shù)據(jù)的安全性,例如tcpdump -l -i eth0 -w -src or dst port 3306 | strings。以普通用戶來啟動(dòng)m
62、ysql數(shù)據(jù)庫服務(wù); </p><p> ?。?5)不使用到表的聯(lián)結(jié)符號(hào),選用的參數(shù) –skip-symbolic-links; </p><p> ?。?6)確信在mysql目錄中只有啟動(dòng)數(shù)據(jù)庫服務(wù)的用戶才可以對(duì)文件有讀和寫的權(quán)限; </p><p> (17)不許將process或super權(quán)限付給非管理用戶,該mysqladmin process
63、list可以列舉出當(dāng)前執(zhí)行的查詢文本;super權(quán)限可用于切斷客戶端連接、改變服務(wù)器運(yùn)行參數(shù)狀態(tài)、控制拷貝復(fù)制數(shù)據(jù)庫的服務(wù)器; </p><p> ?。?8)file權(quán)限不付給管理員以外的用戶,防止出現(xiàn)load data‘/etc/passwd’到表中再用select 顯示出來的問題; </p><p> (19)如果不相信DNS服務(wù)公司的服務(wù),可以在主機(jī)名稱允許表中只設(shè)置IP數(shù)
64、字地址; </p><p> ?。?0)使用max_user_connections變量來使mysqld服務(wù)進(jìn)程,對(duì)一個(gè)指定帳戶限定連接數(shù); </p><p> ?。?1)grant語句也支持資源控制選項(xiàng); </p><p> ?。?2)啟動(dòng)mysqld服務(wù)進(jìn)程的安全選項(xiàng)開關(guān),–local-infile=0 或1 若是0則客戶端程序就無法使用local
65、load dat了,賦權(quán)的一個(gè)例子grant insert(user) on mysql.user to ‘user_name’@'host_name’;若使用–skip-grant-tables系統(tǒng)將對(duì)任何用戶的訪問不做任何訪問控制,但可以用 mysqladmin flush-privileges或mysqladmin reload來開啟訪問控制;默認(rèn)情況是show databases語句對(duì)所有用戶開放,可以用–skip-sh
66、ow-databases來關(guān)閉掉。 </p><p> (23)碰到Error 1045(28000) Access Denied for user ‘root’@'localhost’(Using password:NO)錯(cuò)誤時(shí),你需要重新設(shè)置密碼,具體方法是:先用–skip-grant-tables參數(shù)啟動(dòng)mysqld,然后執(zhí)行 mysql -u root mysql,mysql>upda
67、te user set password=password(’newpassword’) where user=’root’;mysql>Flush privileges;,最后重新啟動(dòng)mysql就可以了。</p><p> 1.5.4 開發(fā)工具之Dreamwear 8.0</p><p> Dreamweaver是美國MACROMTDIA公司開發(fā)的集網(wǎng)頁制作和管理網(wǎng)站于一身的所
68、見即所得網(wǎng)頁編輯器,它是第一套針對(duì)專業(yè)網(wǎng)頁設(shè)計(jì)師特別發(fā)展的視覺化網(wǎng)頁開發(fā)工具,利用它可以輕而易舉地制作出跨越平臺(tái)限制和跨越瀏覽器限制的充滿動(dòng)感的網(wǎng)頁。</p><p> Dreamweaver具有靈活的運(yùn)用樣式,熟悉網(wǎng)頁設(shè)計(jì)的網(wǎng)友都知道,調(diào)用Style的方法很多,我們可以單擊鼠標(biāo)右鍵選擇Custon Style 來調(diào)用Style標(biāo)準(zhǔn),也可以直接在狀態(tài)欄中的元素列表上單擊右鍵來調(diào)用Style,直接選擇屬性中想要的
69、效果,可以自動(dòng)生成相對(duì)于的代碼Style,簡(jiǎn)潔又方便。雖然不同的方法達(dá)到的效果看似一樣,但實(shí)際上產(chǎn)生的HTML代碼則完全不同。比如用Custon Style來調(diào)用Style標(biāo)準(zhǔn),在網(wǎng)頁代碼中就生成一個(gè)<span>標(biāo)簽,這樣的標(biāo)簽多了就會(huì)使文件十分臃腫而且影響瀏覽器的解析速度,所以我們應(yīng)盡量避免調(diào)用這種方法來調(diào)用Style。</p><p> Dreamweaver具有活用的Format Table命
70、令,在復(fù)雜的網(wǎng)頁設(shè)計(jì)中,表格的應(yīng)用是最多的,因?yàn)槔帽砀窨梢宰杂傻乜刂莆谋竞蛨D像在網(wǎng)頁上出現(xiàn)的具體位置,從而使整個(gè)網(wǎng)頁看上去緊湊統(tǒng)一。Dreamweaver在這方面也不甘落后,我們可以使用其中的“Format Table”(格式化表格)命令來快速地對(duì)表格應(yīng)用預(yù)先設(shè)計(jì)好的樣式。</p><p> Dreamweaver具有拖放自如的特點(diǎn),在使用Dreamweaver編輯網(wǎng)頁的時(shí)候,經(jīng)常需要插入一些圖像什么的,假設(shè)
71、要插入的圖像很多,按照常規(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圖像格式的文件。</p><p>&l
72、t;b> 軟件缺點(diǎn):</b></p><p><b> 1. 效果難一致</b></p><p> 難以精確達(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)出來;</p><p><
73、;b> 2. 代碼難控制</b></p><p> 頁面原始代碼的難以控制性,比如您在所見即所得編輯器中制作一張表格也要幾分鐘,但您要它完全符合您要求可能需要幾十分鐘,甚至更多時(shí)間。而相比之下,非所見所得的網(wǎng)頁編輯器,就不存在這個(gè)問題,因?yàn)樗械腍TML代碼 都在您的監(jiān)控下產(chǎn)生,但是由于非所見所得編輯器的先天條件就注定了它的工作低效率。如何實(shí)現(xiàn)兩者的完美結(jié)合,則既產(chǎn)生干凈、準(zhǔn)確的HTML代碼
74、,又具備所見所得的高效率、直觀性,一直是網(wǎng)頁設(shè)計(jì)師夢(mèng)想。在DREAMWEAVER之前,F(xiàn)RONTPAGE98一直被人們認(rèn)為是最好的所見即所得網(wǎng)頁編輯器,但是它同樣繼承了所見即所得的種種劣性。</p><p> 1.5.5開發(fā)工具之Tomcat</p><p> Tomcat是Apache 軟件基金會(huì)(Apache Software Foundation)的Jakarta 項(xiàng)目中的一個(gè)核
75、心項(xiàng)目,由Apache、Sun 和其他一些公司及個(gè)人共同開發(fā)而成。由于有了Sun 的參與和支持,最新的Servlet 和JSP 規(guī)范總是能在Tomcat 中得到體現(xiàn),Tomcat 5 支持最新的Servlet 2.4 和JSP 2.0 規(guī)范。因?yàn)門omcat 技術(shù)先進(jìn)、性能穩(wěn)定,而且免費(fèi),因而深受Java 愛好者的喜愛并得到了部分軟件開發(fā)商的認(rèn)可,成為目前比較流行的Web 應(yīng)用服務(wù)器。</p><p> Tom
76、cat 是一個(gè)輕量級(jí)應(yīng)用服務(wù)器,在中小型系統(tǒng)和并發(fā)訪問用戶不是很多的場(chǎng)合下被普遍使用,是開發(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)行的。</p><p> 1.
77、 通過server.xml配置Tomcat</p><p> server.xml是Tomcat的重要配置文件,平時(shí)所說的Tomcat的配置(如虛擬主機(jī)的配置、連接端口設(shè)置等)其實(shí)就是指配置server.xml,server.xml中的元素大體可以分為4類,如下:</p><p> 頂層元素:位于整個(gè)配置文件的頂層,主要有<Server>元素與<Service>
78、。</p><p> 連接器類元素:它是客戶和服務(wù)(容器類元素)間的通信接口,負(fù)責(zé)接收客戶請(qǐng)求與向客戶返回的響應(yīng)結(jié)果,主要有<Connector>元素。</p><p> 容器類元素:負(fù)責(zé)處理客戶請(qǐng)求并且生成響應(yīng)結(jié)果,主要有<Engine>元素、<Host>元素與<Context>元素。</p><p> 嵌套類
79、元素:可以加入到容器中的元素,主要有<logger>元素、<Valve>元素、<Realm>元素等。</p><p> 2. Tomcat的層次結(jié)構(gòu)</p><p> ?。?)Server層</p><p> 對(duì)應(yīng)Server組件,邏輯上表示整個(gè)Tomcat,即整個(gè)Catalina Servlet容器。它處于Tomcat頂層,
80、可以包含一個(gè)或多個(gè)Service層。Tomcat提供了該層接口的一個(gè)默認(rèn)實(shí)現(xiàn),所以通常不需要用戶自己去實(shí)現(xiàn)。</p><p> (2)Service層</p><p> 對(duì)應(yīng)Service組件,是包含在Server層中的一個(gè)邏輯功能層。它包含一個(gè)Engine層,以及一個(gè)或多個(gè)連接器(Connector)。Service組件將一個(gè)或多個(gè)Connector組件綁定到Engine層上,Con
81、nector組件偵聽端口,獲得用戶請(qǐng)求,并將請(qǐng)求交給Engine層處理,同時(shí)把處理結(jié)果發(fā)給用戶,從而實(shí)現(xiàn)一個(gè)特定的實(shí)際功能。Tomcat提供了Service接口的默認(rèn)實(shí)現(xiàn),所以通常也不需要用戶定制。</p><p> ?。?)Engine層</p><p> 對(duì)應(yīng)Engine組件,該層是請(qǐng)求分發(fā)處理層,可以連接多個(gè)Connector。它從Connector接收請(qǐng)求后,解析出可以完成用戶請(qǐng)
82、求的URL,根據(jù)該URL可以把請(qǐng)求匹配到正確的Host上,當(dāng)Host處理完用戶請(qǐng)求后,Engine層把結(jié)果返回給適合的連接器,再由連接器傳輸給用戶。該層的接口一般不需要用戶來定制,特殊情況下,用戶可以通過實(shí)現(xiàn)該接口來提供自定義的引擎。</p><p><b> ?。?)Host層</b></p><p> 對(duì)應(yīng)Host組件,該層表示一個(gè)虛擬主機(jī),一個(gè)Engine層可
83、以包含多個(gè)Host層,每個(gè)Host層可以包含一個(gè)或多個(gè)Context層,對(duì)應(yīng)不同的Web應(yīng)用。因?yàn)門omcat給出的Host接口的實(shí)現(xiàn)(類StandardHost)提供了重要的附加功能,所以用戶通常不需要定制Host。</p><p> ?。?)Context層</p><p> 對(duì)應(yīng)Context組件,該層代表某個(gè)虛擬主機(jī)上的實(shí)際目錄或一個(gè)WAR,即單個(gè)Web應(yīng)用程序,它運(yùn)行在特定的虛
84、擬主機(jī)中,使用最為頻繁。一個(gè)Host層包含多個(gè)Context層,每一個(gè)Context都有唯一的路徑,Host層接到請(qǐng)求后,根據(jù)用戶請(qǐng)求的URL,將請(qǐng)求定位到Context層。</p><p> 3. Tomcat服務(wù)器的各個(gè)組件響應(yīng)客戶請(qǐng)求的過程</p><p> Connector負(fù)責(zé)接收客戶的請(qǐng)求并向客戶返回響應(yīng)結(jié)果,在同一個(gè)Service中多個(gè)Connector共享一個(gè)Engin
85、e。同一個(gè)Engine中可以有多個(gè)Host,同一個(gè)Host中包含多個(gè)Context。在圖1.2中,Web客戶1和客戶2直接訪問Tomcat 服務(wù)器上的JSP 和htm組件,他們?cè)L問的URL 為http://localhost:8080/index.jsp。</p><p> 圖 1.2 客戶請(qǐng)求的過程圖</p><p> 下面介紹在DOS窗口下運(yùn)行Tomcat步驟: </p&
86、gt;<p> ?。?)在“開始”按鈕的“運(yùn)行”框中鍵入CMD以打開一個(gè)DOS窗口。 </p><p> (2)鍵入RunAs /user:“ITOMCAT_計(jì)算機(jī)名 CMD.exe”命令。 </p><p> ?。?)在詢問“ITOMCAT_計(jì)算機(jī)名”用戶的密碼時(shí)輸入設(shè)置的密碼。 </p><p> (4)這將打開一個(gè)新的DOS窗口。
87、 </p><p> ?。?)在新開的DOS窗口中,轉(zhuǎn)換到Tomcat的bin文件夾內(nèi)。 </p><p> ?。?)鍵入“catalina run”命令。 </p><p> ?。?)關(guān)閉第一個(gè)DOS窗口。 </p><p> 1.5.6開發(fā)工具之 B/S</p><p> B/S結(jié)構(gòu),即Browse
88、r/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)
89、的強(qiáng)大功能,并節(jié)約了開發(fā)成本,是一種全新的軟件系統(tǒng)構(gòu)造技術(shù)。隨著Windows 98/Windows 2000將瀏覽器技術(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)步。</p><p> 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é)省投資、跨地域
90、廣的優(yōu)點(diǎn)。須視企業(yè)規(guī)模和地理分布確定。企業(yè)內(nèi)部通過防火墻接入Internet,在整個(gè)網(wǎng)絡(luò)采用TCP/IP協(xié)議。</p><p> B/S架構(gòu)具備極大的優(yōu)越性:</p><p> 1. 面向電子商務(wù)時(shí)代的技術(shù)</p><p> 將來所有的應(yīng)用系統(tǒng)幾乎都在互聯(lián)網(wǎng)或企業(yè)內(nèi)部廣域網(wǎng)上運(yùn)行,發(fā)展電子商務(wù)成為企業(yè)不可避免的信息化道路。B/S架構(gòu)的軟件正是電子商務(wù)的基石,正
91、是這類軟件使得移動(dòng)辦公和分布式協(xié)同工作真正成為現(xiàn)實(shí)。無論在世界的那個(gè)角落,只需要一臺(tái)可以聯(lián)網(wǎng)的設(shè)備(計(jì)算機(jī)、PDA甚至手機(jī))都可以方便地與客戶聯(lián)系和與他人協(xié)同工作。</p><p> 2. 軟件操作、維護(hù)和升級(jí)方式的革命</p><p> 軟件系統(tǒng)的改進(jìn)和升級(jí)越來越頻繁,B/S架構(gòu)的產(chǎn)品在維護(hù)和升級(jí)方面具備顯著的優(yōu)勢(shì)。無論用戶的規(guī)模有多大,有多少分支機(jī)構(gòu)都不會(huì)增加任何維護(hù)升級(jí)的工作量,
92、所有的操作只對(duì)服務(wù)器進(jìn)行,通過遠(yuǎn)程連接服務(wù)器,異地的運(yùn)維人員甚至于可以做到遠(yuǎn)程維護(hù)和升級(jí),這對(duì)人力、時(shí)間、費(fèi)用的節(jié)省是相當(dāng)驚人的。</p><p> 所有的客戶端只是瀏覽器,所有的操作都和上網(wǎng)瀏覽網(wǎng)頁類似,使用者接受的培訓(xùn)也僅限于業(yè)務(wù)邏輯而無需將大量精力浪費(fèi)學(xué)習(xí)軟件操作上。</p><p><b> 3. 系統(tǒng)整合</b></p><p>
93、 無論是辦公自動(dòng)化OA系統(tǒng),人力資源HR系統(tǒng),客戶關(guān)系管理CRM系統(tǒng)等,發(fā)展的趨勢(shì)是不斷融合。而采用統(tǒng)一的B/S結(jié)構(gòu)開發(fā)的產(chǎn)品無論是現(xiàn)在還是將來都是最好的選擇,它提供了真正意義上無縫地與其它系統(tǒng)進(jìn)行整合的方案。</p><p> 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ī)
94、模和地理分布確定。企業(yè)內(nèi)部通過防火墻接入Internet,在整個(gè)網(wǎng)絡(luò)采用TCP/IP協(xié)議。</p><p> 圖 1.3 B/S結(jié)構(gòu)圖</p><p> 1.5.7 開發(fā)工具之JavaBean</p><p> JavaBean 是一種JAVA語言寫成的可重用組件,是使用 java.beans 包開發(fā)的,它是 Java 2 標(biāo)準(zhǔn)版的一部分。JavaBean 是
95、一臺(tái)機(jī)器上同一個(gè)地址空間中運(yùn)行的組件。JavaBean 是進(jìn)程內(nèi)組件。Enterprise Bean 是使用 javax.ejb 包開發(fā)的,它是標(biāo)準(zhǔn) JDK 的擴(kuò)展,是 Java 2 Enterprise Edition 的一部分。為寫成JavaBean,類必須是具體的和公共的,并且具有無參數(shù)的構(gòu)造器。JavaBeans 通過提供符合一致性設(shè)計(jì)模式的公共方法將內(nèi)部域暴露稱為屬性。眾所周知,屬性名稱符合這種模式,其他Java 類可以通過自
96、省機(jī)制發(fā)現(xiàn)和操作這些JavaBean 屬性。 </p><p> 用戶可以使用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)心任何改變。 </p><p&
97、gt; JavaBean是Sun微系統(tǒng)的一個(gè)面向?qū)ο蟮木幊探涌冢梢宰屇憬芍赜脩?yīng)用程序或能在網(wǎng)絡(luò)中任何主流操作系統(tǒng)平臺(tái)上配置的程序塊,稱作組件。像Java applet一樣,JavaBeans組件(或Beans)能夠給予萬維網(wǎng)頁面交互的能力,例如:計(jì)算感興趣的比率或是根據(jù)用戶或?yàn)g覽器的特性改變頁面內(nèi)容。 </p><p> 從用戶的觀點(diǎn)來看,一個(gè)組件可以是一個(gè)與你交互的按鈕或是一個(gè)當(dāng)你按下按鈕它便開始的小
98、計(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)用程序或情況下和不同的
99、組件產(chǎn)生不同的組合來使用。</p><p> JavaBean可分為兩種:一種是有用戶界面(UI,User Interface)的JavaBean;還有一種是沒有用戶界面,主要負(fù)責(zé)處理事務(wù)(如數(shù)據(jù)運(yùn)算,操縱數(shù)據(jù)庫)的JavaBean。JSP通常訪問的是后一種JavaBean。</p><p><b> 2 系統(tǒng)分析</b></p><p>
100、 2.1 系統(tǒng)功能概述</p><p> 系統(tǒng)主要完成兩大功能:面向非會(huì)員和會(huì)員的前臺(tái)功能和面向系統(tǒng)管理員的后臺(tái)功能。非會(huì)員即沒有在本網(wǎng)站進(jìn)行注冊(cè)的用戶,可以進(jìn)行歌曲的瀏覽跟點(diǎn)播。會(huì)員即在本網(wǎng)站進(jìn)行注冊(cè)過的用戶,在登錄之后可以進(jìn)行歌曲的下載、上傳、點(diǎn)播、分享。系統(tǒng)管理員即數(shù)據(jù)庫管理員,可以在后臺(tái)進(jìn)行數(shù)據(jù)庫的管理。</p><p> 2.1.1 系統(tǒng)前臺(tái)功能概述</p>
101、<p> 在前臺(tái),系統(tǒng)主要提供以下服務(wù):</p><p> (1)非會(huì)員瀏覽和點(diǎn)播歌曲。</p><p> ?。?)會(huì)員瀏覽和點(diǎn)播歌曲外還可以下載和上傳自己喜歡的歌曲。</p><p> ?。?)會(huì)員可以管理自己的信息和自己上傳歌曲的信息。</p><p> 2.1.2 系統(tǒng)后臺(tái)功能概述</p><p>
102、; 在后臺(tái),管理員可進(jìn)行如下操作:</p><p> (1)瀏覽和點(diǎn)播歌曲。</p><p> ?。?)管理歌曲信息,包括上傳、下載、修改和刪除歌曲。</p><p> (3)管理會(huì)員信息,包括增加、修改和刪除會(huì)員信息。</p><p><b> 2.2 可行性研究</b></p><p>
103、; 《在線音樂管理系統(tǒng)》主要從行業(yè)市場(chǎng)背景、資源供應(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ù)測(cè),從而提出該項(xiàng)目是否值得投資和如何進(jìn)行建設(shè)的咨詢意見,為項(xiàng)目決策提供依據(jù)的一種綜合性的系統(tǒng)分析方法。 《在線音樂管理系統(tǒng)》用于多方面的專業(yè)運(yùn)用,包括:用于向國家相關(guān)政府
104、部門申請(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)容:</p><p> 2.2.1 經(jīng)濟(jì)可行性</p><p> 本系
105、統(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ì)上是可行的。</p><p> 2.2.2 技術(shù)可行性</p><p> 技術(shù)可行性要考慮現(xiàn)有的技術(shù)條件是否能夠
106、順利完成開發(fā)工作,軟硬件配置是否滿足開發(fā)的需求等。本系統(tǒng)用的是JSP開發(fā)語言,調(diào)試相對(duì)簡(jiǎn)單,當(dāng)前的計(jì)算機(jī)硬件配置也完全能滿足開發(fā)的需求,因此在技術(shù)上是絕對(duì)可行的。軟件方面:由于目前單機(jī)模式相對(duì)發(fā)展成熟,故軟件的開發(fā)平臺(tái)成熟可行,它們速度快、容量大、可靠性能高、價(jià)格低,完全能滿足系統(tǒng)的需求。</p><p> 本系統(tǒng)的開發(fā),是采用JSP編程語言,已無技術(shù)上的問題。而且本人經(jīng)過四年的大學(xué)學(xué)習(xí)對(duì)JSP技術(shù)進(jìn)行了深入的
107、學(xué)習(xí)。還系統(tǒng)學(xué)習(xí)了MySQL和SQL Server 2000數(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ù)上是可行的。</p><p> 2.2.3 法律可行性</p><p> (1)所有技術(shù)資料都為合法。</p><p> (2)開發(fā)過程中不存在知識(shí)產(chǎn)權(quán)問題。</p><p>
108、(3)未抄襲任何系統(tǒng),不存在侵犯版權(quán)問題。</p><p> ?。?)開發(fā)過程中未涉及任何法律責(zé)任。</p><p> 綜上所述,本系統(tǒng)的開發(fā)從技術(shù)上、從經(jīng)濟(jì)上、從法律上等都是完全可靠的。</p><p><b> 2.3 需求分析</b></p><p> 在系統(tǒng)功能概述中已經(jīng)粗略的研究了該項(xiàng)目的主要功能,可行性
109、研究中分析了開發(fā)平臺(tái)及本網(wǎng)站的可行性,但為了準(zhǔn)確的確定目標(biāo)系統(tǒng)必須做什么,了解用戶的明確需求,在充分研究先有的在線音樂管理系統(tǒng)的基礎(chǔ)上,進(jìn)一步明確了網(wǎng)站的功能需求。</p><p> 音樂網(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)站能做些什么事情,也就是所謂的需
溫馨提示
- 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. 眾賞文庫僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 在線音樂管理系統(tǒng)畢業(yè)論文
- 畢業(yè)論文范文——基于ios的在線音樂播放系統(tǒng)的開發(fā)
- 畢業(yè)論文范文——基于ios的在線音樂播放系統(tǒng)的開發(fā)
- 在線音樂播放系統(tǒng)畢業(yè)設(shè)計(jì)
- 畢業(yè)論文--android在線音樂播放器設(shè)計(jì)與實(shí)現(xiàn)
- 基于web的在線音樂網(wǎng)站設(shè)計(jì)【畢業(yè)論文】
- 在線音樂網(wǎng)站論文
- 基于android平臺(tái)的在線音樂客戶端設(shè)計(jì)與實(shí)現(xiàn)-畢業(yè)論文
- jsp實(shí)現(xiàn)在線音樂播放系統(tǒng)
- 在線音樂寡頭割據(jù)
- 在線音樂點(diǎn)播系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)
- 畢業(yè)論文---基于jsp的在線畢業(yè)論文管理系統(tǒng)
- hrms在線管理系統(tǒng)畢業(yè)論文
- 在線作業(yè)批改管理系統(tǒng) 畢業(yè)論文
- hrms在線管理系統(tǒng)畢業(yè)論文
- 基于jsp在線音樂播放系統(tǒng)畢業(yè)設(shè)計(jì)外文文獻(xiàn)及翻譯
- 在線音樂記譜系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 在線音樂哼唱檢索系統(tǒng)的算法與實(shí)現(xiàn).pdf
- 校園在線音樂平臺(tái)資源管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn).pdf
- 畢業(yè)論文-在線購物系統(tǒng)
評(píng)論
0/150
提交評(píng)論