版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 摘要</b></p><p> 計(jì)算機(jī)網(wǎng)絡(luò)的不斷擴(kuò)大使得網(wǎng)上娛樂(lè)這個(gè)新生力量有了自己更充足的成長(zhǎng)空間,從目前的市場(chǎng)來(lái)看,在網(wǎng)上娛樂(lè)中,網(wǎng)上游戲和網(wǎng)上音樂(lè)占據(jù)了很大一部分市場(chǎng)空間,很多人都有能力并且也愿意以網(wǎng)上娛樂(lè)的方式去消費(fèi),根據(jù)網(wǎng)絡(luò)音樂(lè)的實(shí)際情況,通過(guò)對(duì)網(wǎng)站有關(guān)音樂(lè)媒體發(fā)布事項(xiàng)的一番調(diào)查與分析,在用戶對(duì)音樂(lè)需求的解析基礎(chǔ)上,明確了在線音樂(lè)點(diǎn)播系統(tǒng)要實(shí)現(xiàn)的具體
2、功能,并闡述系統(tǒng)的結(jié)構(gòu)設(shè)計(jì)和功能設(shè)計(jì),用JSP語(yǔ)言和MySQL數(shù)據(jù)庫(kù)實(shí)現(xiàn)一個(gè)小型音樂(lè)網(wǎng)站的設(shè)計(jì)與應(yīng)用。用戶可以經(jīng)過(guò)注冊(cè)的試聽(tīng)自己喜歡的歌曲甚至可以在線下載歌曲到他們的私人電腦里;后臺(tái)管理中,管理員對(duì)站內(nèi)音樂(lè)信息采取必要的維護(hù)措施,比如增加新的音樂(lè)信息,修改歌曲和歌手信息等。</p><p> 關(guān)鍵詞:音樂(lè)點(diǎn)播;后臺(tái)管理;JSP;MySQL數(shù)據(jù)庫(kù)</p><p><b> Ab
3、stract</b></p><p> The internet enjoys the roaring development, entertainments online have more space for advancement. According to the survey of the market, online entertainment, including the online
4、 games and online music, which account for the most shares of the market. A large number of people prefer the online entertainment to relax and enjoy the life. On the ground of several surveys about online music, the fun
5、ction of dibble online music system is confirmed through the investigation and analysis of websites</p><p> Keywords: music dibble; website content management; JSP; MySQL data base</p><p><b
6、> 目錄</b></p><p><b> 1 引 言1</b></p><p> 1.1 研究背景1</p><p> 1.2 國(guó)內(nèi)研究現(xiàn)狀1</p><p> 1.3研究?jī)?nèi)容與本人所做的工作2</p><p> 1.3.1 研究?jī)?nèi)容2</p>
7、<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> 1.5.3 開發(fā)工具之M
8、ySQL數(shù)據(jù)庫(kù)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><p><b>
9、 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ì)可行性19</p>
10、<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ù)字典22</p>
11、<p><b> 3 概要設(shè)計(jì)26</b></p><p> 3.1 系統(tǒng)總體結(jié)構(gòu)圖26</p><p> 3.2 數(shù)據(jù)庫(kù)概念設(shè)計(jì)26</p><p><b> 4 詳細(xì)設(shè)計(jì)29</b></p><p> 4.1 數(shù)據(jù)庫(kù)物理設(shè)計(jì)29</p><p&
12、gt; 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)母版頁(yè)的實(shí)現(xiàn)31</p><p> 5.1.1 系統(tǒng)首頁(yè)實(shí)現(xiàn)31</p>&
13、lt;p> 5.1.2 上傳歌曲頁(yè)面的實(shí)現(xiàn)32</p><p> 5.1.3 管理我的歌曲頁(yè)面的實(shí)現(xiàn)32</p><p> 5.1.4下載歌曲頁(yè)面的實(shí)現(xiàn)33</p><p> 5.1.5 短消息與留言板的實(shí)現(xiàn)33</p><p> 6 系統(tǒng)的調(diào)試與測(cè)試35</p><p> 6.1 程序調(diào)試
14、35</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><p><b&
15、gt; 結(jié)束語(yǔ)40</b></p><p><b> 致 謝41</b></p><p><b> 參考文獻(xiàn)42</b></p><p><b> 1 引言</b></p><p><b> 1.1 研究背景</b><
16、/p><p> 目前,隨著Internet在全球的推廣和普及,越來(lái)越多的人開始進(jìn)入這個(gè)全球范圍的計(jì)算機(jī)網(wǎng)絡(luò),世界因此變成了一個(gè)小小的地球村,人們通過(guò)互聯(lián)網(wǎng)彼此溝通和交流。面對(duì)信息化逐步成為社會(huì)標(biāo)志的現(xiàn)實(shí)狀況,必然決定了計(jì)算機(jī)網(wǎng)絡(luò)的應(yīng)用以及使用將會(huì)更加的頻繁,信息化給人們帶來(lái)的好處是不言而喻的,就計(jì)算機(jī)網(wǎng)絡(luò)而言,在軍隊(duì)、政府以及企業(yè)的應(yīng)用所帶來(lái)的好處更是數(shù)不勝數(shù),而在如今這樣一個(gè)信息化的網(wǎng)絡(luò)時(shí)代,音樂(lè)變得無(wú)處不在,尤
17、其是多媒體的出現(xiàn)讓音樂(lè)更加大眾化、普及化了?,F(xiàn)在只要你鼠標(biāo)輕輕一點(diǎn),就可以找到各種各樣的,甚至是不同國(guó)家的音樂(lè)信息供你選擇來(lái)試聽(tīng)和下載,也決定了網(wǎng)上娛樂(lè)會(huì)有很大的市場(chǎng)潛力和升值空間,因此,根據(jù)實(shí)際情況打造一個(gè)在線音樂(lè)點(diǎn)播系統(tǒng)具有很實(shí)際的市場(chǎng)意義。</p><p> 課題目標(biāo)是設(shè)計(jì)并實(shí)現(xiàn)一個(gè)B/S體系結(jié)構(gòu)的Integer音樂(lè)網(wǎng)站。結(jié)合實(shí)踐,理解網(wǎng)頁(yè)開發(fā)技術(shù)和數(shù)據(jù)庫(kù)的基本知識(shí),學(xué)習(xí)相關(guān)開發(fā)工具和應(yīng)用軟件,熟悉網(wǎng)站建
18、設(shè)的過(guò)程,熟練掌握網(wǎng)絡(luò)數(shù)據(jù)庫(kù)編程方法。</p><p> 1.2 國(guó)內(nèi)研究現(xiàn)狀</p><p> 現(xiàn)在我國(guó)的信息管理水平還比較落后,這樣的機(jī)制已經(jīng)不能適應(yīng)時(shí)代的發(fā)展,因?yàn)樗速M(fèi)了許多人力和物力,在信息時(shí)代傳統(tǒng)的管理方法必然被計(jì)算機(jī)為基礎(chǔ)的信息管理所取代。軟件作為一項(xiàng)有力的工具,只能當(dāng)此種工具,與我們的實(shí)踐相結(jié)合起來(lái)的時(shí)候,才具有重大的社會(huì)價(jià)值及使用價(jià)值。因此根據(jù)目前實(shí)際的情況開發(fā)這樣一
19、套管理系統(tǒng)是十分必要的。</p><p> 隨著科學(xué)技術(shù)的不斷提高,計(jì)算機(jī)科學(xué)技術(shù)日漸成熟,其強(qiáng)大的功能已為人們深刻認(rèn)識(shí),它已進(jìn)入人類社會(huì)的各個(gè)領(lǐng)域并發(fā)揮著越來(lái)越重要的作用。作為計(jì)算機(jī)應(yīng)用的一部分,使用計(jì)算機(jī)進(jìn)行管理,具有著手工管理所無(wú)法比擬的優(yōu)點(diǎn)。例如:可靠性高、存儲(chǔ)量大、保密性好、壽命長(zhǎng)、成本低等。這些優(yōu)點(diǎn)能夠極大地提高工作的效率,也是信息正規(guī)化管理與世界接軌的重要條件。</p><p&
20、gt; 本系統(tǒng)用JSP語(yǔ)言來(lái)編寫社本系統(tǒng),數(shù)據(jù)庫(kù)用MYSQL來(lái)連接系統(tǒng)。本論文主要涉及軟件,數(shù)據(jù)庫(kù)與網(wǎng)絡(luò)技術(shù)等。涵蓋知識(shí)面廣,可有效地提高學(xué)生綜合運(yùn)用所學(xué)知識(shí)分析解決問(wèn)題的能力,增強(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)容與本人所做的工作</p><p&
21、gt; 1.3.1 研究?jī)?nèi)容 </p><p> 設(shè)計(jì)并開發(fā)一個(gè)在線音樂(lè)管理系統(tǒng),該系統(tǒng)的功能如下:</p><p> ?。?)點(diǎn)播歌曲。用戶不用注冊(cè)會(huì)員也可點(diǎn)播本系統(tǒng)中的歌曲。</p><p> ?。?)注冊(cè)會(huì)員。用戶需要注冊(cè)會(huì)員后才能享受本系統(tǒng)的其他功能。</p><p> ?。?)下載歌曲。注冊(cè)會(huì)員之后即為本系統(tǒng)會(huì)員,可下載自己所喜
22、歡的歌曲到本地電腦中。</p><p> ?。?)上傳歌曲。本系統(tǒng)會(huì)員,可將自己喜歡,但系統(tǒng)所沒(méi)有的的歌曲上傳到本系統(tǒng)。</p><p> ?。?)管理我的歌曲。會(huì)員登錄后,可管理自己上傳過(guò)的歌曲信息。</p><p> ?。?)后臺(tái)管理。管理員可以方便的管理音樂(lè)信息和會(huì)員信息。</p><p> 1.3.2 本人所做的工作</p&g
23、t;<p> (1)點(diǎn)播歌曲流程的設(shè)計(jì)與實(shí)現(xiàn)。</p><p> (2)會(huì)員功能流程的設(shè)計(jì)與實(shí)現(xiàn)。包括注冊(cè)會(huì)員,點(diǎn)播歌曲、上傳、下載歌曲。</p><p> (3)后臺(tái)管理員的設(shè)計(jì)與實(shí)現(xiàn)。在后臺(tái),系統(tǒng)管理員可以方便的管理音樂(lè)信息和會(huì)員信息。</p><p><b> 1.4 論文結(jié)構(gòu)</b></p><
24、p> 本論文分為六章,分別如下:</p><p> 第一章為引言部分,介紹了設(shè)計(jì)的選題背景、國(guó)內(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ù)庫(kù)設(shè)計(jì)工作。</p>
25、<p> 第四章為系統(tǒng)的詳細(xì)介紹。</p><p> 第五章關(guān)于系統(tǒng)頁(yè)面的實(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)行通過(guò)。</p><
26、p> MySQL5.0:主要存儲(chǔ)網(wǎng)頁(yè)上抽取的信息,方便以后建索引。</p><p> MyEclipse9.0:用來(lái)開發(fā)系統(tǒng)的查詢模塊。</p><p> Tomcat 6.0:是一款Java平臺(tái)下的服務(wù)器軟件,模擬網(wǎng)絡(luò)環(huán)境。</p><p> 1.5.1 開發(fā)工具之JSP</p><p><b> JSP技術(shù)簡(jiǎn)介&
27、lt;/b></p><p> JSP(Java Server Page服務(wù)器網(wǎng)頁(yè))是從1998年開始出現(xiàn)的新技術(shù)。由Sun公司倡導(dǎo)、許多公司參與一起建立的一種動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)標(biāo)準(zhǔn),是基于JavaServlet以及整個(gè)Java體系的web開發(fā)技術(shù)。在傳統(tǒng)的網(wǎng)頁(yè)HTML文件(*.htm,*.html)中加入腳本片段和JSP標(biāo)記(Tag),構(gòu)成JSP網(wǎng)頁(yè)(*.jsp)。JSP技術(shù)為創(chuàng)建顯示動(dòng)態(tài)生成內(nèi)容的web頁(yè)面
28、提供了簡(jiǎn)便的方法。JSP作為Java家族的一員,承襲了Java的特點(diǎn),即跨平臺(tái)的特性,也即一次編譯,到處運(yùn)行。</p><p> 在國(guó)外,己經(jīng)大量使用JSP作為網(wǎng)絡(luò)應(yīng)用程序的開發(fā)工具,而在國(guó)內(nèi),盡管JSP還不是主流開發(fā)技術(shù),但是由于JSP的強(qiáng)大優(yōu)勢(shì),許多網(wǎng)站都已經(jīng)準(zhǔn)備轉(zhuǎn)向JSP,利用JSP來(lái)開發(fā)動(dòng)態(tài)網(wǎng)站。 </p><p> 2. JSP工作原理</p><p>
29、; JSP是面向服務(wù)器的,因此支持任何瀏覽器。當(dāng)Web服務(wù)器和JSP引擎遇到訪問(wèn)JSP網(wǎng)頁(yè)的請(qǐng)求時(shí),JSP引擎將請(qǐng)求對(duì)象發(fā)送給服務(wù)器端的相關(guān)組件,比如JavaBean組件、Servlet或EJB等,然后由服務(wù)器端組件處理這些請(qǐng)示,可能需要從數(shù)據(jù)庫(kù)或數(shù)據(jù)存儲(chǔ)中檢索信息,然后服務(wù)器端組件再將響應(yīng)對(duì)象返回JSP引擎。</p><p> JSP引擎將響應(yīng)對(duì)象傳遞給JSP頁(yè)面,根據(jù)JSP頁(yè)面的HTML格式完成數(shù)據(jù)編排,
30、最后Web服務(wù)器和JSP引擎將格式化后的JSP頁(yè)面以HTML格式返回客戶瀏覽器。這就是當(dāng)前網(wǎng)站構(gòu)建中廣泛采用的瀏覽器——Web服務(wù)器——后臺(tái)數(shù)據(jù)庫(kù)的三層架構(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>
31、;<p> 模式一:JSP+JavaBeans技術(shù)。在這種模式中,JSP頁(yè)面獨(dú)自響應(yīng)請(qǐng)求并將處理結(jié)果返回給客戶。Bean處理所有數(shù)據(jù)訪問(wèn),JSP實(shí)現(xiàn)頁(yè)面的表現(xiàn),以實(shí)現(xiàn)內(nèi)容生成與顯示相分離。</p><p> 當(dāng)處理復(fù)雜的大型應(yīng)用時(shí),頁(yè)面被嵌入大量的腳本或Java代碼段,當(dāng)需要處理的商業(yè)邏輯復(fù)雜時(shí),這種情況會(huì)變得非常糟糕,大量的內(nèi)嵌代碼使得頁(yè)面程序變得復(fù)雜,對(duì)于前端界面設(shè)計(jì)人員,這是不可思議的事情
32、。所以模式一可用于小型應(yīng)用,不能夠滿足大型應(yīng)用的需要。</p><p> 模式二:JSP+Servlet+JavaBeans技術(shù)。Servlet技術(shù)是一種采用Java技術(shù)來(lái)實(shí)現(xiàn)CGI</p><p> 功能的一種技術(shù),Servlet技術(shù)非常適于服務(wù)器端的處理和編程,并且Servlet會(huì)長(zhǎng)期駐留在內(nèi)存。</p><p> 從開發(fā)的觀點(diǎn)看,模式二具有更清晰的頁(yè)面表
33、現(xiàn),清楚的開發(fā)者角色劃分,在大規(guī)模項(xiàng)目開發(fā)中,模式二更被采用,模式二也更符合當(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)頁(yè)并返回給瀏覽器。而JavaBeans對(duì)應(yīng)的是Model,實(shí)現(xiàn)各個(gè)具體的應(yīng)用邏輯與功能。</p
34、><p><b> 4. JSP的特點(diǎn)</b></p><p> 簡(jiǎn)化的頁(yè)面生成技術(shù)。</p><p> JSP頁(yè)面用標(biāo)準(zhǔn)的HTML或XML命令來(lái)處理頁(yè)面的格式化和布局設(shè)計(jì),而用類似HTML、XML的標(biāo)記和Java語(yǔ)言編寫的腳本程序生成頁(yè)面內(nèi)容。這使得頁(yè)面形式與頁(yè)面內(nèi)容互相獨(dú)立,非常有利于大型項(xiàng)目的分工合作。</p><p
35、> ?。?)與Java平臺(tái)有機(jī)集成。</p><p> JSP技術(shù)是Java 2平臺(tái)的重要組成部分,JSP使用Java語(yǔ)言作為它的腳本語(yǔ)言。在JSP頁(yè)面中可以使用幾乎所有的Java組件和Java API,這就能充分發(fā)揮出Java語(yǔ)言的強(qiáng)大功能。使用JSP技術(shù)可以創(chuàng)建具有高度可伸縮性和可靠性的Web應(yīng)用程序。</p><p> ?。?)硬件平臺(tái)和服務(wù)器無(wú)關(guān)性。</p>
36、<p> JSP作為Java家族的一員,秉承了Java技術(shù)的“一次編寫,隨處可用(Write Once,Rum Anywhere)”的特性,可以運(yùn)行于大多數(shù)流行的操作系統(tǒng)平臺(tái)及Web服務(wù)器,這種與服務(wù)器硬件和操作系統(tǒng)平臺(tái)的無(wú)關(guān)性是JSP相對(duì)于其它動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)最大的一個(gè)優(yōu)點(diǎn)。</p><p> (3)功能可擴(kuò)展性。</p><p> 如同Microsoft的JSP技術(shù)可以通過(guò)
37、ActiveX/COM組件來(lái)擴(kuò)展功能一樣,JSP可以通過(guò)JavaBean和EJB(Enterprise JavaBean)以及自定義的標(biāo)記來(lái)擴(kuò)展功能。</p><p> JSP可以通過(guò)JDBC,與諸如Oracle、SQL Server這樣的大型關(guān)系數(shù)據(jù)庫(kù)進(jìn)行連接。</p><p> JSP提供了一些隱含對(duì)象。這些隱含對(duì)象在JSP頁(yè)面中可以直接引用,而不必首先聲明。利用JSP提供的這些隱
38、含對(duì)象,可以使腳本功能更加強(qiáng)大,并且編程更加容易、方便。例如,利用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>&
39、lt;p> ?。?)系統(tǒng)的多平臺(tái)支持?;旧峡梢栽谒衅脚_(tái)上的任意環(huán)境中開發(fā),在任意環(huán)境中進(jìn)行系統(tǒng)部署,在任意環(huán)境中擴(kuò)展。相比ASP/.net的局限性是顯而易見(jiàn)的。 </p><p> (3)強(qiáng)大的可伸縮性。從只有一個(gè)小的Jar文件就可以運(yùn)行Servlet/JSP,到由多臺(tái)服務(wù)器進(jìn)行集群和負(fù)載均衡,到多臺(tái)Application進(jìn)行事務(wù)處理,消息處理,一臺(tái)服務(wù)器到無(wú)數(shù)臺(tái)服務(wù)器,Java顯示了一個(gè)巨大的生
40、命力。 </p><p> ?。?)多樣化和功能強(qiáng)大的開發(fā)工具支持。這一點(diǎn)與ASP很像,Java已經(jīng)有了許多非常優(yōu)秀的開發(fā)工具,而且許多可以免費(fèi)得到,并且其中許多已經(jīng)可以順利的運(yùn)行于多種平臺(tái)之下。 </p><p> (5)支持服務(wù)器端組件。web應(yīng)用需要強(qiáng)大的服務(wù)器端組件來(lái)支持,開發(fā)人員需要利用其他工具設(shè)計(jì)實(shí)現(xiàn)復(fù)雜功能的組件供web頁(yè)面調(diào)用,以增強(qiáng)系統(tǒng)性能。JSP可以使用成熟的J
41、AVA BEANS 組件來(lái)實(shí)現(xiàn)復(fù)雜商務(wù)功能。</p><p><b> JSP技術(shù)的劣勢(shì):</b></p><p> ?。?)與ASP一樣,Java的一些優(yōu)勢(shì)正是它致命的問(wèn)題所在。正是由于為了跨平臺(tái)的功能,為了極度的伸縮能力,所以極大的增加了產(chǎn)品的復(fù)雜性。 </p><p> ?。?)Ja
42、va的運(yùn)行速度是用class常駐內(nèi)存來(lái)完成的,所以它在一些情況下所使用的內(nèi)存比起用戶數(shù)量來(lái)說(shuō)確實(shí)是“最低性能價(jià)格比”了。從另一方面,它還需要硬盤空間來(lái)儲(chǔ)存一系列的.java文件和.class文件,以及對(duì)應(yīng)的版本文件。</p><p> JSP的工作模式如圖1.1所示:用戶通過(guò)web server 訪問(wèn)到對(duì)方的服務(wù)器,獲得所需要的服務(wù)。</p><p> 圖 1.1 JSP的工作模式圖&
43、lt;/p><p> 1.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ì)E
44、clipseIDE的擴(kuò)展,利用它我們可以在數(shù)據(jù)庫(kù)和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>&l
45、t;p> (1)JavaEE模型。 </p><p> ?。?)WEB開發(fā)工具。 </p><p> ?。?)EJB開發(fā)工具。 </p><p> (4)應(yīng)用程序服務(wù)器的連接器。 </p><p> ?。?)JavaEE項(xiàng)目部署服務(wù)。 </p><p> ?。?)數(shù)據(jù)庫(kù)服務(wù)。 </p&
46、gt;<p> ?。?)MyEclipse整合幫助。</p><p> 對(duì)于以上每一種功能上的類別,在Eclipse中都有相應(yīng)的功能部件,并通過(guò)一系列的插件來(lái)實(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è)試以及
47、除錯(cuò),MyEclipse6.0以前版本需先安裝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),然后選擇工程名稱和路徑,單擊完
48、成就可以了。 打包完成以后我們將war放到tomcat的webapps目錄下,并設(shè)置server.xml文件;然后運(yùn)行tomcat,并輸入項(xiàng)目的url就可以瀏覽了。</p><p> 1.5.3 開發(fā)工具之MySQL數(shù)據(jù)庫(kù)</p><p> 數(shù)據(jù)庫(kù)技術(shù)作為數(shù)據(jù)管理技術(shù),是計(jì)算機(jī)軟件領(lǐng)域的一個(gè)重要分支,產(chǎn)生于60年代末。現(xiàn)已形成相當(dāng)規(guī)模的理論體系和實(shí)用技術(shù)。優(yōu)秀的數(shù)據(jù)庫(kù)設(shè)計(jì)是應(yīng)用成功的基
49、石。萬(wàn)萬(wàn)丈高樓平地起,數(shù)據(jù)庫(kù)設(shè)計(jì)如同高樓的基石,是開發(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í):涉
50、及到所有用戶的數(shù)據(jù)定義、是全局的數(shù)據(jù)視圖。全局視圖的描述稱為“概念模式”。內(nèi)部級(jí):最接近于物理存儲(chǔ)設(shè)備,涉及到實(shí)際數(shù)據(jù)存儲(chǔ)的結(jié)構(gòu)物理存儲(chǔ)數(shù)據(jù)視圖的描述稱為“內(nèi)模式”。數(shù)據(jù)庫(kù)的三級(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ù)庫(kù)管理系統(tǒng)(DBMS)</p>
51、<p> 數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)是指數(shù)據(jù)庫(kù)系統(tǒng)中管理數(shù)據(jù)的軟件系統(tǒng)。DBMS是數(shù)據(jù)庫(kù)系統(tǒng)的核心組成部分。對(duì)數(shù)據(jù)庫(kù)的一切操作,包括定義、查詢、更新及各種控制,都是通過(guò)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ù)庫(kù)進(jìn)行操作,是由DBMS把
52、操作從應(yīng)用程序帶到外部級(jí)、概念級(jí)、再導(dǎo)向內(nèi)部級(jí),進(jìn)而操作存儲(chǔ)器中的數(shù)據(jù)。DBMS的主要目標(biāo),是使數(shù)據(jù)作為一種可管理的資源處理。</p><p> DBMS的主要功能為:</p><p> ?。?)數(shù)據(jù)庫(kù)定義功能:DBMS提供數(shù)據(jù)定義語(yǔ)言(DDL)定義數(shù)據(jù)庫(kù)的三級(jí)結(jié)構(gòu),包括外模式、概念模式、內(nèi)模式及其相互之間的映象,定義數(shù)據(jù)的完整性、安全控制等約束。因此,在DBMS中應(yīng)包括DDL的編譯程序
53、。</p><p> (2)數(shù)據(jù)庫(kù)的操縱功能:DBMS提供數(shù)據(jù)操縱語(yǔ)言(DML)實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)中數(shù)據(jù)的操作?;镜臄?shù)據(jù)操作分成兩類四種:檢索(查詢)、更新(插入、刪除、修改)。</p><p> ?。?)數(shù)據(jù)庫(kù)的保護(hù)功能:數(shù)據(jù)庫(kù)中的數(shù)據(jù)是信息社會(huì)的戰(zhàn)略資源,對(duì)數(shù)據(jù)的保護(hù)是至關(guān)重要的大事。DBMS對(duì)數(shù)據(jù)庫(kù)的保護(hù)主要通過(guò)四個(gè)方面實(shí)現(xiàn):</p><p> (4)數(shù)據(jù)庫(kù)的
54、恢復(fù):在數(shù)據(jù)庫(kù)被破壞或數(shù)據(jù)不正確時(shí),系統(tǒng)有能力把數(shù)據(jù)庫(kù)恢復(fù)到正確的狀態(tài)。</p><p> ?。?)數(shù)據(jù)庫(kù)的并發(fā)控制:DBMS的并發(fā)控制子系統(tǒng)能防止錯(cuò)誤發(fā)生,正確處理好多用戶、多任務(wù)環(huán)境下的并發(fā)操作。</p><p> ?。?)數(shù)據(jù)庫(kù)的完整性控制:保證數(shù)據(jù)庫(kù)中數(shù)據(jù)及語(yǔ)義的正確性和有效性,防止任何對(duì)數(shù)據(jù)造成錯(cuò)誤的操作。</p><p> ?。?)數(shù)據(jù)庫(kù)的安全性控制:防
55、止未經(jīng)授權(quán)的用戶蓄謀或無(wú)意地存取數(shù)據(jù)庫(kù)中的數(shù)據(jù),以免數(shù)據(jù)的泄露、更改或破壞。</p><p> ?。?)數(shù)據(jù)庫(kù)的存儲(chǔ)管理:把各種DML語(yǔ)句轉(zhuǎn)換成低層的文件系統(tǒng)命令,起到數(shù)據(jù)的存儲(chǔ)、檢索和更新的作用。</p><p> ?。?)數(shù)據(jù)庫(kù)的維護(hù)功能:它有許多實(shí)用程序提供給數(shù)據(jù)庫(kù)管理員如:數(shù)據(jù)裝載程序備份程序、文件重組織程序、性能監(jiān)控程序。</p><p> ?。?0)數(shù)據(jù)
56、字典:數(shù)據(jù)庫(kù)系統(tǒng)中存放三級(jí)結(jié)構(gòu)定義的數(shù)據(jù)庫(kù)稱為數(shù)據(jù)字典(DD)。對(duì)數(shù)據(jù)庫(kù)的操作都要通過(guò)訪問(wèn)DD才能實(shí)現(xiàn),通常DD中還存放數(shù)據(jù)庫(kù)運(yùn)行時(shí)的統(tǒng)計(jì)信息。</p><p> 本系統(tǒng)中所涉及到的MySQL數(shù)據(jù)庫(kù)是眾多的關(guān)系型數(shù)據(jù)庫(kù)產(chǎn)品中的一個(gè),相比較其它系統(tǒng)而言,MySQL數(shù)據(jù)庫(kù)可以稱得上是目前運(yùn)行速度最快的SQL語(yǔ)言數(shù)據(jù)庫(kù)。除了具有許多其它數(shù)據(jù)庫(kù)所不具備的功能和選擇之外,MySQL數(shù)據(jù)庫(kù)是一種完全免費(fèi)的產(chǎn)品,用戶可以直接
57、從網(wǎng)上下載數(shù)據(jù)庫(kù),用于個(gè)人或商業(yè)用途,而不必支付任何費(fèi)用。</p><p> 總體來(lái)說(shuō),MySQL數(shù)據(jù)庫(kù)具有以下主要特點(diǎn):</p><p> ?。?)同時(shí)訪問(wèn)數(shù)據(jù)庫(kù)的用戶數(shù)量不受限制;</p><p> ?。?)可以保存超過(guò)50,000,000條記錄;</p><p> ?。?)是目前市場(chǎng)上現(xiàn)有產(chǎn)品中運(yùn)行速度最快的數(shù)據(jù)庫(kù)系統(tǒng);</p&
58、gt;<p> (4)用戶權(quán)限設(shè)置簡(jiǎn)單、有效?!?lt;/p><p> 如今,包括Siemens和Silicon Graphics這樣的國(guó)際知名公司也開始把MySQL作為其數(shù)據(jù)庫(kù)管理系統(tǒng),這就更加證明了MySQL數(shù)據(jù)庫(kù)的優(yōu)越性能和廣闊的市場(chǎng)發(fā)展前景。</p><p> 與其他的大型數(shù)據(jù)庫(kù)例如Oracle、DB2、SQL Server等相比,MySQL自有它的不足之處,如規(guī)模
59、小、功能有限(MySQL Cluster的功能和效率都相對(duì)比較差)等,但是這絲毫也沒(méi)有減少它受歡迎的程度。對(duì)于一般的個(gè)人使用者和中小型企業(yè)來(lái)說(shuō),MySQL提供的功能已經(jīng)綽綽有余,而且由于MySQL是開放源碼軟件,因此可以大大降低總體擁有成本。 </p><p> 目前Internet上流行的網(wǎng)站構(gòu)架方式是LAMP和LNMP,即使用Linux作為操作系統(tǒng),Apache和Nginx作為Web服務(wù)器,MySQL作為
60、數(shù)據(jù)庫(kù),PHP/Perl/Python作為服務(wù)器端腳本解釋器。由于這四個(gè)軟件都是免費(fèi)或開放源碼軟件(FLOSS),因此使用這種方式不用花一分錢(除開人工成本)就可以建立起一個(gè)穩(wěn)定、免費(fèi)的網(wǎng)站系統(tǒng)。</p><p> 使用MySQL,安全問(wèn)題不能不注意。以下是MySQL提示的23個(gè)注意事項(xiàng): </p><p> ?。?)如果客戶端和服務(wù)器端的連接需要跨越并通過(guò)不可信任的網(wǎng)絡(luò),那么就
61、需要使用SS H隧道來(lái)加密該連接的通信。</p><p> ?。?)用set password語(yǔ)句來(lái)修改用戶的密碼,三個(gè)步驟,先“mysql -u root”登陸數(shù)據(jù)庫(kù)系統(tǒng),然后“mysql> update mysql.user set password=password(’newpwd’)”,最后執(zhí)行“flush privileges”就可以了。 </p><p> (3)需
62、要提防的攻擊有,防偷聽(tīng)、篡改、回放、拒絕服務(wù)等,不涉及可用性和容錯(cuò)方面。對(duì)所有的連接、查詢、其他操作使用基于ACL即訪問(wèn)控制列表的安全措施來(lái)完成。也有一些對(duì)SSL連接的支持。 </p><p> ?。?)除了root用戶外的其他任何用戶不允許訪問(wèn)MySQL主數(shù)據(jù)庫(kù)中的user表; 加密后存放在user表中的加密后的用戶密碼一旦泄露,其他人可以隨意用該用戶名/密碼相應(yīng)的數(shù)據(jù)庫(kù); </p>
63、<p> ?。?)用grant和revoke語(yǔ)句來(lái)進(jìn)行用戶訪問(wèn)控制的工作; </p><p> ?。?)不使用明文密碼,而是使用md5()和sha1()等單向的哈希函數(shù)來(lái)設(shè)置密碼; </p><p> ?。?)不選用字典中的字來(lái)做密碼; </p><p> ?。?)采用防火墻來(lái)去掉50%的外部危險(xiǎn),讓數(shù)據(jù)庫(kù)系統(tǒng)躲在防火墻后面工作,或放置在DM
64、Z區(qū)域中; </p><p> (9)從因特網(wǎng)上用nmap來(lái)掃描3306端口,也可用telnet server_host 3306的方法測(cè)試,不能允許從非信任網(wǎng)絡(luò)中訪問(wèn)數(shù)據(jù)庫(kù)服務(wù)器的3306號(hào)TCP端口,因此需要在防火墻或路由器上做設(shè)定; </p><p> ?。?0)為了防止被惡意傳入非法參數(shù),例如where ID=234,別人卻輸入where ID=234 OR 1=1導(dǎo)致全
65、部顯示,所以在web的表單中使用”或”"來(lái)用字符串,在動(dòng)態(tài)URL中加入%22代表雙引號(hào)、%23代表井號(hào)、%27代表單引號(hào);傳遞未檢 查過(guò)的值給mysql數(shù)據(jù)庫(kù)是非常危險(xiǎn)的; </p><p> ?。?1)在傳遞數(shù)據(jù)給MySQL時(shí)檢查一下大小; </p><p> ?。?2)應(yīng)用程序需要連接到數(shù)據(jù)庫(kù)應(yīng)該使用一般的用戶帳號(hào),只開放少數(shù)必要的權(quán)限給該用戶; </p&g
66、t;<p> (13)在各編程接口(C C++ PHP Perl Java JDBC等)中使用特定‘逃脫字符’函數(shù); 在因特網(wǎng)上使用mysql數(shù)據(jù)庫(kù)時(shí)一定少用傳輸明文的數(shù)據(jù),而用SSL和SSH的加密方式數(shù)據(jù)來(lái)傳輸; </p><p> ?。?4)學(xué)會(huì)使用tcpdump和strings工具來(lái)查看傳輸數(shù)據(jù)的安全性,例如tcpdump -l -i eth0 -w -src or dst port 3
67、306 | strings。以普通用戶來(lái)啟動(dòng)mysql數(shù)據(jù)庫(kù)服務(wù); </p><p> ?。?5)不使用到表的聯(lián)結(jié)符號(hào),選用的參數(shù) –skip-symbolic-links; </p><p> ?。?6)確信在mysql目錄中只有啟動(dòng)數(shù)據(jù)庫(kù)服務(wù)的用戶才可以對(duì)文件有讀和寫的權(quán)限; </p><p> ?。?7)不許將process或super權(quán)限付給非管
68、理用戶,該mysqladmin processlist可以列舉出當(dāng)前執(zhí)行的查詢文本;super權(quán)限可用于切斷客戶端連接、改變服務(wù)器運(yùn)行參數(shù)狀態(tài)、控制拷貝復(fù)制數(shù)據(jù)庫(kù)的服務(wù)器; </p><p> (18)file權(quán)限不付給管理員以外的用戶,防止出現(xiàn)load data‘/etc/passwd’到表中再用select 顯示出來(lái)的問(wèn)題; </p><p> ?。?9)如果不相信DNS服務(wù)
69、公司的服務(wù),可以在主機(jī)名稱允許表中只設(shè)置IP數(shù)字地址; </p><p> ?。?0)使用max_user_connections變量來(lái)使mysqld服務(wù)進(jìn)程,對(duì)一個(gè)指定帳戶限定連接數(shù); </p><p> ?。?1)grant語(yǔ)句也支持資源控制選項(xiàng); </p><p> ?。?2)啟動(dòng)mysqld服務(wù)進(jìn)程的安全選項(xiàng)開關(guān),–local-infile=0
70、或1 若是0則客戶端程序就無(wú)法使用local load dat了,賦權(quán)的一個(gè)例子grant insert(user) on mysql.user to ‘user_name’@'host_name’;若使用–skip-grant-tables系統(tǒng)將對(duì)任何用戶的訪問(wèn)不做任何訪問(wèn)控制,但可以用 mysqladmin flush-privileges或mysqladmin reload來(lái)開啟訪問(wèn)控制;默認(rèn)情況是show databas
71、es語(yǔ)句對(duì)所有用戶開放,可以用–skip-show-databases來(lái)關(guān)閉掉。 </p><p> ?。?3)碰到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 r
72、oot mysql,mysql>update 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是美國(guó)MACROMT
73、DIA公司開發(fā)的集網(wǎng)頁(yè)制作和管理網(wǎng)站于一身的所見(jiàn)即所得網(wǎng)頁(yè)編輯器,它是第一套針對(duì)專業(yè)網(wǎng)頁(yè)設(shè)計(jì)師特別發(fā)展的視覺(jué)化網(wǎng)頁(yè)開發(fā)工具,利用它可以輕而易舉地制作出跨越平臺(tái)限制和跨越瀏覽器限制的充滿動(dòng)感的網(wǎng)頁(yè)。</p><p> Dreamweaver具有靈活的運(yùn)用樣式,熟悉網(wǎng)頁(yè)設(shè)計(jì)的網(wǎng)友都知道,調(diào)用Style的方法很多,我們可以單擊鼠標(biāo)右鍵選擇Custon Style 來(lái)調(diào)用Style標(biāo)準(zhǔn),也可以直接在狀態(tài)欄中的元素列表上
74、單擊右鍵來(lái)調(diào)用Style,直接選擇屬性中想要的效果,可以自動(dòng)生成相對(duì)于的代碼Style,簡(jiǎn)潔又方便。雖然不同的方法達(dá)到的效果看似一樣,但實(shí)際上產(chǎn)生的HTML代碼則完全不同。比如用Custon Style來(lái)調(diào)用Style標(biāo)準(zhǔn),在網(wǎng)頁(yè)代碼中就生成一個(gè)<span>標(biāo)簽,這樣的標(biāo)簽多了就會(huì)使文件十分臃腫而且影響瀏覽器的解析速度,所以我們應(yīng)盡量避免調(diào)用這種方法來(lái)調(diào)用Style。</p><p> Dreamw
75、eaver具有活用的Format Table命令,在復(fù)雜的網(wǎng)頁(yè)設(shè)計(jì)中,表格的應(yīng)用是最多的,因?yàn)槔帽砀窨梢宰杂傻乜刂莆谋竞蛨D像在網(wǎng)頁(yè)上出現(xiàn)的具體位置,從而使整個(gè)網(wǎng)頁(yè)看上去緊湊統(tǒng)一。Dreamweaver在這方面也不甘落后,我們可以使用其中的“Format Table”(格式化表格)命令來(lái)快速地對(duì)表格應(yīng)用預(yù)先設(shè)計(jì)好的樣式。</p><p> Dreamweaver具有拖放自如的特點(diǎn),在使用Dreamweaver編
76、輯網(wǎng)頁(yè)的時(shí)候,經(jīng)常需要插入一些圖像什么的,假設(shè)要插入的圖像很多,按照常規(guī)方法來(lái)操作就顯得非常麻煩。我們可以利用拖放技巧來(lái)很好地解決這個(gè)問(wèn)題。首先我們把Dreamweaver的操作窗口變成活動(dòng)窗口,以騰出空間來(lái)顯示Explorer窗口,找到要插入的圖像文件后,把它們一一用鼠標(biāo)拖動(dòng)到網(wǎng)頁(yè)的適當(dāng)部位,Dreamweaver將自動(dòng)把這些圖像URL添加到文件的HTML代碼中,當(dāng)然這里要求被拖動(dòng)的圖象文件必須是gif、jpg等web圖像格式的文件。
77、</p><p><b> 軟件缺點(diǎn):</b></p><p><b> 1. 效果難一致</b></p><p> 難以精確達(dá)到與瀏覽器完全一致的顯示效果也就是說(shuō)您在所見(jiàn)即所得網(wǎng)頁(yè)編輯器中制作的網(wǎng)頁(yè)放到瀏覽器中是很難完全達(dá)到您真正想要的效果,這一點(diǎn)在結(jié)構(gòu)復(fù)雜一些的網(wǎng)頁(yè)(如分幀結(jié)構(gòu)、動(dòng)態(tài)網(wǎng)頁(yè)結(jié)構(gòu))中便可以體現(xiàn)出來(lái);&
78、lt;/p><p><b> 2. 代碼難控制</b></p><p> 頁(yè)面原始代碼的難以控制性,比如您在所見(jiàn)即所得編輯器中制作一張表格也要幾分鐘,但您要它完全符合您要求可能需要幾十分鐘,甚至更多時(shí)間。而相比之下,非所見(jiàn)所得的網(wǎng)頁(yè)編輯器,就不存在這個(gè)問(wèn)題,因?yàn)樗械腍TML代碼 都在您的監(jiān)控下產(chǎn)生,但是由于非所見(jiàn)所得編輯器的先天條件就注定了它的工作低效率。如何實(shí)現(xiàn)兩
79、者的完美結(jié)合,則既產(chǎn)生干凈、準(zhǔn)確的HTML代碼,又具備所見(jiàn)所得的高效率、直觀性,一直是網(wǎng)頁(yè)設(shè)計(jì)師夢(mèng)想。在DREAMWEAVER之前,F(xiàn)RONTPAGE98一直被人們認(rèn)為是最好的所見(jiàn)即所得網(wǎng)頁(yè)編輯器,但是它同樣繼承了所見(jiàn)即所得的種種劣性。</p><p> 1.5.5開發(fā)工具之Tomcat</p><p> Tomcat是Apache 軟件基金會(huì)(Apache Software Foun
80、dation)的Jakarta 項(xiàng)目中的一個(gè)核心項(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 愛(ài)好者的喜愛(ài)并得到了部分軟件開發(fā)商的認(rèn)可,成為目前比較流行的Web 應(yīng)用服務(wù)器。<
81、;/p><p> Tomcat 是一個(gè)輕量級(jí)應(yīng)用服務(wù)器,在中小型系統(tǒng)和并發(fā)訪問(wèn)用戶不是很多的場(chǎng)合下被普遍使用,是開發(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)行的。&l
82、t;/p><p> 1. 通過(guò)server.xml配置Tomcat</p><p> server.xml是Tomcat的重要配置文件,平時(shí)所說(shuō)的Tomcat的配置(如虛擬主機(jī)的配置、連接端口設(shè)置等)其實(shí)就是指配置server.xml,server.xml中的元素大體可以分為4類,如下:</p><p> 頂層元素:位于整個(gè)配置文件的頂層,主要有<Serve
83、r>元素與<Service>。</p><p> 連接器類元素:它是客戶和服務(wù)(容器類元素)間的通信接口,負(fù)責(zé)接收客戶請(qǐng)求與向客戶返回的響應(yīng)結(jié)果,主要有<Connector>元素。</p><p> 容器類元素:負(fù)責(zé)處理客戶請(qǐng)求并且生成響應(yīng)結(jié)果,主要有<Engine>元素、<Host>元素與<Context>元素。<
84、;/p><p> 嵌套類元素:可以加入到容器中的元素,主要有<logger>元素、<Valve>元素、<Realm>元素等。</p><p> 2. Tomcat的層次結(jié)構(gòu)</p><p> ?。?)Server層</p><p> 對(duì)應(yīng)Server組件,邏輯上表示整個(gè)Tomcat,即整個(gè)Catalina
85、 Servlet容器。它處于Tomcat頂層,可以包含一個(gè)或多個(gè)Service層。Tomcat提供了該層接口的一個(gè)默認(rèn)實(shí)現(xiàn),所以通常不需要用戶自己去實(shí)現(xiàn)。</p><p> ?。?)Service層</p><p> 對(duì)應(yīng)Service組件,是包含在Server層中的一個(gè)邏輯功能層。它包含一個(gè)Engine層,以及一個(gè)或多個(gè)連接器(Connector)。Service組件將一個(gè)或多個(gè)Con
86、nector組件綁定到Engine層上,Connector組件偵聽(tīng)端口,獲得用戶請(qǐng)求,并將請(qǐng)求交給Engine層處理,同時(shí)把處理結(jié)果發(fā)給用戶,從而實(shí)現(xiàn)一個(gè)特定的實(shí)際功能。Tomcat提供了Service接口的默認(rèn)實(shí)現(xiàn),所以通常也不需要用戶定制。</p><p> (3)Engine層</p><p> 對(duì)應(yīng)Engine組件,該層是請(qǐng)求分發(fā)處理層,可以連接多個(gè)Connector。它從Co
87、nnector接收請(qǐng)求后,解析出可以完成用戶請(qǐng)求的URL,根據(jù)該URL可以把請(qǐng)求匹配到正確的Host上,當(dāng)Host處理完用戶請(qǐng)求后,Engine層把結(jié)果返回給適合的連接器,再由連接器傳輸給用戶。該層的接口一般不需要用戶來(lái)定制,特殊情況下,用戶可以通過(guò)實(shí)現(xiàn)該接口來(lái)提供自定義的引擎。</p><p><b> (4)Host層</b></p><p> 對(duì)應(yīng)Host組
88、件,該層表示一個(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。</p><p> (5)Context層</p><p> 對(duì)應(yīng)Context組件,該層代表某個(gè)虛擬主機(jī)上的實(shí)際目錄或一個(gè)
89、WAR,即單個(gè)Web應(yīng)用程序,它運(yùn)行在特定的虛擬主機(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)求的過(guò)程</p><p> Connector負(fù)責(zé)接收客戶的請(qǐng)求并向客戶返回響應(yīng)結(jié)果,在同一個(gè)Servi
90、ce中多個(gè)Connector共享一個(gè)Engine。同一個(gè)Engine中可以有多個(gè)Host,同一個(gè)Host中包含多個(gè)Context。在圖1.2中,Web客戶1和客戶2直接訪問(wèn)Tomcat 服務(wù)器上的JSP 和htm組件,他們?cè)L問(wèn)的URL 為http://localhost:8080/index.jsp。</p><p> 圖 1.2 客戶請(qǐng)求的過(guò)程圖</p><p> 下面介紹在DOS窗
91、口下運(yùn)行Tomcat步驟: </p><p> (1)在“開始”按鈕的“運(yùn)行”框中鍵入CMD以打開一個(gè)DOS窗口。 </p><p> ?。?)鍵入RunAs /user:“ITOMCAT_計(jì)算機(jī)名 CMD.exe”命令。 </p><p> (3)在詢問(wèn)“ITOMCAT_計(jì)算機(jī)名”用戶的密碼時(shí)輸入設(shè)置的密碼。 </p><p
92、> ?。?)這將打開一個(gè)新的DOS窗口。 </p><p> ?。?)在新開的DOS窗口中,轉(zhuǎn)換到Tomcat的bin文件夾內(nèi)。 </p><p> (6)鍵入“catalina run”命令。 </p><p> ?。?)關(guān)閉第一個(gè)DOS窗口。 </p><p> 1.5.6開發(fā)工具之 B/S</p>&
93、lt;p> 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)下,用戶界面完全通過(guò)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語(yǔ)言(VBScript、JavaScript)和ActiveX技術(shù),用
94、通用瀏覽器就實(shí)現(xiàn)了原來(lái)需要復(fù)雜專用軟件才能實(shí)現(xiàn)的強(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)
95、是安全、快捷、準(zhǔn)確。后者則具有節(jié)省投資、跨地域廣的優(yōu)點(diǎn)。須視企業(yè)規(guī)模和地理分布確定。企業(yè)內(nèi)部通過(guò)防火墻接入Internet,在整個(gè)網(wǎng)絡(luò)采用TCP/IP協(xié)議。</p><p> B/S架構(gòu)具備極大的優(yōu)越性:</p><p> 1. 面向電子商務(wù)時(shí)代的技術(shù)</p><p> 將來(lái)所有的應(yīng)用系統(tǒng)幾乎都在互聯(lián)網(wǎng)或企業(yè)內(nèi)部廣域網(wǎng)上運(yùn)行,發(fā)展電子商務(wù)成為企業(yè)不可避免的信息
96、化道路。B/S架構(gòu)的軟件正是電子商務(wù)的基石,正是這類軟件使得移動(dòng)辦公和分布式協(xié)同工作真正成為現(xiàn)實(shí)。無(wú)論在世界的那個(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í)越來(lái)越頻繁,B/S架構(gòu)的產(chǎn)品在維護(hù)和升級(jí)方面具備顯著的優(yōu)勢(shì)。無(wú)論用戶的規(guī)模有多大,
97、有多少分支機(jī)構(gòu)都不會(huì)增加任何維護(hù)升級(jí)的工作量,所有的操作只對(duì)服務(wù)器進(jìn)行,通過(guò)遠(yuǎn)程連接服務(wù)器,異地的運(yùn)維人員甚至于可以做到遠(yuǎn)程維護(hù)和升級(jí),這對(duì)人力、時(shí)間、費(fèi)用的節(jié)省是相當(dāng)驚人的。</p><p> 所有的客戶端只是瀏覽器,所有的操作都和上網(wǎng)瀏覽網(wǎng)頁(yè)類似,使用者接受的培訓(xùn)也僅限于業(yè)務(wù)邏輯而無(wú)需將大量精力浪費(fèi)學(xué)習(xí)軟件操作上。</p><p><b> 3. 系統(tǒng)整合</b&g
98、t;</p><p> 無(wú)論是辦公自動(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)品無(wú)論是現(xiàn)在還是將來(lái)都是最好的選擇,它提供了真正意義上無(wú)縫地與其它系統(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)確。
99、后者則具有節(jié)省投資、跨地域廣的優(yōu)點(diǎn)。須視企業(yè)規(guī)模和地理分布確定。企業(yè)內(nèi)部通過(guò)防火墻接入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語(yǔ)言寫成的可重用組件,是使用 java.beans 包開發(fā)的,它是 Ja
100、va 2 標(biāo)準(zhǔn)版的一部分。JavaBean 是一臺(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,類必須是具體的和公共的,并且具有無(wú)參數(shù)的構(gòu)造器。JavaBeans 通過(guò)提供符合一致性設(shè)計(jì)模式的公共方法將內(nèi)部域暴露稱為屬性。眾所周知,屬
101、性名稱符合這種模式,其他Java 類可以通過(guò)自省機(jī)制發(fā)現(xiàn)和操作這些JavaBean 屬性。 </p><p> 用戶可以使用JavaBean將功能、處理、值、數(shù)據(jù)庫(kù)訪問(wèn)和其他任何可以用java代碼創(chuàng)造的對(duì)象進(jìn)行打包,并且其他的開發(fā)者可以通過(guò)內(nèi)部的JSP頁(yè)面、Servlet、其他JavaBean、applet程序或者應(yīng)用來(lái)使用這些對(duì)象。用戶可以認(rèn)為JavaBean提供了一種隨時(shí)隨地的復(fù)制和粘貼的功能,而不用關(guān)心任
102、何改變。 </p><p> JavaBean是Sun微系統(tǒng)的一個(gè)面向?qū)ο蟮木幊探涌冢梢宰屇憬芍赜脩?yīng)用程序或能在網(wǎng)絡(luò)中任何主流操作系統(tǒng)平臺(tái)上配置的程序塊,稱作組件。像Java applet一樣,JavaBeans組件(或Beans)能夠給予萬(wàn)維網(wǎng)頁(yè)面交互的能力,例如:計(jì)算感興趣的比率或是根據(jù)用戶或?yàn)g覽器的特性改變頁(yè)面內(nèi)容。 </p><p> 從用戶的觀點(diǎn)來(lái)看,一個(gè)組件可以是一個(gè)
103、與你交互的按鈕或是一個(gè)當(dāng)你按下按鈕它便開始的小計(jì)算程序。用戶可以使用JavaBean將功能、處理、值、數(shù)據(jù)庫(kù)訪問(wèn)和其他任何可以用java代碼創(chuàng)造的對(duì)象進(jìn)行打包,并且其他的開發(fā)者可以通過(guò)內(nèi)部的JSP頁(yè)面、Servlet、其他JavaBean、applet程序或者應(yīng)用來(lái)使用這些對(duì)象。用戶可以認(rèn)為JavaBean提供了一種隨時(shí)隨地的復(fù)制和粘貼的功能,而不用關(guān)心任何改變。從一個(gè)開發(fā)者的觀點(diǎn)來(lái)看,那個(gè)按鈕組件和計(jì)算器組件是分別被創(chuàng)建的,并且他們可
104、以一起使用或是在不同的應(yīng)用程序或情況下和不同的組件產(chǎn)生不同的組合來(lái)使用。</p><p> JavaBean可分為兩種:一種是有用戶界面(UI,User Interface)的JavaBean;還有一種是沒(méi)有用戶界面,主要負(fù)責(zé)處理事務(wù)(如數(shù)據(jù)運(yùn)算,操縱數(shù)據(jù)庫(kù))的JavaBean。JSP通常訪問(wèn)的是后一種JavaBean。</p><p><b> 2 系統(tǒng)分析</b&g
105、t;</p><p> 2.1 系統(tǒng)功能概述</p><p> 系統(tǒng)主要完成兩大功能:面向非會(huì)員和會(huì)員的前臺(tái)功能和面向系統(tǒng)管理員的后臺(tái)功能。非會(huì)員即沒(méi)有在本網(wǎng)站進(jìn)行注冊(cè)的用戶,可以進(jìn)行歌曲的瀏覽跟點(diǎn)播。會(huì)員即在本網(wǎng)站進(jìn)行注冊(cè)過(guò)的用戶,在登錄之后可以進(jìn)行歌曲的下載、上傳、點(diǎn)播、分享。系統(tǒng)管理員即數(shù)據(jù)庫(kù)管理員,可以在后臺(tái)進(jìn)行數(shù)據(jù)庫(kù)的管理。</p><p> 2.1
106、.1 系統(tǒng)前臺(tái)功能概述</p><p> 在前臺(tái),系統(tǒng)主要提供以下服務(wù):</p><p> (1)非會(huì)員瀏覽和點(diǎn)播歌曲。</p><p> (2)會(huì)員瀏覽和點(diǎn)播歌曲外還可以下載和上傳自己喜歡的歌曲。</p><p> ?。?)會(huì)員可以管理自己的信息和自己上傳歌曲的信息。</p><p> 2.1.2 系統(tǒng)后臺(tái)功
107、能概述</p><p> 在后臺(tái),管理員可進(jìn)行如下操作:</p><p> ?。?)瀏覽和點(diǎn)播歌曲。</p><p> (2)管理歌曲信息,包括上傳、下載、修改和刪除歌曲。</p><p> ?。?)管理會(huì)員信息,包括增加、修改和刪除會(huì)員信息。</p><p><b> 2.2 可行性研究</b&
108、gt;</p><p> 《在線音樂(lè)管理系統(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è)的咨詢意見(jiàn),為項(xiàng)目決策提供依據(jù)的一種綜合性的系統(tǒng)分析方法。 《在線音樂(lè)管理系統(tǒng)》
109、用于多方面的專業(yè)運(yùn)用,包括:用于向國(guó)家相關(guān)政府部門申請(qǐng)立項(xiàng);向金融部門申請(qǐng)貸款的重要依據(jù);向有關(guān)主管部門申請(qǐng)專項(xiàng)資金的重要依據(jù);向證監(jiān)會(huì)申請(qǐng)股票上市的重要依據(jù);向國(guó)土部門、開發(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ì)可行性&l
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 在線音樂(lè)管理系統(tǒng)畢業(yè)論文
- 畢業(yè)論文范文——基于ios的在線音樂(lè)播放系統(tǒng)的開發(fā)
- 畢業(yè)論文范文——基于ios的在線音樂(lè)播放系統(tǒng)的開發(fā)
- 在線音樂(lè)播放系統(tǒng)畢業(yè)設(shè)計(jì)
- 畢業(yè)論文--android在線音樂(lè)播放器設(shè)計(jì)與實(shí)現(xiàn)
- 基于web的在線音樂(lè)網(wǎng)站設(shè)計(jì)【畢業(yè)論文】
- 在線音樂(lè)網(wǎng)站論文
- 基于android平臺(tái)的在線音樂(lè)客戶端設(shè)計(jì)與實(shí)現(xiàn)-畢業(yè)論文
- jsp實(shí)現(xiàn)在線音樂(lè)播放系統(tǒng)
- 在線音樂(lè)寡頭割據(jù)
- 在線音樂(lè)點(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在線音樂(lè)播放系統(tǒng)畢業(yè)設(shè)計(jì)外文文獻(xiàn)及翻譯
- 在線音樂(lè)記譜系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 在線音樂(lè)哼唱檢索系統(tǒng)的算法與實(shí)現(xiàn).pdf
- 校園在線音樂(lè)平臺(tái)資源管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn).pdf
- 畢業(yè)論文-在線購(gòu)物系統(tǒng)
評(píng)論
0/150
提交評(píng)論