基于web的聊天室構(gòu)建畢業(yè)論文_第1頁
已閱讀1頁,還剩35頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、<p>  本科畢業(yè)設(shè)計(論文)</p><p>  題 目 基于Web的聊天室構(gòu)建 </p><p>  系(院) 計算機(jī)工程系 </p><p>  專 業(yè) 電子信息科學(xué)與技術(shù) </p><p>  班 級

2、 081 </p><p>  學(xué) 號 </p><p>  學(xué)生姓名 </p><p>  指導(dǎo)教師 </p><p><b>  摘 要</b>&

3、lt;/p><p>  聊天室是Web站點(diǎn)提供的常用服務(wù)之一,它給網(wǎng)絡(luò)用戶帶來了在線實(shí)時交流的機(jī)會,而且使用起來不需要安裝專門的聊天軟件,只需要瀏覽器即可。Web聊天室系統(tǒng)由于其方便、靈活和易于使用的特點(diǎn)而廣受歡迎。</p><p>  本文論述了開發(fā)一個簡單的Web在線聊天室系統(tǒng)所用到的關(guān)鍵技術(shù)和方法。其中運(yùn)用了 JavaScript、MySQL數(shù)據(jù)庫等等, 對上述技術(shù)的實(shí)現(xiàn)方法進(jìn)行了詳細(xì)的

4、討論,B/S模式等,實(shí)現(xiàn)了一個簡單的Web在線聊天室系統(tǒng)的設(shè)計與開發(fā),并詳細(xì)討論了該系統(tǒng)的實(shí)現(xiàn)過程及其結(jié)構(gòu)。</p><p>  關(guān)鍵字:聊天室,數(shù)據(jù)庫,B/S模式</p><p><b>  Abstract</b></p><p>  ChatRoom is one of ordinary services of the website.

5、It gives users the opportunity to communicate on the network every time.And it only depends on web browser, so you don't have to install any special software on your computer. ChatRoom are widely welcomed for its won

6、derful feathers such as conveninence and flexibility and easy usability.</p><p>  This thesis introduces the critical technology and method to build a simple ChatRoom, such as JavaScript、Oracle DataBase and

7、so on. To the technology mentioned above there are many detailed descriptions in this thesis. Also this thesis gives detailed description to the B/S model and the process to design and build a simple online ChatRoom.<

8、/p><p>  Key Words: ChatRoom,DataBase,B/S mode</p><p><b>  目 錄</b></p><p><b>  前 言- 1 -</b></p><p>  第一章主要技術(shù)- 3 -</p><p>  1.1 JSP服務(wù)

9、器技術(shù)- 3 -</p><p>  1.2 JavaBean技術(shù)- 4 -</p><p>  1.3 Servlet技術(shù)- 5 -</p><p>  1.4 Eclipse開發(fā)工具- 6 -</p><p>  1.5 Tomcat應(yīng)用服務(wù)器技術(shù)- 8 -</p><p>  1.6 MySQL數(shù)據(jù)庫

10、- 8 -</p><p>  1.7 Dreamweaver網(wǎng)頁開發(fā)工具- 9 -</p><p>  第二章系統(tǒng)設(shè)計- 11 -</p><p>  2.1系統(tǒng)功能- 11 -</p><p>  2.2系統(tǒng)總體設(shè)計- 11 -</p><p>  2.3系統(tǒng)數(shù)據(jù)庫設(shè)計- 17 -</p>

11、<p>  第三章功能測試- 18 -</p><p>  3.1用戶注冊- 18 -</p><p>  3.2用戶登錄- 20 -</p><p>  3.3用戶選擇聊天房間功能- 22 -</p><p>  3.4用戶聊天功能- 23 -</p><p>  3.4.1顯示功能- 23 -

12、</p><p>  3.4.2用戶信息修改功能- 24 -</p><p>  3.4.3處理功能- 24 -</p><p>  3.4.4輸入功能- 26 -</p><p>  3.5一些問題的解決方案- 27 -</p><p>  3.5.1邊框處理(HTML中的問題)- 27 -</p&g

13、t;<p>  3.5.2登錄頁面中的驗(yàn)證碼問題- 27 -</p><p>  3.5.3其他問題- 28 -</p><p>  結(jié) 論- 29 -</p><p>  致 謝- 30 -</p><p>  參考文獻(xiàn)- 31 -</p><p><b>  前 言</b

14、></p><p>  在這個信息極其發(fā)達(dá)的時代,我們目前可以用來進(jìn)行信息交流的方法也有非常多,比如電報、電話、電子郵件、OICQ等等通訊手段,但是這些或者不方便或者有局限性或者有費(fèi)用的問題,比如電話就是屬于費(fèi)用比較高的一種方式,而且一般情況下不能進(jìn)行多人會談,只能雙方通話,那么一個需要幾個人一起討論的會議就不能舉行,一般情況下都需要花費(fèi)大量的人力物力把這幾個人聚集到同一地點(diǎn)才能進(jìn)行討論。非但費(fèi)時費(fèi)力費(fèi)錢而

15、且效果也不一定很好。電子郵件則不是一種及時聯(lián)系的手段,需要一定時間才能到達(dá),只能作為一種輔助交流的手段。但是,聊天室這個就能很好的解決這個問題,我們不需要聚集在同一地點(diǎn),各自在不同的地點(diǎn)就可以在聊天室中發(fā)言,大家互相討論。而且好的聊天室還有各種表情符號等可以加強(qiáng)我們的表達(dá)。而且費(fèi)用低廉,信息交流速度快,只有這樣,才能在這個涌動的社會中加強(qiáng)聯(lián)系,創(chuàng)造出更多的財富。</p><p>  聊天室是當(dāng)今廣泛應(yīng)用的一種網(wǎng)絡(luò)

16、服務(wù), 它為廣大網(wǎng)民提供了一種方便快捷的溝通方式, 在線聊天是上網(wǎng)的重要活動之一。第十六次CNNIC 調(diào)查結(jié)果顯示: 在網(wǎng)絡(luò)用戶經(jīng)常使用的網(wǎng)絡(luò)服務(wù)/功能調(diào)查中, 網(wǎng)上聊天( 聊天室、QQ、ICQ 等)占被調(diào)查人群的42.6%, 處于第四位, 作為操作簡便也是出現(xiàn)最早的網(wǎng)上聊天方式, 聊天室聊天又是其中最普及的一種。而多數(shù)人認(rèn)為聊天室是一種用來消遣而缺乏實(shí)際價值的東西, 許多大型網(wǎng)站建立了聊天室, 聚攏人氣。目前, 多數(shù)網(wǎng)站擁有一個甚至幾

