版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 畢業(yè)設(shè)計(jì)(論文)</b></p><p> 基于B/S模式即時(shí)通訊軟件的設(shè)計(jì)與實(shí)現(xiàn)</p><p> Design and Implementation of Network Chatting System Based on B/S Model</p><p> 學(xué)生姓名
2、 </p><p> 學(xué) 號(hào) </p><p> 專業(yè)班級(jí) 網(wǎng)絡(luò)工程0801</p><p> 指導(dǎo)教師 </p><p><b> 2012年5月</b></p><p><b> 摘 要&
3、lt;/b></p><p> 即時(shí)通訊Instant Messaging是目前Internet上最為流行的通訊方式,而各種各樣的即時(shí)通訊軟件也層出不窮;服務(wù)提供商也提供了越來越豐富的通訊服務(wù)功能。隨著互聯(lián)網(wǎng)的發(fā)展,即時(shí)通訊的運(yùn)用將日益廣泛,即時(shí)通訊軟件業(yè)方興未艾。</p><p> 此系統(tǒng)是基于B/S的模式的即時(shí)通訊系統(tǒng),通過IE等瀏覽器直接完成客戶端的登錄、數(shù)據(jù)傳輸,使用JA
4、VA語句開發(fā),使用Eclipse工具,數(shù)據(jù)庫(kù)方面用Mysql數(shù)據(jù)庫(kù)管理軟件,通過JDBC連接,便捷了用戶之間的通訊和交友。</p><p> 在系統(tǒng)設(shè)計(jì)與建模過程中,是以JSP開發(fā)的經(jīng)典MVC三層開發(fā)模式來開發(fā)的。本即時(shí)通訊軟件系統(tǒng)共由四個(gè)模塊組成:登錄模塊,驗(yàn)證模塊,在線查找模塊和聊天模塊。登錄模塊實(shí)現(xiàn)系統(tǒng)通過驗(yàn)證用戶名和密碼進(jìn)行登錄,驗(yàn)證模塊實(shí)現(xiàn)對(duì)用戶的校驗(yàn)和認(rèn)證。在線查找模塊采用Java Applet小程
5、序技術(shù),嵌入在html文檔中在瀏覽器中運(yùn)行,實(shí)現(xiàn)用戶個(gè)人信息的管理,即時(shí)消息的發(fā)送與接受。通信模塊采用Java編寫,實(shí)現(xiàn)即時(shí)消息的轉(zhuǎn)發(fā)與離線信息保存。</p><p> 關(guān)鍵詞:B/S;JSP;IM;即時(shí)通訊</p><p><b> Abstract</b></p><p> Instant Messaging is now Insta
6、nt communication on the Internet the most popular method of communication, and all kinds of Instant Messaging software also emerge in endlessly; Service providers also provide more and more rich communication service fun
7、ctions. With the development of the Internet, the use of instant communication will be more widely, instant messaging software is in the ascendant.</p><p> The system is based on B/S model of instant messag
8、ing system, through the IE, the client browser done directly login, data transmission, use JAVA statement development, use Eclipse tools, database with Mysql database management software, through the JDBC connection, con
9、venient communications between the user and making friends.</p><p> In system design and modeling process, is based on JSP development of the classic MVC three layer development model to development. This i
10、nstant messaging software system altogether by four modules: login module, validation module, online search module and chat module. Login module implements system through the authentication user name and password to logi
11、n, validation to the user module implements calibration and authentication. Online search module USES Java Applet small program technology, em</p><p><b> 目 錄</b></p><p><b>
12、第1章 緒論1</b></p><p> 1.1國(guó)內(nèi)外的即時(shí)通信軟件發(fā)展趨勢(shì)1</p><p> 1.2本論文的研究?jī)?nèi)容2</p><p> 第2章 系統(tǒng)的開發(fā)環(huán)境及工具簡(jiǎn)介4</p><p> 2.1 開發(fā)環(huán)境4</p><p> 2.2 開發(fā)工具介紹4</p><
13、;p> 2.2.1 Java簡(jiǎn)介4</p><p> 2.2.2 Applet簡(jiǎn)介5</p><p> 2.2.3 JSP簡(jiǎn)介5</p><p> 2.2.4 JDBC簡(jiǎn)介6</p><p> 2.2.5 MySQL簡(jiǎn)介6</p><p> 2.3 MVC三層模塊結(jié)構(gòu)7</p>
14、<p> 2.3.1 view層7</p><p> 2.3.2 control 層8</p><p> 2.3.3 model 層8</p><p> 第3章 功能需求分析9</p><p> 3.1 總體需求概述9</p><p> 3.2詳細(xì)功能需求介紹9</p>
15、<p> 3.2.1 登錄模塊9</p><p> 3.2.2 驗(yàn)證模塊10</p><p> 3.2.3 在線查找模塊10</p><p> 3.2.4 聊天模塊11</p><p> 3.3 MySQL與JSP、Java的連接12</p><p> 第4章 后臺(tái)數(shù)據(jù)庫(kù)的設(shè)計(jì)1
16、4</p><p> 4.1數(shù)據(jù)庫(kù)表的設(shè)計(jì)14</p><p> 4.1.1 users表15</p><p> 4.1.2 records表15</p><p> 4.1.3 online表15</p><p> 4.1.4 數(shù)據(jù)庫(kù)層16</p><p> 4.1.5 模
17、型層17</p><p> 第5章 系統(tǒng)詳細(xì)實(shí)現(xiàn)19</p><p> 5.1 流程示意圖19</p><p> 5.2 各個(gè)模塊的實(shí)現(xiàn)19</p><p> 5.2.1 登錄頁(yè)面20</p><p> 5.2.2 聊天頁(yè)面21</p><p> 5.2.3 查看在線用戶
18、23</p><p> 5.2.4 服務(wù)器端的顯示25</p><p><b> 結(jié) 論26</b></p><p><b> 致謝27</b></p><p><b> 參考文獻(xiàn)28</b></p><p><b> 第1
19、章 緒論</b></p><p> 即時(shí)通訊軟件,幾乎是每一個(gè)上網(wǎng)用戶都必備的聯(lián)絡(luò)工具。即時(shí)通訊軟件除了能夠讓您迅速地在網(wǎng)上找到自己的朋友和工作伙伴,還可以實(shí)時(shí)交談和傳遞信息,而且,現(xiàn)在不少即時(shí)通訊軟件還集成了文件共享、語音聊天、網(wǎng)絡(luò)會(huì)議等功能。截止到目前,全球約有近3億多人使用即時(shí)通訊軟件進(jìn)行交流,正因?yàn)榧磿r(shí)通訊軟件擁有數(shù)以億計(jì)的用戶和迅速增長(zhǎng)的市場(chǎng),所以各個(gè)公司都盯上了中國(guó)這個(gè)潛在的最大市場(chǎng),一
20、時(shí)間,即時(shí)通訊市場(chǎng)硝煙四起。</p><p> 1.1國(guó)內(nèi)外的即時(shí)通信軟件發(fā)展趨勢(shì)</p><p> 即時(shí)通訊軟件最早發(fā)布于1996年11月15日,以色列特拉維文的Mirabilis Ltd.發(fā)表了一個(gè)題為《E.T SURF HOME:MIRABILIS LTD. PROVIDES NEW SOLUTIONS FOR PEER-TO-PEER INTERNET COMMUNICATIO
21、NS》的新聞稿,同時(shí)發(fā)布了他們新產(chǎn)品ICQ(I Seek You)的Beta測(cè)試版。這天標(biāo)志著Internet上的第一個(gè)成熱的即時(shí)通訊系統(tǒng)(Instant Message System)的誕生。即時(shí)通訊服務(wù)在誕生之后的幾年時(shí)間得到了迅猛發(fā)展,成為新增Internet用戶的3個(gè)主要應(yīng)用之一(WEB,電子郵件和即時(shí)通訊)。</p><p> 在國(guó)內(nèi),1999年2月,深圳騰訊公司正式發(fā)布OICQ99 beta bui
22、ld 0210,開通騰訊即時(shí)通訊服務(wù)。2000年5月,騰訊QQ同時(shí)在線用戶突破10萬;2001年2月l0日,騰訊QQ同時(shí)在線用戶突破100萬。2004年4月份騰訊QQ同時(shí)在線人數(shù)最高記錄已經(jīng)突破了600萬大關(guān),現(xiàn)在騰訊公司正在把即時(shí)通訊系統(tǒng)往移動(dòng)通訊方向擴(kuò)展,如今已經(jīng)將即時(shí)通訊與手機(jī)短信息(SMS)成功結(jié)合起來。即時(shí)通訊軟件涉及和影響的領(lǐng)域已近越來越廣,其競(jìng)爭(zhēng)也越來越激烈。國(guó)內(nèi)QQ最大的敵手朗瑪U(kuò)C從2001年開始研發(fā),2002年的12
23、月份UC正式發(fā)布,并且首創(chuàng)了很多技術(shù):UC是國(guó)內(nèi)第一個(gè)做場(chǎng)景聊天的;UC是第一個(gè)把同學(xué)錄和校友錄結(jié)合的;第一個(gè)把即時(shí)通訊與休閑游戲相結(jié)合的;第一個(gè)把發(fā)送動(dòng)畫與即時(shí)通訊相結(jié)合的。在一年的發(fā)展里,UC一度達(dá)到峰值在線30萬人,注冊(cè)用戶達(dá)到7000萬。</p><p> 但是縱觀這些即時(shí)通訊軟件業(yè),都是基于C/S模式的,需要下載客戶端進(jìn)行安裝,用戶名、密碼、聊天記錄等也是存放在本地機(jī)器上,在安全性和方便性上都有所欠缺
24、。設(shè)計(jì)并開發(fā)一個(gè)基于WEB的即時(shí)通訊平臺(tái),對(duì)于現(xiàn)階段的學(xué)習(xí)和研究,都是極為有意義的,基于這個(gè)前提和起因.</p><p> 然而在眾多的即時(shí)通信軟件中很少有服務(wù)提供商同時(shí)對(duì)Windows、Linux或者M(jìn)ac操作系統(tǒng)提供支持。拋開市場(chǎng)因素,絕大多數(shù)的即時(shí)通信軟件都是基于C/S(客戶/服務(wù)器)方式的,這種的方式不利于軟件跨平臺(tái)移植,很容易出現(xiàn)兼容性的問題,而且在C/S方式下臃腫的客戶端也越來越成為眾矢之的。與其不
25、同的是,B/S方式統(tǒng)一了客戶端,將系統(tǒng)功能實(shí)現(xiàn)的核心部分集中到服務(wù)器上,簡(jiǎn)化了系統(tǒng)的開發(fā)、維護(hù)和使用??蛻魴C(jī)上只要有一個(gè)瀏覽器(Browser),如Netscape,IE,F(xiàn)irefox或Opera,而不需要考慮用戶使用了哪一種操作系統(tǒng)。因此使用B/S方式開發(fā)即時(shí)通信軟件是解決不同操作系統(tǒng)用戶之間進(jìn)行即時(shí)通信障礙的有效途徑之一。</p><p> 開發(fā)基于B/S方式的即時(shí)通信軟件具有相當(dāng)重要的現(xiàn)實(shí)意義,它可以實(shí)
26、現(xiàn)不同操作系統(tǒng)用戶之間無障礙的交流,免除了下載安裝客戶端的步驟,給用戶一個(gè)更加輕便的方式進(jìn)行溝通。另外,基于B/S方式的即時(shí)通信軟件也可以作為企業(yè)客戶服務(wù)部門的一個(gè)重要組成部分,使用它可以縮短客戶與企業(yè)間的交流成本,提高企業(yè)的反應(yīng)速度更好地為客戶服務(wù)。</p><p> 1.2本論文的研究?jī)?nèi)容</p><p> 基于以上考慮,本系統(tǒng)需要提供一套完整的用戶管理系統(tǒng),實(shí)現(xiàn)用戶的注冊(cè)、登錄以
27、及個(gè)人信息的管理;一個(gè)簡(jiǎn)單易用友好的系統(tǒng)即便是入門級(jí)的用戶也可以輕易掌握客戶端界面;一個(gè)強(qiáng)大快捷提供數(shù)據(jù)包轉(zhuǎn)發(fā)與轉(zhuǎn)存的服務(wù)器端方便了用戶的使用。</p><p> 要實(shí)現(xiàn)基于B/S方式的即時(shí)通信軟件就需要選擇一套與互聯(lián)網(wǎng)聯(lián)系密切的開發(fā)環(huán)境。選擇Tomcat做Web服務(wù)器實(shí)現(xiàn)對(duì)用戶的管理。這樣的選擇有不僅能有效的發(fā)揮軟件強(qiáng)大的網(wǎng)絡(luò)功能,還可以極大的節(jié)約開發(fā)成本。</p><p> 同樣的
28、,基于B/S方式的即時(shí)通訊系統(tǒng)需要做到多平臺(tái)兼容,就必須要選擇一個(gè)能在任意系統(tǒng)上都可以運(yùn)行的開發(fā)軟件,而Java號(hào)稱“一次編譯,處處運(yùn)行”自然是開發(fā)工具中的首選。</p><p> 但并不是所有問題都有簡(jiǎn)單明顯的解決方法,事實(shí)上,許多問題不可能在預(yù)定的系統(tǒng)規(guī)模之內(nèi)解決。如果問題沒有可行的解,那么花費(fèi)在這項(xiàng)開發(fā)工程上的任何時(shí)間、資源、人力和經(jīng)費(fèi)都是無謂的浪費(fèi)。由于開發(fā)軟件所需資源缺乏和交付時(shí)間限制的困擾,使得計(jì)算
29、機(jī)軟件的開發(fā)變得比較困難。</p><p> 由于采用了基于B/S方式的結(jié)構(gòu),必定會(huì)對(duì)客戶端有一定的限制(只能在瀏覽器內(nèi)運(yùn)行)??紤]到這一點(diǎn),可以選擇使用Java Applet和socket技術(shù)進(jìn)行設(shè)計(jì)。Java Applet可以為本即時(shí)通信軟件提供一個(gè)易用的客戶端界面;通過socket編程技術(shù)可以簡(jiǎn)單的實(shí)現(xiàn)網(wǎng)絡(luò)信息的傳遞。選用以上兩種技術(shù)手段可以確保程序在瀏覽器中的運(yùn)行效果,而又不用擔(dān)心系統(tǒng)功能會(huì)被削弱。&l
30、t;/p><p> 在開發(fā)軟件的過程中,人們使用了許多保證軟件質(zhì)量的方法分析、設(shè)計(jì)和實(shí)現(xiàn)軟件,但難免還會(huì)在工作中犯錯(cuò)誤。這樣,在軟件產(chǎn)品中就會(huì)隱藏許多錯(cuò)誤和缺陷,尤其是對(duì)規(guī)模大、復(fù)雜性高的軟件更是如此。所以,必須進(jìn)行認(rèn)真、計(jì)劃、徹底的軟件測(cè)試。</p><p> 本系統(tǒng)主要通過聊天主界面,輸入呢稱,和聊天信息,通過點(diǎn)擊確定,跳轉(zhuǎn)到SERVLET里,調(diào)用了DAO的增刪改查方法,然后進(jìn)入DAO
31、的方法。通過連通機(jī)制連通數(shù)據(jù)庫(kù)并向后臺(tái)發(fā)送語句。實(shí)現(xiàn)使用功能,方便人們實(shí)現(xiàn)在線聊天。</p><p> 第2章 系統(tǒng)的開發(fā)環(huán)境及工具簡(jiǎn)介</p><p><b> 2.1 開發(fā)環(huán)境</b></p><p> Tomcat 服務(wù)器是一個(gè)免費(fèi)的開放源代碼的輕量級(jí)Web 應(yīng)用服務(wù)器,它是Apache 軟件基金會(huì)(Apache Software
32、Foundation)的Jakarta 項(xiàng)目中的一個(gè)核心項(xiàng)目,由Apache、Sun 和其他一些公司及個(gè)人共同開發(fā)而成。由于有了Sun 的參與和支持,最新的Servlet 和JSP 規(guī)范總是能在Tomcat 中得到體現(xiàn)。</p><p> 它在中小型系統(tǒng)和并發(fā)訪問用戶不是很多的場(chǎng)合下被普遍使用,是開發(fā)和調(diào)試JSP 程序的首選。它運(yùn)行時(shí)占用的系統(tǒng)資源小,擴(kuò)展性好,支持負(fù)載平衡與郵件服務(wù)等開發(fā)應(yīng)用系統(tǒng)常用的功能;而
33、且它還在不斷的改進(jìn)和完善中,任何一個(gè)感興趣的程序員都可以更改它或在其中加入新的功能。</p><p> 2.2 開發(fā)工具介紹</p><p> 2.2.1 Java簡(jiǎn)介</p><p> Java是由Sun Microsystems公司于1995年5月推出的Java程序設(shè)計(jì)語言(以下簡(jiǎn)稱Java語言)和Java平臺(tái)的總稱。用Java實(shí)現(xiàn)的HotJava瀏覽器(
34、支持Java Applet)顯示了Java的魅力:跨平臺(tái)、動(dòng)感的Web、Internet計(jì)算[2]。從此,Java被廣泛接受并推動(dòng)了Web的迅速發(fā)展,常用的瀏覽器現(xiàn)在均支持Java Applet。另一方面,Java技術(shù)也不斷更新。Java分為三個(gè)體系J2SE(Java2 Standard Edition),J2EE(Java 2 Platform,Enterprise Edition),J2ME(Java 2 Micro Edition
35、)。</p><p> Java平臺(tái)由Java虛擬機(jī)(Java Virtual Machine)和Java 應(yīng)用編程接口(Application Programming Interface、簡(jiǎn)稱API)構(gòu)成。Java 應(yīng)用編程接口為Java應(yīng)用提供了一個(gè)獨(dú)立于操作系統(tǒng)的 標(biāo)準(zhǔn)接口,可分為基本部分和擴(kuò)展部分。在硬件或操作系統(tǒng)平臺(tái)上安裝一個(gè)Java平臺(tái)之后,Java應(yīng)用程序就可運(yùn)行?,F(xiàn)在Java平臺(tái)已經(jīng)嵌入了幾乎所
36、有 的操作系統(tǒng)。這樣Java程序可以只編譯一次,就可以在各種系統(tǒng)中運(yùn)行。Java應(yīng)用編程接口已經(jīng)從1.1x版發(fā)展到1.2版。目前常用的Java平臺(tái)基 于Java1.4,最近版本為Java1.6。</p><p> 2.2.2 Applet簡(jiǎn)介</p><p> Applet是采用Java創(chuàng)建的基于HTML的程序,可通過因特網(wǎng)下載并在接收計(jì)算機(jī)的瀏覽器軟件中運(yùn)行。Applet典型用于為萬
37、維網(wǎng)網(wǎng)頁(yè)頁(yè)面定制 或添加交互格式元素。包含Applet的網(wǎng)頁(yè)被稱為Java- powered頁(yè),可以稱其為Java支持的網(wǎng)頁(yè)。</p><p> 當(dāng)用戶訪問這樣的網(wǎng)頁(yè)時(shí), Applet被下載到用戶的計(jì)算機(jī)上執(zhí)行,但前提是用戶使用的是支持Java的網(wǎng)絡(luò)瀏覽器。由于Applet是在用戶的計(jì)算機(jī)上執(zhí)行的,因此它的執(zhí)行速度不受網(wǎng)絡(luò)帶寬或者M(jìn)odem存取速度的限制。用戶可以更好地欣賞網(wǎng)頁(yè)上Applet產(chǎn)生的多媒體效果。&
38、lt;/p><p> 在Java Applet中,可以實(shí)現(xiàn)圖形繪制,字體和顏色控制,動(dòng)畫和聲音的插入,人機(jī)交互及網(wǎng)絡(luò)交流等功能。 Applet還提供了名為抽象窗口工具箱(Abstract Window Toolkit,AWT)的窗口環(huán)境開發(fā)工具。 AWT利用用戶計(jì)算機(jī)的GUI元素,可以建立標(biāo)準(zhǔn)的圖形用戶界面,如窗口、按鈕、滾動(dòng)條等等。</p><p> 2.2.3 JSP簡(jiǎn)介</p&
39、gt;<p> JSP(JavaServer Pages)是由Sun Microsystems公司倡導(dǎo)、許多公司參與一起建立的一種動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)標(biāo)準(zhǔn)。它是在傳統(tǒng)的網(wǎng)頁(yè)HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP標(biāo)記(tag),從而形成JSP文件(*.jsp)。</p><p> 用JSP開發(fā)的Web應(yīng)用是跨平臺(tái)的與Java Servlet一樣,是在服務(wù)
40、器端執(zhí)行的,通常返回該客戶端的就是一個(gè)HTML文本,因此客戶端只要有瀏覽器就能瀏覽。即能在Linux下運(yùn)行,也能在其他操作系統(tǒng)上運(yùn)行。</p><p> JSP技術(shù)使用Java編程語言編寫類XML的tags和scriptlets,來封裝產(chǎn)生動(dòng)態(tài)網(wǎng)頁(yè)的處理邏輯。網(wǎng)頁(yè)還能通過tags和 scriptlets訪問存在于服務(wù)端的資源的應(yīng)用邏輯。JSP將網(wǎng)頁(yè)邏輯與網(wǎng)頁(yè)設(shè)計(jì)和顯示分離,支持可重用的基于組件的設(shè)計(jì),使基于We
41、b的應(yīng)用程序的 開發(fā)變得迅速和容易。</p><p> Web服務(wù)器在遇到訪問JSP網(wǎng)頁(yè)的請(qǐng)求時(shí),首先執(zhí)行其中的程序段,然后將執(zhí)行結(jié)果連同JSP文件中的HTML代碼一起返回給客戶。插入的Java程序段可以操作數(shù)據(jù)庫(kù)、重新定向網(wǎng)頁(yè)等,以實(shí)現(xiàn)建立動(dòng)態(tài)網(wǎng)頁(yè)所需要的功能。 </p><p> 2.2.4 JDBC簡(jiǎn)介</p><p> JDBC(Java Data B
42、ase Connectivity,Java數(shù)據(jù)庫(kù)連接)是一種用于執(zhí)行SQL語句的Java API,可以為多種關(guān)系數(shù)據(jù)庫(kù)提供統(tǒng)一訪問,它由一組用Java語言編寫的類和接口組成。JDBC為工具/數(shù)據(jù)庫(kù)開發(fā)人員提供了一個(gè)標(biāo)準(zhǔn)的API,據(jù)此可 以構(gòu)建更高級(jí)的工具和接口,使數(shù)據(jù)庫(kù)開發(fā)人員能夠用純 Java API編寫數(shù)據(jù)庫(kù)應(yīng)用程序。</p><p> 有了JDBC,向各種關(guān)系數(shù)據(jù)發(fā)送SQL語句就是一件很容易的事。程序員只
43、需用JDBC API寫一個(gè)程序就夠了,它可向相應(yīng)數(shù)據(jù)庫(kù)發(fā)送SQL調(diào)用。同時(shí),將Java語言和JDBC結(jié)合起來使程序員不必為不同的平臺(tái)編寫不同的應(yīng)用程序,只須寫一遍程序就可以讓它在任何平臺(tái)上運(yùn)行,這也是Java語言“編寫一次,處處運(yùn)行”的優(yōu)勢(shì)。</p><p> JDBC使用已有的 SQL標(biāo)準(zhǔn)并支持與其它數(shù)據(jù)庫(kù)連接標(biāo)準(zhǔn),如ODBC之間的橋接。實(shí)現(xiàn)了所有這些面向標(biāo)準(zhǔn)的目標(biāo)并且具有簡(jiǎn)單、嚴(yán)格類型定義且高性能實(shí)現(xiàn)的接口
44、。</p><p> Java 具有堅(jiān)固、安全、易于使用、易于理解和可從網(wǎng)絡(luò)上自動(dòng)下載等特性,是編寫數(shù)據(jù)庫(kù)應(yīng)用程序的杰出語言。所需要的只是 Java應(yīng)用程序與各種不同數(shù)據(jù)庫(kù)之間進(jìn)行對(duì)話的方法。而 JDBC 正是作為此種用途的機(jī)制。</p><p> 它擴(kuò)展了 Java 的功能。例如,用 Java 和JDBC API可以發(fā)布含有 Applet 的網(wǎng)頁(yè),而該 Applet 使用的信息可能來
45、自遠(yuǎn)程數(shù)據(jù)庫(kù)企業(yè)也可以用 JDBC 通過 Intranet 將所有職員連到一個(gè)或多個(gè)內(nèi)部數(shù)據(jù)庫(kù)中。</p><p> 2.2.5 MySQL簡(jiǎn)介</p><p> MySQL是一個(gè)小型關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),開發(fā)者為瑞典MySQL AB公司。目前MySQL被廣泛地應(yīng)用在Internet上的中小型網(wǎng)站中。MySQL的特性如下:</p><p> ?。?)使用C和C+
46、+編寫,并使用了多種編譯器進(jìn)行測(cè)試,保證源代碼的可移植性。</p><p> (2)支持AIX、FreeBSD、HP-UX、Linux、Mac OS、Novell Netware、OpenBSD、OS/2 Wrap、Solaris、Windows等多種操作系統(tǒng)。</p><p> ?。?)為多種編程語言提供了API。這些編程語言包括C、C++、Eiffel、Java、Perl、PHP、P
47、ython、Ruby和Tcl等。</p><p> (4)支持多線程,充分利用CPU資源。</p><p> ?。?)優(yōu)化的SQL查詢算法,有效地提高查詢速度。</p><p> ?。?)既能夠作為一個(gè)單獨(dú)的應(yīng)用程序應(yīng)用在客戶端服務(wù)器網(wǎng)絡(luò)環(huán)境中,也能夠作為一個(gè)庫(kù)而嵌入到其他的軟件中提供多語言支持,常見的編碼如中文的GB 2312、BIG5,日文的Shift_JIS
48、等都可以用作數(shù)據(jù)表名和數(shù)據(jù)列名。</p><p> ?。?)提供TCP/IP、ODBC和JDBC等多種數(shù)據(jù)庫(kù)連接途徑。</p><p> (8)提供用于管理、檢查、優(yōu)化數(shù)據(jù)庫(kù)操作的管理工具。</p><p> (9)可以處理?yè)碛猩锨f條記錄的大型數(shù)據(jù)庫(kù)。</p><p> 2.3 MVC三層模塊結(jié)構(gòu)</p><p&g
49、t; 2.3.1 view層</p><p> 這一層主要功能是基于JSP技術(shù)的網(wǎng)頁(yè)顯示。JSP技術(shù)使用Java編程語言編寫類XML的tags和scriptlets,來封裝產(chǎn)生動(dòng)態(tài)網(wǎng)頁(yè)的處理邏輯。網(wǎng)頁(yè)還能通過tags和scriptlets訪問存在于服務(wù)端的資源的應(yīng)用邏輯。JSP將網(wǎng)頁(yè)邏輯與網(wǎng)頁(yè)設(shè)計(jì)和顯示分離,支持可重用的基于組件的設(shè)計(jì),使基于Web的應(yīng)用程序的開發(fā)變得迅速和容易。</p><
50、;p> JSP與JavaServlet一樣,是在服務(wù)器端執(zhí)行的,通常返回給客戶端的就是一個(gè)HTML文本,因此客戶端只要有瀏覽器就能瀏覽。</p><p> JSP與JavaServlet一樣,是在服務(wù)器端執(zhí)行的,通常返回給客戶端的就是一個(gè)HTML文本,因此客戶端只要有瀏覽器就能瀏覽。</p><p> View層的功能主要用于顯示網(wǎng)頁(yè)和內(nèi)容。</p><p&
51、gt; 2.3.2 control 層</p><p> 這一層主要通過servlet這個(gè)控件來實(shí)現(xiàn),servlet是一種服務(wù)器端的Java應(yīng)用程序,具有獨(dú)立于平臺(tái)和協(xié)議的特性,可以生成動(dòng)態(tài)的Web頁(yè)面。 它擔(dān)當(dāng)客戶請(qǐng)求(Web瀏覽器或其他HTTP客戶程序)與服務(wù)器響應(yīng)(HTTP服務(wù)器上的數(shù)據(jù)庫(kù)或應(yīng)用程序)的中間層。 Servlet是位于Web 服務(wù)器內(nèi)部的服務(wù)器端的Java應(yīng)用程序,與傳統(tǒng)的從命令行啟動(dòng)的J
52、ava應(yīng)用程序不同,Servlet由Web服務(wù)器進(jìn)行加載,該Web服務(wù)器必須包含支持Servlet的Java虛擬機(jī)。</p><p> 它底下包含了DAO.ADD和DAO.FINDALL()等包,起到連接的作用。</p><p> 2.3.3 model 層</p><p> 這一層是模型層,包括DAO、BEAN,向數(shù)據(jù)庫(kù)發(fā)送SQL語句,執(zhí)行增刪改查的功能。B
53、EAN是實(shí)體類的包,實(shí)體類是與數(shù)據(jù)庫(kù)表的字段相對(duì)應(yīng)。它是實(shí)體類,用來保存數(shù)據(jù)庫(kù)表格的中一條記錄的所有字段的數(shù)據(jù)。并且可以驗(yàn)證這條記錄數(shù)據(jù)的完整性。</p><p> 第3章 功能需求分析</p><p> 3.1 總體需求概述</p><p> 本即時(shí)通訊系統(tǒng)包含服務(wù)器端和客戶端兩個(gè)部分,由于服務(wù)器主要是用來數(shù)據(jù)的存儲(chǔ)用戶數(shù)據(jù)與協(xié)調(diào)用戶之間的通訊,以及提供消息
54、中轉(zhuǎn)功能,不需要進(jìn)行界面設(shè)計(jì);客戶端需要給用戶一個(gè)方便、實(shí)用的界面。</p><p> 3.2詳細(xì)功能需求介紹</p><p> 3.2.1 登錄模塊</p><p> 該模塊實(shí)現(xiàn)驗(yàn)證用戶名和密碼是否正確,對(duì)用戶的一些不正確輸入進(jìn)行判斷。例如:用戶名、密碼為空,判斷用戶是否在線。登陸模塊如圖3.1所示</p><p><b>
55、 圖3.1 登陸模塊</b></p><p> 3.2.2 驗(yàn)證模塊</p><p> 該模塊實(shí)現(xiàn)新用戶的注冊(cè),對(duì)用戶的一些不正確輸入進(jìn)行判斷。例如:用戶名、密碼為空;密碼與驗(yàn)證密碼不一致等問題;判斷用戶是否已經(jīng)注冊(cè)。</p><p><b> 特殊需求:</b></p><p> (1)用戶名字符
56、的位數(shù):8-10,必填。</p><p> (2)密碼字符的位數(shù):6-10,必填,并以掩碼“*”顯示。</p><p> (3 )IP地址由數(shù)字和“.”組成,格式為xxx.xxx.xxx.xxx,共15位,xxx的范圍:0-255,必填,</p><p> (4) 端口號(hào)為數(shù)字,范圍8000-9999,必填。</p><p><b
57、> 前置條件:</b></p><p> (1) 以合法身份登錄操作系統(tǒng),啟動(dòng)客戶端頁(yè)面。</p><p><b> 后置條件:</b></p><p> (1) 用戶登錄成功,顯示客戶端主窗體。</p><p> 3.2.3 在線查找模塊</p><p> 用戶在線
58、主要包含聯(lián)機(jī)、忙碌和離開等狀態(tài),在線好友維護(hù)部分包含當(dāng)前在線好友的顯示、用戶信息的修改、實(shí)時(shí)在線狀態(tài)更新、在線、離線)、搜索添加好友以及刪除好友等功能。</p><p> 自動(dòng)設(shè)置服務(wù)器端套接字,啟動(dòng)服務(wù)后監(jiān)聽客戶端的請(qǐng)求,同時(shí)顯示連接狀態(tài)和接收請(qǐng)求的信息。顯示服務(wù)器端的IP地址和端口號(hào),顯示當(dāng)前在線人員的詳細(xì)信息,用戶管理如圖3.2所示。</p><p><b> 圖3.2
59、 用戶管理</b></p><p> 3.2.4 聊天模塊</p><p> 聊天功能是本即時(shí)通訊系統(tǒng)的主要功能、也是整個(gè)通訊系統(tǒng)的核心,是在線的雙方進(jìn)行信息傳遞的功能,只要是在線的好友雙方都可以進(jìn)行聊天,并且為每個(gè)好友提供單獨(dú)的聊天窗口,在聊天窗口中,主要提供輸入聊天信息、顯示聊天信息以及顯示對(duì)方昵稱和發(fā)送時(shí)間等功能。</p><p> 此外,如
60、果好友處于下線狀態(tài),用戶依然可以向?qū)Ψ桨l(fā)送留言信息,通過服務(wù)器的信息中轉(zhuǎn)服務(wù)讓該好友下次上線時(shí),就會(huì)收到對(duì)方的留言信息。客戶聊天流程圖如圖3.3所示。</p><p> 圖3.3 客戶端聊天流程圖</p><p> 3.3 MySQL與JSP、Java的連接</p><p> JDBC API 既支持?jǐn)?shù)據(jù)庫(kù)訪問的兩層模型(C/S),同時(shí)也支持三層模型(B/S
61、)。在兩層模型中,Java applet或應(yīng)用程序?qū)⒅苯优c數(shù)據(jù)庫(kù)進(jìn)行對(duì)話。這將需要一個(gè)JDBC驅(qū)動(dòng)程序來與所訪問的特定數(shù)據(jù)庫(kù)管理系統(tǒng)進(jìn)行通訊。用戶的SQL語句被送往數(shù)據(jù)庫(kù)中,而其結(jié)果將被送回給用戶。數(shù)據(jù)庫(kù)可以位于另一臺(tái)計(jì)算機(jī)上,用戶通過網(wǎng)絡(luò)連接到上面。這就叫做客戶機(jī)/服務(wù)器配置,其中用戶的計(jì)算機(jī)為客戶機(jī),提供數(shù)據(jù)庫(kù)的計(jì)算機(jī)為服務(wù)器。網(wǎng)絡(luò)可以是 Intranet(它可將公司職員連接起來),也可以是 Internet。 JDBC(Java
62、DataBase Connectivity)是用于執(zhí)行SQL語句的Java應(yīng)用程序接口,由一組用Java語言編寫的類與接口組成。JDBC是一種規(guī)范,它讓各數(shù)據(jù)庫(kù)廠商為Java程序員提供標(biāo)準(zhǔn)的數(shù)據(jù)庫(kù)訪問類和接口。JDBC編寫數(shù)據(jù)庫(kù)程序的方法一般分為三個(gè)步驟: </p><p><b> ?。?)建立數(shù)據(jù)源</b></p><p> 建立數(shù)據(jù)源是指建立ODBC數(shù)據(jù)源。
63、</p><p><b> ?。?)建立連接</b></p><p> 與數(shù)據(jù)庫(kù)建立連接的標(biāo)準(zhǔn)方法是調(diào)用方法Drivermanger.getConnection (String url,String user,String password)。</p><p> ?。?)執(zhí)行SQL語句</p><p> JDBC提供
64、了Statement類來發(fā)送SQL語句,Statement類的對(duì)象由createStatement方法創(chuàng)建。</p><p> Statement 對(duì)象用于將 SQL 語句發(fā)送到數(shù)據(jù)庫(kù)中。實(shí)際上有三種 Statement 對(duì)象,它們都作為在給定連接上執(zhí)行 SQL 語句的包容器:Statement、PreparedStatement(它從 Statement 繼承而來)和 CallableStatement(它從
65、 PreparedStatement 繼承而來)。它們都專用于發(fā)送特定類型的 SQL 語句: Statement 對(duì)象用于執(zhí)行不帶參數(shù)的簡(jiǎn)單 SQL 語句;PreparedStatement 對(duì)象用于執(zhí)行帶或不帶 IN 參數(shù)的預(yù)編譯 SQL 語句;CallableStatement 對(duì)象用于執(zhí)行對(duì)數(shù)據(jù)庫(kù)已存在的存儲(chǔ)過程的調(diào)用。Statement 接口提供了執(zhí)行語句和獲取結(jié)果的基本方法。PreparedStatement 接口添加了處理
66、IN 參數(shù)的方法;而 CallableStatement 添加了處理 OUT 參數(shù)的方法。有些 DBMS 將已存儲(chǔ)過程中的每條語句視為獨(dú)立的語句;而另外一些則將整個(gè)過程視為一個(gè)復(fù)合語句。在啟用自動(dòng)提交時(shí),這種差別就變得非常重要,因?yàn)樗绊懯裁磿r(shí)候調(diào)用 commit 方法。在</p><p> 第4章 后臺(tái)數(shù)據(jù)庫(kù)的設(shè)計(jì)</p><p> 數(shù)據(jù)庫(kù)是數(shù)據(jù)庫(kù)應(yīng)用程序的重要組成部分,設(shè)計(jì)結(jié)構(gòu)合理
67、、功能齊全的數(shù)據(jù)庫(kù)對(duì)于提高數(shù)據(jù)庫(kù)應(yīng)用程序的開發(fā)效率和程序的性能都是非常重要的[10]。</p><p> 根據(jù)用戶需求,確定數(shù)據(jù)庫(kù)中要保存的數(shù)據(jù)信息。對(duì)用戶需求進(jìn)行分析是數(shù)據(jù)庫(kù)設(shè)計(jì)的第一個(gè)階段。不斷地調(diào)查與研究用戶需求,了解企業(yè)運(yùn)作流程和系統(tǒng)需求,是設(shè)計(jì)概念模型的基礎(chǔ)。</p><p> 設(shè)計(jì)數(shù)據(jù)的概念模型。概念模型是按用戶的觀點(diǎn)來對(duì)數(shù)據(jù)建模,概念模型是用于進(jìn)行信息世界建模的工具,對(duì)數(shù)
68、據(jù)庫(kù)的設(shè)計(jì)具有深刻的影響。 </p><p> 4.1數(shù)據(jù)庫(kù)表的設(shè)計(jì)</p><p> 表的內(nèi)容設(shè)計(jì)涉及到了整型(INTEGER),可變字符型(VARCHAR),數(shù)據(jù)型(TEXT)和日期型(DATA)。本系統(tǒng)的數(shù)據(jù)庫(kù)由三個(gè)表組成:users、records、online。</p><p> E-R圖如圖4.1所示。</p><p>
69、圖4.1 E-R圖</p><p> 4.1.1 users表</p><p> 該表的主要作用是保存用戶注冊(cè)的基本信息。該表包含ID用戶名,psw MD5處理后的密碼,email電子郵件,sex性別,Info用戶信息和Data注冊(cè)時(shí)間六個(gè)字段。其結(jié)構(gòu)如表4.2所示。</p><p> 表4.2 users表</p><p> 4.
70、1.2 records表</p><p> 該表主要用于記錄用戶離線時(shí)收到的信息,也可以保存用戶的聊天記錄。該表包含ID用戶名,record記錄兩個(gè)字段。其ID字段和users表中ID字段相對(duì)應(yīng)。其結(jié)構(gòu)如表4.3所示。</p><p> 表4.3 records表</p><p> 4.1.3 online表</p><p> 該表記
71、錄用戶的在線狀態(tài),對(duì)服務(wù)器端轉(zhuǎn)發(fā)數(shù)據(jù)包有著至關(guān)重要的作用。該表包含name姓名,ID編號(hào)兩個(gè)字段。其結(jié)構(gòu)如表4.4所示。</p><p> 表4.4 online表</p><p> 4.1.4 數(shù)據(jù)庫(kù)層</p><p> 數(shù)據(jù)庫(kù)層的數(shù)據(jù)如圖4.5所示.</p><p><b> 圖4.5數(shù)據(jù)庫(kù)</b></
72、p><p> import java.sql.Connection;</p><p> import java.sql.DriverManager;</p><p> import java.sql.PreparedStatement;</p><p> import java.sql.ResultSet;</p><
73、p> import java.sql.SQLException;</p><p> import java.sql.Statement;</p><p> public class DBConnection {</p><p> private static final String driverName="com.microsoft.sql
74、server.jdbc.SQLServerDriver";</p><p> private static final String URL="jdbc:sqlserver://localhost:1433;database=db_shop";</p><p> public static Connection getConnection(String u
75、sername,String userpass){</p><p> Connection conn=null;</p><p><b> try {</b></p><p> Class.forName(driverName);</p><p> conn=DriverManager.getConnection
76、(URL, username, userpass);</p><p> } catch (ClassNotFoundException e) {</p><p> // TODO Auto-generated catch block</p><p> e.printStackTrace();</p><p> } catch (SQL
77、Exception e) {</p><p> // TODO Auto-generated catch block</p><p> e.printStackTrace();</p><p><b> }</b></p><p> return conn;</p><p><b&g
78、t; }</b></p><p> public static Connection getConnection(){</p><p> return getConnection("sa","123456");</p><p><b> }</b></p><p&
79、gt;<b> 4.1.5 模型層</b></p><p> 主要由BEAN下的RecordDTO構(gòu)成。</p><p> public class RecordDTO {</p><p> private int recordID;</p><p> private String recordName;<
80、;/p><p> private String recordMessage;</p><p> public int getRecordID() {</p><p> return recordID;</p><p><b> }</b></p><p> public void setRe
81、cordID(int recordID) {</p><p> this.recordID = recordID;</p><p><b> }</b></p><p> public String getRecordName() {</p><p> return recordName;</p>
82、<p><b> }</b></p><p> public void setRecordName(String recordName) {</p><p> this.recordName = recordName;</p><p><b> }</b></p><p> pu
83、blic String getRecordMessage() {</p><p> return recordMessage;</p><p><b> }</b></p><p> public void setRecordMessage(String recordMessage) {</p><p> thi
84、s.recordMessage = recordMessage;</p><p><b> }</b></p><p> 第5章 系統(tǒng)詳細(xì)實(shí)現(xiàn)</p><p><b> 5.1 流程示意圖</b></p><p> 如圖5.1所示,通過三層設(shè)計(jì)模型把應(yīng)用邏輯,處理過程和顯示邏輯分成不同的組件
85、實(shí)現(xiàn)。這些組件可以進(jìn)行交互和重用。VIEW端的CHAT.jsp表是視圖層的文件,把數(shù)據(jù)傳到CONTROL層的DAO包,再傳到模型層的ADD,和FINDALL包里面,最后到數(shù)據(jù)庫(kù)層的完成數(shù)據(jù)的提取,最后由DAO.FINDALL傳值到WEB頁(yè)面。</p><p> 圖5.1 流程示意圖</p><p> 5.2 各個(gè)模塊的實(shí)現(xiàn) </p><p> 總流程圖如5.
86、2所示</p><p> 圖 5.2 總體流程圖</p><p> 5.2.1 登錄頁(yè)面</p><p> login.jsp頁(yè)面提供用戶的登錄界面及注冊(cè)鏈接,提示用戶輸入用戶名和密碼。這個(gè)頁(yè)面提供表單的post方法,將用戶輸入的信息name和psw發(fā)送給ver.jsp頁(yè)面。登錄頁(yè)面的表單由兩個(gè)表格<table>組成。第一個(gè)表格用于放置用戶名和密碼
87、輸入框,第二個(gè)表格用于放置用戶提交和重置按鈕。如圖5.3所示.</p><p><b> 圖5.3 登錄頁(yè)面</b></p><p><b> 代碼:</b></p><p> <meta http-equiv="pragma" content="no-cache">
88、;</p><p> <meta http-equiv="cache-control" content="no-cache"></p><p> <meta http-equiv="expires" content="0"> </p><p> <
89、;meta http-equiv="keywords" content="keyword1,keyword2,keyword3"></p><p> <meta http-equiv="description" content="This is my page"></p><p><b
90、> <!--</b></p><p> <link rel="stylesheet" type="text/css" href="styles.css"></p><p><b> --></b></p><p><b> &
91、lt;/head></b></p><p> <script type="text/javascript" src="js/demo.js"></script></p><p> <body background="image/1421355329.jpg" left=250
92、 top=200 width=500 height=400></p><p><b> <center></b></p><p> <iframe name="aa" width="450" height="250" marginwidth="30" m
93、arginheight="20" align="center" allowtransparency="true" style="background-color:white"></p><p><b> </iframe></b></p><p><b>
94、</center></b></p><p> <form action="Chat" id="form1" method="post" target="aa"></p><p><b> <center></b></p>
95、<p><b> <table></b></p><p> <!--DWLayoutTable--></p><p> <tr><td align="left" colspan="+2">昵稱:<input type="text" id=&
96、quot;s1" name="name" onblur="checknameID()"/></td><input type="submit" value="進(jìn)入聊天" ></tr></p><p><b> <tr></b></p>
97、<p> <td width="365" height="57" valign="top" style="size:5"><textarea name="content" id="s2" cols="50" wrap="physical" style
98、="height:100">請(qǐng)輸入內(nèi)容</textarea></td></p><p> <td width="40" valign="top"><input name="提交" type="submit" value="確認(rèn)" style=&
99、quot;height:100" style="width:50"/></tr></p><p> 5.2.2 聊天頁(yè)面</p><p> CHAT.JSP是用于顯示聊天界面的主頁(yè)面,它由chat.jsp和testchat.JSP</p><p> 組成,TESTCHAT.JSP主要用于點(diǎn)擊進(jìn)入聊天之后的頁(yè)面顯示
100、。如圖5.4顯示。</p><p><b> 圖5.4聊天界面</b></p><p><b> 代碼:</b></p><p> !DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"></p><p&
101、gt;<b> <html></b></p><p><b> <head></b></p><p> <base href="<%=basePath%>"> </p><p> <title>My JSP 'testchat.
102、jsp' starting page</title> </p><p> <meta http-equiv="pragma" content="no-cache"></p><p> <meta http-equiv="cache-control" content="no-cac
103、he"></p><p> <meta http-equiv="expires" content="0"> </p><p> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">&l
104、t;/p><p> <meta http-equiv="description" content="This is my page"></p><p><b> <!-- </b></p><p> <meta content="1" http-equiv=
105、"refresh"/></p><p><b> --></b></p><p><b> <!--</b></p><p> <link rel="stylesheet" type="text/css" href="sty
106、les.css"></p><p><b> </head></b></p><p><b> <body ></b></p><p> <c:forEach var="list" items="${list}"></p
107、><p> <font color="blue" face="幼圓">${list.recordName}</font>說:</p><p><b> <br/></b></p><p> <font face="黑體">${list.
108、recordMessage}</font></p><p><b> <br/></b></p><p> </c:forEach></p><p> 5.2.3 查看在線用戶</p><p> 軟件具有查看在線人數(shù)功能,以下代碼用于查看用戶的狀態(tài)與信息。如圖5.5所示.<
109、;/p><p> 圖5.5查看在線人數(shù)</p><p> 代碼:public class Chat extends HttpServlet {</p><p> public void doGet(HttpServletRequest request, HttpServletResponse response)</p><p> thr
110、ows ServletException, IOException {</p><p> doPost(request,response);</p><p><b> }</b></p><p> public void doPost(HttpServletRequest request, HttpServletResponse resp
111、onse)</p><p> throws ServletException, IOException {</p><p> request.setCharacterEncoding("UTF-8");</p><p> String name=request.getParameter("name");</p>
112、;<p> name=new String(name.getBytes("iso-8859-1"),"UTF-8");</p><p> String content=request.getParameter("content");</p><p> content=new String(content.get
113、Bytes("iso-8859-1"),"UTF-8");</p><p> RecordDAO dao=new RecordDAO();</p><p> ArrayList<RecordDTO> list=new ArrayList<RecordDTO>();</p><p> if(name
114、==null){</p><p> list=dao.showMessage();</p><p> request.setAttribute("name", name);</p><p> request.setAttribute("content", content);</p><p><
115、;b> }</b></p><p><b> else{</b></p><p> dao.insertRecord(name, content);</p><p> list=dao.showMessage();</p><p> request.setAttribute("nam
116、e", name);</p><p> request.setAttribute("content", content);</p><p><b> }</b></p><p> request.setAttribute("list", list);</p><p>
117、; request.getRequestDispatcher("testchat.jsp").forward(request, response);</p><p> 5.2.4 服務(wù)器端的顯示</p><p> Server為管理人員提供一個(gè)的圖形界面,實(shí)現(xiàn)對(duì)各個(gè)用戶間即時(shí)消息的監(jiān)控??梢杂嗅槍?duì)性的刪除指定的用戶。提供指定對(duì)用戶消息的轉(zhuǎn)發(fā)。服務(wù)器端功能:可以通過
118、此功能啟動(dòng)服務(wù)器。</p><p> 簡(jiǎn)要說明:本用例的功能是啟動(dòng)服務(wù)器服務(wù),偵聽客戶端發(fā)送的請(qǐng)求,響應(yīng)客戶端請(qǐng)求。</p><p><b> 基本流:</b></p><p> (1)運(yùn)行服務(wù)器端程序。</p><p> (2)獲取本地IP地址,從本地配置文件中讀取端口號(hào),如果讀取失敗轉(zhuǎn)向備選流。</p&
119、gt;<p> (3)設(shè)置服務(wù)器配置信息。</p><p> (4)彈出服務(wù)器端主窗體,工具欄上“啟動(dòng)服務(wù)”按鈕的狀態(tài)應(yīng)為禁用。</p><p> (5)菜單欄中“啟動(dòng)服務(wù)”菜單狀態(tài)應(yīng)為禁用。</p><p> (6)服務(wù)器端主窗體的標(biāo)題欄應(yīng)改為“服務(wù)器已經(jīng)啟動(dòng)”。</p><p> (7)服務(wù)器啟動(dòng)成功,進(jìn)入偵聽狀態(tài)
120、,等待客戶端發(fā)送的請(qǐng)求。</p><p><b> 備選流:</b></p><p> (1) 如果從本地配置文件讀取不到端口信息或本地配置文件不存在等,將顯示諸如“服務(wù)器程序配置出錯(cuò),服務(wù)器啟動(dòng)失敗,請(qǐng)于管理員聯(lián)系!”的提示消息。</p><p> (2 )服務(wù)器啟動(dòng)程序自動(dòng)關(guān)閉。</p><p><b&g
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢業(yè)論文——基于bs方式的即時(shí)通訊軟件的設(shè)計(jì)與實(shí)現(xiàn)
- 基于bs方式的即時(shí)通訊軟件的設(shè)計(jì)與實(shí)現(xiàn)——畢業(yè)論文
- 基于bs方式的即時(shí)通訊軟件的設(shè)計(jì)與實(shí)現(xiàn)——畢業(yè)論文
- 即時(shí)通訊畢業(yè)設(shè)計(jì)--企業(yè)內(nèi)部即時(shí)通訊系統(tǒng)的設(shè)計(jì)
- 即時(shí)通訊工具畢業(yè)設(shè)計(jì)
- 計(jì)算機(jī)畢業(yè)設(shè)計(jì)29aspnet基于bs方式的即時(shí)通訊軟件的設(shè)計(jì)與實(shí)現(xiàn)
- 基于mfc的即時(shí)通訊軟件的設(shè)計(jì)與實(shí)現(xiàn)
- 畢業(yè)設(shè)計(jì)---jqq即時(shí)通訊系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 基于java的即時(shí)通訊軟件設(shè)計(jì)與實(shí)現(xiàn)
- 本科畢業(yè)設(shè)計(jì)(論文)-企業(yè)即時(shí)通訊軟件的設(shè)計(jì)與實(shí)現(xiàn)
- 博網(wǎng)即時(shí)通訊軟件的設(shè)計(jì)與實(shí)現(xiàn)
- 基于Java的即時(shí)通訊軟件的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 基于mfc的即時(shí)通訊軟件的設(shè)計(jì)與實(shí)現(xiàn)-詳細(xì)設(shè)計(jì)
- 計(jì)算機(jī)畢業(yè)設(shè)計(jì)29asp%net基于bs方式的即時(shí)通訊軟件的設(shè)計(jì)與實(shí)現(xiàn)
- 即時(shí)通訊聊天系統(tǒng) 畢業(yè)設(shè)計(jì)
- 計(jì)算機(jī)畢業(yè)設(shè)計(jì)29ASP%NET基于BS方式的即時(shí)通訊軟件的設(shè)計(jì)與實(shí)現(xiàn).doc
- 計(jì)算機(jī)畢業(yè)設(shè)計(jì)29ASP%NET基于BS方式的即時(shí)通訊軟件的設(shè)計(jì)與實(shí)現(xiàn).doc
- 基于c#的即時(shí)通訊軟件設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文
- 基于Linux的網(wǎng)絡(luò)即時(shí)通訊軟件設(shè)計(jì)與實(shí)現(xiàn).pdf
- 即時(shí)通訊軟件的設(shè)計(jì)2論文
評(píng)論
0/150
提交評(píng)論