17、個屬于自己的聊天室。其基本運(yùn)作方式為: 網(wǎng)上提供一個供訪問者可以相互交流的界面,訪問者通常需要先在網(wǎng)站登記,然后以登記的名字和密碼進(jìn)入聊天的界面,在這個界面下,訪問者與他人可通過鍵盤輸入文字或符號來表述各自的意義,從而達(dá)成相互溝通。由于技術(shù)含量不高, 對啟動資金要求較低, 政策較寬松, 所以聊天室的進(jìn)入壁壘比較低, 私人也可以有自己的聊天室。正是這個原因, 目前聊天室市場競爭比較激烈, 基本上各大門戶網(wǎng)站都有聊天室, 如新浪聊天室、網(wǎng)易

18、聊天室、搜狐聊天室, 也有一些專門的聊天室網(wǎng)站?,F(xiàn)階段中國的聊天室市場集中度不高, 大型商</p><p>  本課題根據(jù)Web應(yīng)用系統(tǒng)的特點(diǎn),結(jié)合用戶對在線聊天室系統(tǒng)的實(shí)際需求,研究了一個基于Java技術(shù)的在線聊天室,給出了聊天室的系統(tǒng)結(jié)構(gòu),實(shí)現(xiàn)了群聊,私聊等功能的開發(fā)。結(jié)合目前軟件工程、數(shù)據(jù)庫應(yīng)用程序等領(lǐng)域的先進(jìn)技術(shù),以Eclipse為平臺,通過Java編程語言、MySQL數(shù)據(jù)庫技術(shù)進(jìn)行開發(fā)。</p&g

19、t;<p>  本系統(tǒng)的開發(fā)工作分為以下幾個主要階段:</p><p>  (1)系統(tǒng)需求分析與系統(tǒng)的功能設(shè)計。包括系統(tǒng)詳細(xì)調(diào)查和用戶需求分析,確定系統(tǒng)的開發(fā)方案。</p><p>  (2)數(shù)據(jù)庫的設(shè)計。根據(jù)所采集到的信息設(shè)計E-R圖、創(chuàng)建數(shù)據(jù)表。</p><p>  (3)系統(tǒng)的功能模塊的劃分以及實(shí)現(xiàn)。根據(jù)系統(tǒng)所管理的數(shù)據(jù)的類別,對數(shù)據(jù)操作進(jìn)行功能

20、的劃分,并逐個實(shí)現(xiàn)功能模塊。</p><p>  (4)系統(tǒng)的整體測試。將單個實(shí)現(xiàn)的功能合并在一起,對于整個系統(tǒng)進(jìn)行初步的調(diào)試,從中找出某些錯誤和不足,進(jìn)行及時的改正。</p><p><b>  第一章主要技術(shù)</b></p><p>  1.1 JSP服務(wù)器技術(shù)</p><p>  本網(wǎng)站使用JSP技術(shù)。JSP是Ja

21、vaServer Pages的簡稱,是由Sun Microsystems公司倡導(dǎo)、許多公司參與一起建立的一種動態(tài)網(wǎng)頁技術(shù)標(biāo)準(zhǔn)。在傳統(tǒng)的網(wǎng)頁HTML文件(*.htm,*.html)中加入JAVA程序片段(Scriptlet)和JSP標(biāo)記(tag),就構(gòu)成了JSP網(wǎng)頁(*.jsp)。1998年4月Sun公司發(fā)布JSP 0.90規(guī)范,1999年1月Sun公司又發(fā)布了0.92規(guī)范,同時推出支持JSP的Web服務(wù)器的Java Web Server

22、 2.0,JSP也開始流行起來,同年11月Sun公司發(fā)布了JSP 1.1規(guī)范,同時推出JSWDK 1.0.1和Servlet 2.2版,2000年9月Sun公司發(fā)布JSP 1.2規(guī)范和Java Servlet API 2.3。JSP技術(shù)在這短短的幾年中取得了突破性的發(fā)展,并在各地廣為流行,可見其必有得天獨(dú)厚的優(yōu)勢。JSP具備跨平臺運(yùn)行能力,安全性比較高,運(yùn)行效率也比較快,備受大中型企業(yè)和公司,以及銀行金融機(jī)構(gòu)青睞。利用JSP技術(shù),動態(tài)信

23、息由JSP頁面來表現(xiàn),JSP頁面由安裝在WEB服務(wù)器或者使用JSP引擎接受客戶端的相應(yīng)</p><p>  JSP技術(shù)具有以下的特點(diǎn):</p><p>  (1)將內(nèi)容的生成和顯示進(jìn)行分離 </p><p>  使用JSP技術(shù),Web頁面開發(fā)人員可以使用HTML或者XML標(biāo)識來設(shè)計和格式化最終頁面。使用JSP標(biāo)識或者小腳本來生成頁面上的動態(tài)內(nèi)容(內(nèi)容是根據(jù)請求來變化

24、的,例如請求賬戶信息或者特定的一瓶酒的價格)。生成內(nèi)容的邏輯被封裝在JSP標(biāo)識和JavaBeans/EJB組件中,并且捆綁在小腳本中,所有的腳本在服務(wù)器端運(yùn)行。如果核心邏輯被封裝在標(biāo)識和JavaBeans/EJB中,那么其他人,如Web管理人員和頁面設(shè)計者,能夠編輯和使用JSP頁面,而不影響內(nèi)容的生成,在服務(wù)器端,JSP引擎解釋JSP標(biāo)識和小腳本,生成所請求的內(nèi)容(例如,通過訪問JavaBeans組件,使用JDBC(TM)技術(shù)訪問數(shù)據(jù)庫

25、,或包含文件),并且將結(jié)果以HTML(或者XML)頁面的形式送回瀏覽器。這有助于作者保護(hù)自己的代碼,而又保證任何基于HTML的Web瀏覽器的完全可用性,在不同的WEB應(yīng)用服務(wù)器上運(yùn)行。</p><p>  (2)生成可重用的組件 </p><p>  絕大多數(shù)JSP頁面依賴于可重用的、跨平臺的組件(如JavaBeans組件或者Enterprise JavaBeans)來執(zhí)行應(yīng)用程序所要求的

26、更為復(fù)雜的處理。開發(fā)人員能夠共享和交換執(zhí)行普通操作的組件,或者使得這些組件為更多的使用者或客戶團(tuán)體所使用?;诮M件的方法加速了總體開發(fā)過程,并且使得各種組織在他們現(xiàn)有的技能和優(yōu)化結(jié)果的開發(fā)努力中得到平衡。</p><p>  (3)采用標(biāo)識簡化頁面開發(fā) </p><p>  Web頁面開發(fā)人員不會都是熟悉腳本語言的編程人員。JavaServer Page技術(shù)封裝了許多功能,這些功能是在易用

27、的、與JSP相關(guān)的XML標(biāo)識中進(jìn)行動態(tài)內(nèi)容生成所需要的。標(biāo)準(zhǔn)的JSP標(biāo)識能夠訪問和實(shí)例化JavaBeans組件,設(shè)置或檢索組件屬性,下載Applet,以及執(zhí)行用其他方法更難于編碼和耗時的功能。通過開發(fā)定制標(biāo)識庫,JSP技術(shù)是可以發(fā)展的。今后,第三方開發(fā)人員和其他人員可以為常用功能創(chuàng)建自己的標(biāo)識庫。這使得Web頁面開發(fā)人員能夠使用熟悉的工具和如同標(biāo)識一樣執(zhí)行特定功能的構(gòu)件來工作。</p><p>  1.2 Jav

28、aBean技術(shù)</p><p>  JavaBean是使用Java語言描述的軟件組件模型,簡單地說,它就是一個可以重復(fù)使用的Java類。JavaBean可分為可視化組件和非可視化組件,其中可視化組件包括簡單的GUI元素(例如,文本框、按鈕)及一些報表組件等。非可視化組件是在實(shí)際開發(fā)中經(jīng)常被使用到的并且在應(yīng)用程序中起著至關(guān)重要的作用。其主要功能是用來封裝業(yè)務(wù)邏輯(功能實(shí)現(xiàn))、數(shù)據(jù)庫操作(例如,數(shù)據(jù)處理、連接數(shù)據(jù)庫)

29、等。 </p><p>  在實(shí)際的開發(fā)過程中,通常會出現(xiàn)重復(fù)的代碼或者段落,此時就會大大降低程序的可重用性并且浪費(fèi)時間。使用JavaBean就可以大大簡化程序的設(shè)計過程并且方便了其它程序的重復(fù)使用。</p><p>  JavaBean在服務(wù)器端的應(yīng)用具有非常強(qiáng)大的優(yōu)勢,非可視化的JavaBean可以非常好地實(shí)現(xiàn)控制邏輯、業(yè)務(wù)邏輯、表示層之間的分離,從而大大降低了它們之間的耦合度。非可視

30、化的JavaBean現(xiàn)在多用于后臺處理,這樣會使系統(tǒng)具有一定的靈活性。 </p><p>  一個基本的Jsp頁面就是由普通html標(biāo)簽&Java程序片組成,如果程序片&html大量交互在一起,就顯得頁面混雜,不易維護(hù)。Jsp頁面應(yīng)當(dāng)將數(shù)據(jù)的處理過程指派給一個或幾個bean來完成,我們只需在jsp頁面中調(diào)用這個bean即可。不提倡大量的數(shù)據(jù)處理都用Java程序片來完成。在Jsp頁面中調(diào)用bean,可以有效地分離靜

31、態(tài)部分和動態(tài)部分。</p><p>  JavaBean是Java程序的一種,所使用的語法和其它類似的Java程序一致。在程序中使用JavaBean具有以下優(yōu)點(diǎn):</p><p> ?。?)可以實(shí)現(xiàn)代碼的重復(fù)利用。</p><p> ?。?)易編寫、易維護(hù)、易使用。</p><p>  (3)它可以壓縮在jar文件中,以更小的體積在網(wǎng)絡(luò)中應(yīng)用

32、 </p><p>  (4)完全是Java語言編寫,可以在任何安裝了Java運(yùn)行環(huán)境的平臺上的使用,而不需要重新編譯。 </p><p>  編寫JavaBean就是編寫一個Java的類,這個類創(chuàng)建的一個對象稱做一個Bean。為了能讓使用這個bean的應(yīng)用程序構(gòu)建工具(比如JSP引擎)知道這個bean的屬性和方法,只需在類的方法命名上遵守以下規(guī)則:</p><p>

33、;  (1)如果類的成員變量的名字是xxx,那么為了更改或獲取成員變量的值,即更改或獲取屬性,在類中可以使用兩個方法:</p><p>  ● getXXX():用來獲取屬性xxx。</p><p>  ● setXXX():用來修改屬性xxx。</p><p> ?。?)對于boolean類型的成員變量,即布爾邏輯類型的屬性,允許使用"is“代替上面

34、的"get"和"set"。</p><p> ?。?)類中方法的訪問屬性都必須是public的。</p><p> ?。?)類中如果有構(gòu)造方法,那么這個構(gòu)造方法也是public的并且沒有參數(shù)。 </p><p>  1.3 Servlet技術(shù)</p><p>  Servlet是一種服務(wù)器端的Java應(yīng)

35、用程序,具有獨(dú)立于平臺和協(xié)議的特性,可以生成動態(tài)的Web頁面。它源于請求/響應(yīng)模式,如它可以接收來自客戶端瀏覽器的Http請求,并產(chǎn)生一個響應(yīng),然后將這個響應(yīng)發(fā)送到客戶端。,是HTTP服務(wù)器上的數(shù)據(jù)庫或應(yīng)用程序之間的中間層。</p><p>  Servlet是位于Web 服務(wù)器內(nèi)部的服務(wù)器端的Java應(yīng)用程序,與傳統(tǒng)的從命令行啟動的Java應(yīng)用程序不同,Servlet由Web服務(wù)器進(jìn)行加載,該Web服務(wù)器必須包

36、含支持Servlet的Java虛擬機(jī)。</p><p>  Servlet是在服務(wù)器上運(yùn)行的小程序。這個詞是在Java applet的環(huán)境中創(chuàng)造的,Java applet是一種當(dāng)作單獨(dú)文件跟網(wǎng)頁一起發(fā)送的小程序,它通常用于在客戶端運(yùn)行,結(jié)果得到為用戶進(jìn)行運(yùn)算或者根據(jù)用戶互作用定位圖形等服務(wù)?!?lt;/p><p>  服務(wù)器上需要一些程序,常常是根據(jù)用戶輸入訪問數(shù)據(jù)庫的程序。這些通常是使用公共

37、網(wǎng)關(guān)接口(CGI)應(yīng)用程序完成的。然而,在服務(wù)器上運(yùn)行Java,這種程序可使用Java編程語言實(shí)現(xiàn)。在通信量大的服務(wù)器上,Java servlet的優(yōu)點(diǎn)在于它們的執(zhí)行速度更快于CGI程序。各個用戶請求被激活成單個程序中的一個線程,而創(chuàng)建單獨(dú)的程序,這意味著各個請求的系統(tǒng)開銷比較小。</p><p>  Servlet的生命周期包括三個過程加載和實(shí)例化:Servlet容器負(fù)責(zé)加載和實(shí)例化Servlet.當(dāng)容器啟動

38、時,或者在容器檢測到需要這個Servlet來響應(yīng)第一個請求時,創(chuàng)建Servlet實(shí)例.初始化:當(dāng)Servlet被第一次請求的時候, Servlet引擎就初始化這個Servlet,調(diào)用init()方法來完成初始化工作.請求處理:當(dāng)Servlet對象創(chuàng)建后,調(diào)用具體的service()方法為用戶提供服務(wù).服務(wù)終止:當(dāng)Servlet對象初始化后就常留內(nèi)存中,直到服務(wù)器停止才需要被銷毀, Servlet引擎調(diào)用destory()方法把Se

39、rvlet對象銷毀.</p><p>  1.4 Eclipse開發(fā)工具</p><p>  Eclipse 是一個開放源代碼的、基于 Java 的可擴(kuò)展開發(fā)平臺。就其本身而言,它只是一個框架和一組服務(wù),用于通過插件組件構(gòu)建開發(fā)環(huán)境。幸運(yùn)的是,Eclipse 附帶了一個標(biāo)準(zhǔn)的插件集,包括 Java 開發(fā)工具(Java Development Tools,JDT)。 </p>

40、<p>  Eclipse是著名的跨平臺的自由集成開發(fā)環(huán)境(IDE)。最初主要用來Java語言開發(fā),但是目前亦有人通過插件使其作為其他計算機(jī)語言比如C++和Python的開發(fā)工具。Eclipse的本身只是一個框架平臺,但是眾多插件的支持使得Eclipse擁有其他功能相對固定的IDE軟件很難具有的靈活性。許多軟件開發(fā)商以Eclipse為框架開發(fā)自己的IDE。</p><p>  Eclipse 最初由OT

41、I和IBM兩家公司的IDE產(chǎn)品開發(fā)組創(chuàng)建,起始于1999年4月。IBM提供了最初的Eclipse代碼基礎(chǔ),包括Platform、JDT 和PDE。目前由IBM牽頭,圍繞著Eclipse項(xiàng)目已經(jīng)發(fā)展成為了一個龐大的Eclipse聯(lián)盟,有150多家軟件公司參與到Eclipse項(xiàng)目中,其中包括Borland、Rational Software、Red Hat及Sybase等。Eclipse是一個開發(fā)源碼項(xiàng)目,它其實(shí)是 Visual Age f

42、or Java的替代品,其界面跟先前的Visual Age for Java差不多,但由于其開放源碼,任何人都可以免費(fèi)得到,并可以在此基礎(chǔ)上開發(fā)各自的插件,因此越來越受人們關(guān)注。還有包括Oracle在內(nèi)的許多大公司也紛紛加入了該項(xiàng)目,并宣稱Eclipse將來能成為可進(jìn)行任何語言開發(fā)的IDE集大成者,使用者只需下載各種語言的插件即可。</p><p>  雖然大多數(shù)用戶很樂于將 Eclipse 當(dāng)作 Java ID

43、E 來使用,但 Eclipse 的目標(biāo)不僅限于此。Eclipse 還包括插件開發(fā)環(huán)境(Plug-in Development Environment,PDE),這個組件主要針對希望擴(kuò)展 Eclipse 的軟件開發(fā)人員,因?yàn)樗试S他們構(gòu)建與 Eclipse 環(huán)境無縫集成的工具。由于 Eclipse 中的每樣?xùn)|西都是插件,對于給 Eclipse 提供插件,以及給用戶提供一致和統(tǒng)一的集成開發(fā)環(huán)境而言,所有工具開發(fā)人員都具有同等的發(fā)揮場所。&l

44、t;/p><p>  基于 Eclipse 的應(yīng)用程序的突出例子是 IBM 的 WebSphere Studio Workbench,它構(gòu)成了 IBM Java 開發(fā)工具系列的基礎(chǔ)。例如,WebSphere Studio Application Developer 添加了對 JSP、servlet、EJB、XML、Web 服務(wù)和數(shù)據(jù)庫訪問的支持。</p><p>  Eclipse的主要組成:

45、</p><p>  Eclipse是一個開放源代碼的軟件開發(fā)項(xiàng)目,專注于為高度集成的工具開發(fā)提供一個全功能的、具有商業(yè)品質(zhì)的工業(yè)平臺。它主要由Eclipse項(xiàng)目、Eclipse工具項(xiàng)目和Eclipse技術(shù)項(xiàng)目三個項(xiàng)目組成,具體包括四個部分組成——Eclipse Platform、JDT、CDT和PDE.JDT支持Java開發(fā)、CDT支持C開發(fā)、PDE用來支持插件開發(fā),Eclipse Platform則是一個開放

46、的可擴(kuò)展IDE,提供了一個通用的開發(fā)平臺。它提供建造塊和構(gòu)造并運(yùn)行集成軟件開發(fā)工具的基礎(chǔ)。Eclipse Platform允許工具建造者獨(dú)立開發(fā)與他人工具無縫集成的工具從而無須分辨一個工具功能在哪里結(jié)束,而另一個工具功能在哪里開始。</p><p>  1.5 Tomcat應(yīng)用服務(wù)器技術(shù)</p><p>  Tomcat 服務(wù)器是一個免費(fèi)的開放源代碼的Web 應(yīng)用服務(wù)器,是Apache 軟

47、件基金會(Apache Software Foundation)的Jakarta 項(xiàng)目中的一個核心項(xiàng)目,由Apache、Sun 和其他一些公司及個人共同開發(fā)而成。因?yàn)門omcat 技術(shù)先進(jìn)、性能穩(wěn)定,而且免費(fèi),因而深受Java 愛好者的喜愛并得到了部分軟件開發(fā)商的認(rèn)可,成為目前比較流行的Web 應(yīng)用服務(wù)器。</p><p>  Tomcat 很受廣大程序員的喜歡,因?yàn)樗\(yùn)行時占用的系統(tǒng)資源小,擴(kuò)展性好,支持負(fù)載平

48、衡與郵件服務(wù)等開發(fā)應(yīng)用系統(tǒng)常用的功能;而且它還在不斷的改進(jìn)和完善中,任何一個感興趣的程序員都可以更改它或在其中加入新的功能。</p><p>  Tomcat 是一個小型的輕量級應(yīng)用服務(wù)器,在中小型系統(tǒng)和并發(fā)訪問用戶不是很多的場合下被普遍使用,是開發(fā)和調(diào)試JSP 程序的首選。對于一個初學(xué)者來說,可以這樣認(rèn)為,當(dāng)在一臺機(jī)器上配置好Apache 服務(wù)器,可利用它響應(yīng)對HTML 頁面的訪問請求。實(shí)際上Tomcat 部分

49、是Apache 服務(wù)器的擴(kuò)展,但它是獨(dú)立運(yùn)行的,所以當(dāng)你運(yùn)行tomcat 時,它實(shí)際上作為一個與Apache 獨(dú)立的進(jìn)程單獨(dú)運(yùn)行的。當(dāng)配置正確時,Apache 為HTML頁面服務(wù),而Tomcat 實(shí)際上運(yùn)行JSP 頁面和Servlet。另外,Tomcat和IIS、Apache等Web服務(wù)器一樣,具有處理HTML頁面的功能,另外它還是一個Servlet和JSP容器,獨(dú)立的Servlet容器是Tomcat的默認(rèn)模式。不過,Tomcat處理靜

50、態(tài)HTML的能力不如Apache服務(wù)器。</p><p>  1.6 MySQL數(shù)據(jù)庫</p><p>  MySQL是一個精巧的SQL數(shù)據(jù)庫管理系統(tǒng),雖然它不是開放源代碼的產(chǎn)品,但在某些情況下你可以自由使用。由于它的強(qiáng)大功能、靈活性、豐富的應(yīng)用編程接口(API)以及精巧的系統(tǒng)結(jié)構(gòu),受到了廣大自由軟件愛好者甚至是商業(yè)軟件用戶的青睞,特別是與Apache和PHP/PERL結(jié)合,為建立基于數(shù)據(jù)

51、庫的動態(tài)網(wǎng)站提供了強(qiáng)大動力。</p><p>  MySQL是一個真正的多用戶、多線程SQL數(shù)據(jù)庫服務(wù)器。SQL(結(jié)構(gòu)化查詢語言)是世界上最流行的和標(biāo)準(zhǔn)化的數(shù)據(jù)庫語言。MySQL是以一個客戶機(jī)/服務(wù)器結(jié)構(gòu)的實(shí)現(xiàn),它由一個服務(wù)器守護(hù)程序mysqld和很多不同的客戶程序和庫組成。</p><p>  SQL是一種標(biāo)準(zhǔn)化的語言,它使得存儲、更新和存取信息更容易。例如,你能用SQL語言為一個網(wǎng)站檢

52、索產(chǎn)品信息及存儲顧客信息,同時MySQL也足夠快和靈活以允許你存儲記錄文件和圖像。</p><p>  MySQL 主要目標(biāo)是快速、健壯和易用。最初是因?yàn)槲覀冃枰@樣一個SQL服務(wù)器,它能處理與任何可不昂貴硬件平臺上提供數(shù)據(jù)庫的廠家在一個數(shù)量級上的大型數(shù)據(jù)庫,但速度更快,MySQL就開發(fā)出來。自1996年以來,我們一直都在使用MySQL,其環(huán)境有超過40個數(shù)據(jù)庫,包含10,000個表,其中500多個表超過7百萬行

53、,這大約有100個吉字節(jié)(GB)的關(guān)鍵應(yīng)用數(shù)據(jù)。</p><p>  MySQL數(shù)據(jù)庫的主要功能只在組織和管理很龐大或復(fù)雜的信息和基于WEB的庫存查詢請求不僅僅為客戶提供信息,而且還可以為您自己使用數(shù)據(jù)庫可以提供如下功能: </p><p>  (1)減少記錄編檔的時間 </p><p> ?。?)減小記錄檢索時間 </p><p> ?。?

54、)靈活的查找序列 </p><p> ?。?)靈活的輸出格式 </p><p> ?。?)多個用戶同時訪問記錄 </p><p>  1.7 Dreamweaver網(wǎng)頁開發(fā)工具</p><p>  Dreamweaver是美國macromedia公司開發(fā)的集網(wǎng)頁制作和管理網(wǎng)站于一身的所見即所得網(wǎng)頁編輯器,它是第一套針對專業(yè)網(wǎng)頁設(shè)計師特別發(fā)展的

55、視覺化網(wǎng)頁開發(fā)工具,利用它可以輕而易舉地制作出跨越平臺限制和跨越瀏覽器限制的充滿動感的網(wǎng)頁。</p><p>  Dreamweaver與其它同類軟件相比主要有以下優(yōu)點(diǎn):</p><p>  不生成冗余代碼??梢暬木W(wǎng)頁編輯器,都要把使用者的操作轉(zhuǎn)換成html代碼。一般的編輯器都會生成大量的冗余代碼,給網(wǎng)頁以后的修改帶來了極大的不方便,同時還增加了網(wǎng)頁文件的大小。Dreamweaver則在

56、使用時完全不生成冗余代碼,避免了諸多麻煩。而且,通過設(shè)置,還可用Dreamweaver清除掉網(wǎng)頁文件原有的冗余代碼。</p><p>  方便的代碼編輯??梢暬庉嫼驮创a編輯都有其長處和短處。有時候,直接用源代碼編輯會很有效。Dreamweaver提供了html快速編輯器和自建的html編輯器,能方便自如的在可視化編輯狀態(tài)和源代碼編輯狀態(tài)間切換。</p><p>  強(qiáng)大的動態(tài)頁面支持。

57、Dreamweaver的Behavior能在使用者不懂java script的情況下,往網(wǎng)頁中加入豐富的動態(tài)效果。Dreamweaver還可精確的對層進(jìn)行定位,再加上timeline功能,可生成動感十足的動態(tài)層效果。</p><p>  操作簡便。首先,Dreamweaver提供的歷史面板、html樣式、模版、庫等功能避免了重復(fù)勞動,使用者不必重復(fù)輸入相同的內(nèi)容、格式。其次,Dreamweaver能直接往頁面中插

58、入Flash、Shockwave等插件,經(jīng)過設(shè)置后還可直接調(diào)用相應(yīng)的軟件對這些插件進(jìn)行編輯。最后,Dreamweaver與Fireworks集成緊密,可直接調(diào)用Fireworks對頁面的圖像進(jìn)行修改、優(yōu)化。</p><p>  優(yōu)秀的網(wǎng)站管理功能。在定義的本地站點(diǎn)中,改變文件的名稱、位置,Dreamweaver會自動更新相應(yīng)的超級鏈接。Check in和Check out功能可協(xié)調(diào)多個使用者對遠(yuǎn)程站點(diǎn)的管理。&l

59、t;/p><p>  便于擴(kuò)展。使用者可給Dreamweaver安裝各種插件,使其功能更強(qiáng)大。使用者若有興趣,還可自己給Dreamweaver制作插件,使Dreamweaver更適應(yīng)個人的需求。</p><p><b>  第二章系統(tǒng)設(shè)計</b></p><p><b>  2.1系統(tǒng)功能</b></p><

60、;p>  (1)實(shí)現(xiàn)用戶的注冊與登錄功能,使用戶成為聊天室的合法用戶。</p><p>  (2)實(shí)現(xiàn)聊天室基本功能,能接收各個用戶的發(fā)言,在聊天輸入?yún)^(qū)域輸入自己的發(fā)言內(nèi)容、在聊天顯示區(qū)域看到聊天的內(nèi)容,能與所喜歡的用戶進(jìn)行私聊,即說悄悄話;</p><p>  (3)可以根據(jù)聊友的聚集情況來選擇自己喜歡的房間進(jìn)入聊天室;</p><p>  (4)擁有在線名

61、單區(qū),顯示在線聊友及其所在房間;</p><p>  (5)擁有發(fā)言區(qū),讓聊友能夠讓按照個性化的風(fēng)格來發(fā)表自己的觀點(diǎn),并提供讓聊友選擇聊天對象,私聊等功能;</p><p>  (6)用戶可以在聊天過程中更換房間,修改自己的密碼及基本資料。</p><p>  (7)普通用戶在積分大于1000分時就具備了管理員功能成為高級用戶,高級用戶可以將不遵守聊天室規(guī)定、胡亂發(fā)

62、言的聊友踢出聊天室。</p><p><b>  2.2系統(tǒng)總體設(shè)計</b></p><p>  該聊天系統(tǒng)主要由用戶注冊、用戶登錄、選擇聊天室房間、輸入聊天內(nèi)容、顯示聊天內(nèi)容、更換聊天室房間、查看在線好友、修改用戶資料、修改用戶密碼、用戶退出共十大聊天模塊組成,系統(tǒng)的組成圖如下所示:</p><p>  圖2.1 系統(tǒng)總體流程圖</p&

63、gt;<p>  聊天室的首頁是歡迎頁面,它提供了用戶登錄和用戶注冊兩個入口。</p><p>  用戶的注冊模塊是常規(guī)的注冊,主要包含用戶名、用戶密碼、性別、年齡、郵箱、以及用于密碼保護(hù)的問題和回答。用戶填寫完會對注冊使用對用戶所填寫的信息驗(yàn)證,看是否符合要求然后提交,存入MySQL數(shù)據(jù),以便后續(xù)操作的查詢和操作。若用戶注冊成功,則可以永久性的使用此用戶名和密碼。如若失敗,則重新注冊或退出。用戶注

64、冊的流程圖如下所示:</p><p>  圖2.2用戶注冊流程圖</p><p>  用戶使用已經(jīng)注冊過的用戶名登錄,聊天室會從數(shù)據(jù)庫user_table表中查詢用戶名和密碼,另外還要輸入驗(yàn)證碼,驗(yàn)證用戶輸入的用戶名是否存在以及密碼和驗(yàn)證碼正確性,若是用戶名存在且密碼和驗(yàn)證碼正確,則用戶登錄成功,其積分就會加2分。再選擇房間,將用戶相關(guān)信息暫存入數(shù)據(jù)庫,若果暫存成功,則選擇房間成功;否則選

65、擇房間失敗,用戶可以重新選擇或退出。若是用戶名不存在,密碼或驗(yàn)證碼正確則用戶登錄失敗,用戶可檢查相關(guān)信息再次登錄或退出。用戶登錄選擇房間流程圖如下圖:</p><p>  圖2.3用戶登錄選擇房間流程圖</p><p>  基本操作單元中在線用戶列表顯示當(dāng)前在線用戶的用戶名、所在聊天室以及用戶的積分。用戶列表通過查詢在線聊友數(shù)據(jù)表,顯示用戶的一些關(guān)于聊天的基本信息。</p>

66、<p>  基本操作單元中用戶基本資料的修改是根據(jù)用戶名和問題回答來修改年齡和郵箱。用戶名是通過session傳遞過來的。sql語句根據(jù)用戶名等于傳入的用戶名和輸入的問題回答是否與數(shù)據(jù)庫中相匹配決定是否能修改成功。其流程圖如下所示:</p><p>  圖2.4 用戶資料修改流程圖</p><p>  基本操作單元中用戶密碼的修改根據(jù)session中傳入的用戶名找到數(shù)據(jù)庫中對應(yīng)的

67、記錄,再根據(jù)數(shù)據(jù)庫中的舊密碼驗(yàn)證輸入的舊密碼是否正確,如是正確,則修改操作是成功。否則失敗,用戶可以重新修改或不再修改。其流程圖如下所示:</p><p>  圖2.5 用戶密碼修改流程圖</p><p>  基本操作單元中用戶注銷將在線用戶表中對應(yīng)的信息刪除,再將session里的對應(yīng)信息清空來實(shí)現(xiàn)的。</p><p>  顯示模塊是用戶的發(fā)言區(qū),所有的談話都將在

68、這里得到顯示,無論是公告、對所有人的聊天或者是私聊的話語。但是如果是私聊則只有聊天對象和自己看得到聊天內(nèi)容,其他人是看不到的。信息的得到是通過輸入?yún)^(qū)獲得(用戶自己的一些發(fā)言),或系統(tǒng)自動生成(對某用戶的進(jìn)入或某戶被踢出的一些系統(tǒng)提示)的。用戶可以根據(jù)自己的喜好選擇和大家一起聊天或和某人進(jìn)行私聊。顯示單元的文字條數(shù)在多于顯示頁面大小的時候會自動產(chǎn)生滾動條并滾動,這只要通過window.scroll()函數(shù)就可以實(shí)現(xiàn)了,以保持最新的聊天內(nèi)容

69、在顯示單元顯示。用戶查看聊天記錄也是顯示頁面實(shí)現(xiàn)的,所有聊天記錄在信息未清除(服務(wù)器重啟后或用戶的發(fā)言在超過200條時,系統(tǒng)會自動清楚所有記錄內(nèi)容,以便丟棄不再需要的已發(fā)送內(nèi)容記錄。)之前都會顯示在該頁面上。</p><p>  輸入單元是用戶進(jìn)行聊天的主要單元,用戶的發(fā)言、聊天對象、表情用語、是否私聊、是否退出私聊或者是否退出聊天室,都是通過輸入?yún)^(qū)實(shí)現(xiàn)的。這里是用戶的操作界面。用戶可以在聊天對象的文本框中輸入自

70、己喜歡的聊友給他發(fā)送信息或給所有人發(fā)送信息(默認(rèn)是給所有人發(fā)送信息),當(dāng)用戶勾選了“悄悄話”,則該用戶的發(fā)言就只有他所輸入的聊天對象可以看到,其他人是看不到的,如果沒有勾選(即退出了私聊),則他的發(fā)言是在線聊友都可以看到的。表情用語、字體、字體顏色、字體樣式等都是下拉式列表框,可以直觀的選取,用戶的發(fā)言內(nèi)容是將是所有這些的組合文字。離開按鈕是調(diào)用用戶退出頁面,即logout.jsp頁面,從而將用戶從當(dāng)前用戶列表的session中刪除該用

71、戶名,并從在線聊友表中刪除,實(shí)現(xiàn)用戶的退出?!傲奶鞄椭辨溄涌梢圆榭匆恍╆P(guān)于如何使用本聊天室的說明信息?!案呒壒δ堋辨溄邮歉呒売脩艟邆涞墓芾韱T功能,可以踢出其他在線用戶。</p><p>  高級功能是高級用戶具有的類似于管理員的功能。當(dāng)某用戶的積分大于1000分時,該用戶就具備了該功能,啟用該功能后可以根據(jù)下拉框選擇要踢出的用戶名,踢人成功后會有提示框,提示所選用戶已經(jīng)被踢出。被踢出的用戶將不能再聊天,其他用戶

72、可以給他留言,但他是不能看到的,因?yàn)樵谒芸吹降臅r候聊天信息已經(jīng)被清空了。被踢出的用戶可以正常登錄聊天室,但要在服務(wù)器重啟之后,才能繼續(xù)正常聊天。</p><p>  2.3系統(tǒng)數(shù)據(jù)庫設(shè)計</p><p>  本W(wǎng)eb聊天室采用的數(shù)據(jù)庫是MySQL數(shù)據(jù)庫,共有兩張表,數(shù)據(jù)庫所有表的截圖如下:</p><p>  圖2.6 user_table表</p>

73、<p>  圖2.7user_list表</p><p><b>  第三章功能測試</b></p><p>  本聊天室大部分頁面都包含了頭頁面和尾頁面,是通過JSP的動作指令實(shí)現(xiàn)的,主要實(shí)現(xiàn)代碼為:</p><p>  <jsp:include page="header.jsp"></jsp

74、:include></p><p>  <jsp:include page="footer.jsp"></jsp:include></p><p><b>  3.1用戶注冊</b></p><p>  用戶注冊是JSP頁面、JavaBean和Servlet的結(jié)合,JSP負(fù)責(zé)注冊的顯示,使用ja

75、vascript在表單提交之前對用戶填寫的信息進(jìn)行驗(yàn)證,驗(yàn)證通過,表單提交給Servlet,Servlet通過調(diào)用JavaBean決定注冊是否成功,JavaBean會將用戶提交的表單信息封裝并處理,然后顯示相應(yīng)的信息,失敗可再回到注冊頁面,若成功則可連接到登錄頁面。</p><p>  該部分功能實(shí)現(xiàn)如下所示:</p><p>  圖3.1 用戶注冊成功功能</p><

76、p>  主要實(shí)現(xiàn)部分代碼為: </p><p>  RegisterCheckBean rcb = new RegisterCheckBean(rb);</p><p>  if (rcb.validate())</p><p><b>  {</b></p><p>  out.println("<

77、;div align='center'>");</p><p>  out.println("<br><br><br><br><br>");</p><p>  out.println("該用戶已經(jīng)存在,請重新<a href='register.jsp&#

78、39;>注冊</a>!");</p><p>  out.println("</div>");</p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b>

79、;</p><p><b>  try</b></p><p><b>  {</b></p><p>  stmt.executeUpdate("insert into usertable(username,psw,sex,age,mail,question,reply) values('"&

80、lt;/p><p>  + username</p><p><b>  + "','"</b></p><p>  + password</p><p><b>  + "','"</b></p><p>

81、<b>  + sex</b></p><p><b>  + "','"</b></p><p><b>  + age</b></p><p><b>  + "','"</b></p>&

82、lt;p><b>  + mail</b></p><p><b>  + "','"</b></p><p>  + question</p><p><b>  + "','"</b></p><p&

83、gt;  + reply + "')");</p><p>  out.println("<div align='center'>");</p><p>  out.println("<br><br><br><br><br>");<

84、;/p><p>  out.println("注冊成功!,請<a href='login.jsp'>登錄</a>或返回<a href='index.jsp'>首頁</a>");</p><p>  out.println("</div>");</p>

85、<p><b>  }</b></p><p>  catch (SQLException e)</p><p><b>  {</b></p><p>  e.printStackTrace();</p><p><b>  }</b></p>&l

86、t;p><b>  finally</b></p><p><b>  {</b></p><p><b>  try</b></p><p><b>  {</b></p><p>  if (conn != null)</p>&l

87、t;p><b>  {</b></p><p>  conn.close();</p><p><b>  }</b></p><p>  if (stmt != null)</p><p><b>  {</b></p><p>  stmt.c

88、lose();</p><p><b>  }</b></p><p><b>  }</b></p><p>  catch (SQLException e)</p><p><b>  {</b></p><p>  e.printStackTrac

89、e();</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  3.2用戶登錄</b></p><p>  用戶登錄功能類似于用戶注冊,也

90、是通過以上幾種技術(shù)的集合來實(shí)現(xiàn)的,用戶注冊時,若成功則將用戶信息保存到數(shù)據(jù)庫中,而用戶登錄時,若成功則將表單上的信息與數(shù)據(jù)庫中對應(yīng)的信息作比較,若符合就可以成功跳轉(zhuǎn)。實(shí)現(xiàn)代碼與用戶注冊類似。其功能實(shí)現(xiàn)如下圖所示:</p><p>  圖3.2 用戶登錄成功功能</p><p><b>  主要實(shí)現(xiàn)部分代碼為</b></p><p>  Stri

91、ng input = request.getParameter("rand");</p><p>  LoginBean lb = new LoginBean();</p><p>  lb.setUsername(request.getParameter("username"));</p><p>  lb.setPassw

92、ord(request.getParameter("password"));</p><p>  String username = lb.getUsername();</p><p>  LoginCheckBean lcb = new LoginCheckBean(lb);</p><p>  if (input.equals(session

93、.getAttribute("rand")))</p><p><b>  {</b></p><p>  if (lcb.validate())</p><p><b>  {</b></p><p>  String integral = null;</p>&

94、lt;p>  session.setAttribute("username", username);</p><p><b>  try</b></p><p><b>  {</b></p><p>  rs = stmt.executeQuery("select integral f

95、rom usertable where username = '"</p><p>  + username + "'");</p><p>  if (rs.next())</p><p><b>  {</b></p><p>  integral = rs.getStr

96、ing(1);</p><p><b>  }</b></p><p>  int i = Integer.parseInt(integral);</p><p>  i = i + 2;</p><p>  String s = "" + i;</p><p>  sessi

97、on.setAttribute("integral", s);</p><p>  stmt.executeUpdate("update usertable set integral=integral+2 where username='"</p><p>  + username + "'");</p>

98、;<p><b>  }</b></p><p>  catch (SQLException e)</p><p><b>  {</b></p><p>  e.printStackTrace();</p><p><b>  }</b></p>

99、<p><b>  finally</b></p><p><b>  {</b></p><p><b>  try</b></p><p><b>  {</b></p><p>  if (conn != null)</p>

100、<p><b>  {</b></p><p>  conn.close();</p><p><b>  }</b></p><p>  if (stmt != null)</p><p><b>  {</b></p><p>  stmt

101、.close();</p><p><b>  }</b></p><p><b>  }</b></p><p>  catch (SQLException e)</p><p><b>  {</b></p><p>  e.printStackTr

102、ace();</p><p><b>  }</b></p><p><b>  }</b></p><p>  out.println("<div align='center'>");</p><p>  out.println("<

103、br><br><br><br><br>");</p><p>  out.println("登錄成功!<br><br>");</p><p>  out.println("請進(jìn)入聊天選擇頁面,選擇您所要進(jìn)入的聊天室!");</p><p>

104、  out.println("<a href='choose.jsp'>選擇聊天室</a>");</p><p>  out.println("</div>");</p><p><b>  }</b></p><p><b>  else&l

105、t;/b></p><p><b>  {</b></p><p>  out.println("<div align='center'>");</p><p>  out.println("<br><br><br><br><b

106、r>");</p><p>  out.println("登錄失??!<br><br>");</p><p>  out.println("您輸入的用戶名不存在或密碼出錯,請重新<a href='login.jsp'>登錄</a>");</p><p&g

107、t;  out.println("<div align='center'>");</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  else</b></p><p><

108、;b>  {</b></p><p>  out.println("<div align='center'>");</p><p>  out.println("<br><br><br><br><br>");</p><p&g

109、t;  out.println("登錄失?。?lt;br><br>");</p><p>  out.println("您輸入的驗(yàn)證碼不正確,請重新<a href='login.jsp'>登錄</a>");</p><p>  out.println("<div align=&

110、#39;center'>");</p><p><b>  }</b></p><p>  3.3用戶選擇聊天房間功能</p><p>  用戶登錄成功后就可以連接到選擇聊天房間的頁面,用戶可以根據(jù)自己的喜好選擇聊天房間,在用戶登錄并成功選擇聊天房間后,用戶的用戶名、所選聊天室和用戶的積分就會被添加到user_list表

111、中,只有在用戶退出或被他人踢出后用戶的這些信息才會從user_list中被刪除。</p><p>  該功能也是通過JSP頁面、JavaBean和Servlet相結(jié)合實(shí)現(xiàn)的。該部分主要實(shí)現(xiàn)功能圖如下所示:</p><p>  圖3.3 聊天室選擇功能圖</p><p><b>  主要實(shí)現(xiàn)代碼為: </b></p><p&g

112、t;  private String chatroom;</p><p>  public String getChatroom()</p><p><b>  {</b></p><p>  return chatroom;</p><p><b>  }</b></p><p

113、>  public void setChatroom(String chatroom)</p><p><b>  {</b></p><p>  this.chatroom = chatroom;</p><p><b>  }</b></p><p>  stmt.executeUpdat

114、e("insert into user_list </p><p>  values('"+username+"','"+chatroom+"','"+integral+"')");</p><p>  valid = true;</p><p

115、>  ChooseBean cb = new ChooseBean();</p><p>  cb.setUsername(request.getParameter("username"));</p><p>  cb.setChatroom(request.getParameter("chatroom"));</p><p

116、>  ChooseCheckBean ccb = new ChooseCheckBean(cb);</p><p>  if(ccb.validate())</p><p><b>  {</b></p><p>  goToPage("main.jsp", request, response);</p>

117、<p><b>  }</b></p><p>  用戶相應(yīng)信息的是在JavaBean處理時被添加到數(shù)據(jù)表中的。</p><p><b>  3.4用戶聊天功能</b></p><p>  聊天室的主頁面是用框架技術(shù)構(gòu)建的,對于不支持框架的瀏覽器是無法訪問的,聊天主頁面主要集成了四個頁面,即顯示頁面(show.

118、jsp)、用戶信息修改頁面(right.jsp)、處理頁面(transact.jsp)和輸入頁面(input.jsp)。</p><p><b>  3.4.1顯示功能</b></p><p>  顯示頁面將用戶的一些發(fā)言顯示出來,也可以實(shí)現(xiàn)聊天記錄的查看,其實(shí)現(xiàn)功能圖如下所示:</p><p>  圖3.4 顯示聊天內(nèi)容功能圖</p&g

119、t;<p><b>  主要實(shí)現(xiàn)代碼為:</b></p><p>  <script language="javascript" type="text/javascript"></p><p>  function GetData(url) {</p><p>  url = &

120、quot;class_method.jsp?action=transact.jsp";</p><p><b>  try </b></p><p><b>  {</b></p><p>  DataLoad.src = url;</p><p>  } catch (e) {</

121、p><p>  return false;</p><p><b>  }</b></p><p><b>  {</b></p><p>  var timeoutid = setTimeout("GetData()", 2000);</p><p><

溫馨提示

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

評論

0/150

提交評論