九九热最新网址,777奇米四色米奇影院在线播放,国产精品18久久久久久久久久,中文有码视频,亚洲一区在线免费观看,国产91精品在线,婷婷丁香六月天

基于jsp技術(shù)和ajax技術(shù)實(shí)現(xiàn)的網(wǎng)絡(luò)聊天室的設(shè)計(jì).doc

上傳人:good****022 文檔編號:116778390 上傳時(shí)間:2022-07-06 格式:DOC 頁數(shù):81 大小:1.10MB
收藏 版權(quán)申訴 舉報(bào) 下載
基于jsp技術(shù)和ajax技術(shù)實(shí)現(xiàn)的網(wǎng)絡(luò)聊天室的設(shè)計(jì).doc_第1頁
第1頁 / 共81頁
基于jsp技術(shù)和ajax技術(shù)實(shí)現(xiàn)的網(wǎng)絡(luò)聊天室的設(shè)計(jì).doc_第2頁
第2頁 / 共81頁
基于jsp技術(shù)和ajax技術(shù)實(shí)現(xiàn)的網(wǎng)絡(luò)聊天室的設(shè)計(jì).doc_第3頁
第3頁 / 共81頁

下載文檔到電腦,查找使用更方便

15 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《基于jsp技術(shù)和ajax技術(shù)實(shí)現(xiàn)的網(wǎng)絡(luò)聊天室的設(shè)計(jì).doc》由會(huì)員分享,可在線閱讀,更多相關(guān)《基于jsp技術(shù)和ajax技術(shù)實(shí)現(xiàn)的網(wǎng)絡(luò)聊天室的設(shè)計(jì).doc(81頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。

1、 編號 淮安信息淮安信息職業(yè)職業(yè)技技術(shù)術(shù)學(xué)院學(xué)院 畢畢業(yè)業(yè)論論文文 題 目基于 JSP 技術(shù)和 Ajax 技術(shù)實(shí)現(xiàn)的聊天室設(shè)計(jì) 學(xué)生姓名王萬爽 學(xué) 號35011219 院 系 計(jì)算機(jī)與通信工程學(xué)院 專 業(yè)計(jì)算機(jī)應(yīng)用技術(shù) 班 級350112 指導(dǎo)教師李剛 顧問教師 二一三年十月 摘摘 要要 隨著互聯(lián)網(wǎng)的飛速發(fā)展,聊天室這種比較古老的交流方式已經(jīng)被眾多人所 認(rèn)可。通過聊天室在線聊天已成為網(wǎng)絡(luò)上人與人之間的溝通、交流和聯(lián)系的一 種方式。為此,越來越多的網(wǎng)站開始提供在線的聊天功能。與此同時(shí),聊天室 也以其方便、快捷、低成本等優(yōu)勢受到眾多企業(yè)的親睞,很多企業(yè)的網(wǎng)站中也 加入了聊天室,以達(dá)到增進(jìn)企業(yè)與消費(fèi)

2、者、消費(fèi)者與消費(fèi)者之間的相互交流和 聯(lián)系的目的。 傳統(tǒng)的互聯(lián)網(wǎng)絡(luò)聊天室,以顯示在線用戶和用戶信息的實(shí)時(shí)傳送,需要定 期刷新頁面。刷新頁面,不僅要占用一定的系統(tǒng)資源和網(wǎng)絡(luò)帶寬,也會(huì)出現(xiàn) “白屏”現(xiàn)象,這對良好的用戶體驗(yàn)是非常不利的。 Ajax 是一個(gè)新的 web 應(yīng)用, 使用 Ajax 技術(shù)的發(fā)展不僅解決了頁面刷新帶來的白屏問題,也減少了對服務(wù)器 和網(wǎng)絡(luò)傳輸?shù)呢?fù)載。 我做的這個(gè)設(shè)計(jì)就是通過 JSP 和 Ajax 實(shí)現(xiàn)的無刷新聊天室。 關(guān)鍵詞:JSP;Ajax;網(wǎng)絡(luò)聊天室;無刷新 Abstract With the rapid development of Internet, chat rooms

3、 that compare the old way of communication has been recognized by many people. By online chat chat room has become the Internet interpersonal communication, a way of communication and contact. Therefore, more and more websites started offering online chat. Chat rooms, meanwhile, also with its conven

4、ient, fast, low-cost advantages such as affected by many enterprises, many enterprise site has joined the chat room, in order to achieve between the enterprises and consumers, customers and consumers to communicate and contact purpose. Traditional Internet chat rooms in order to display online users

5、 and user messages sent in real time, the need to regularly refresh the page. Page refresh not only to take up some system resources and network bandwidth, but there is also a “black and white“ phenomenon is very detrimental to a good user experience. Ajax is a new web application, the chat room sys

6、tem using Ajax technology development not only solved the page refreshes bring black and white issues, but also reduce the load on the server and network transmission. I do this is designed by the JSP and Ajax no refresh the chat room Keywords: Jsp;Ajax;Internet chat rooms;Nofresh; 目目 錄錄 摘摘 要要I Abst

7、ract.II 第一章第一章 緒論緒論.1 1.1 系統(tǒng)現(xiàn)狀.1 1.2 國內(nèi)外主要研究成果.1 1.3 課題的主要內(nèi)容及章節(jié)安排.3 第二章第二章 系統(tǒng)開發(fā)環(huán)境和關(guān)鍵技術(shù)系統(tǒng)開發(fā)環(huán)境和關(guān)鍵技術(shù).4 2.1 系統(tǒng)的開發(fā)環(huán)境.4 2.2 APPLICATION 對象.4 2.3 AJAX 技術(shù).5 2.4 監(jiān)控用戶在線狀態(tài)6 2.5 JSP 技術(shù).6 第三章第三章 系統(tǒng)分析與設(shè)計(jì)系統(tǒng)分析與設(shè)計(jì).9 3.1 系統(tǒng)分析.9 3.1.1 聊天室功能需求分析.9 3.1.2 聊天室功能性能分析.9 3.2 系統(tǒng)運(yùn)行環(huán)境.9 3.3 系統(tǒng)預(yù)覽和項(xiàng)目流程圖.10 第四章第四章 系統(tǒng)的實(shí)現(xiàn)系統(tǒng)的實(shí)現(xiàn).12 4

8、.1 用戶登錄模塊.12 4.2 聊天室主體功能模塊.13 4.3 實(shí)時(shí)獲取并顯示在線人員列表.14 4.4 實(shí)現(xiàn)用戶發(fā)言.15 4.5 實(shí)時(shí)顯示聊天內(nèi)容.19 4.6 退出聊天室.20 第五章第五章 總結(jié)與總結(jié)與致致謝謝.22 參考文獻(xiàn)參考文獻(xiàn).24 第一章 緒論 1.1 系統(tǒng)現(xiàn)狀 在人們的生活中,信息技術(shù)的飛速發(fā)展正在發(fā)生深刻變化。人與人之間的 對話是不再局限于面對面,網(wǎng)上聊天室提供了信息交流的另一個(gè)地方。傳統(tǒng)的 聊天室,以顯示在線用戶和用戶信息的實(shí)時(shí)傳送,需要定期刷新頁面。刷新頁 面,不僅要占用一定的系統(tǒng)資源和網(wǎng)絡(luò)帶寬,也會(huì)出現(xiàn)“白屏”的現(xiàn)象,這對 良好的用戶體驗(yàn)是非常不利的。而使用 A

9、jax 技術(shù)開發(fā)的聊天室,不僅可以解決 頁面刷新帶來白屏的問題,也減少了對服務(wù)器和網(wǎng)絡(luò)傳輸?shù)呢?fù)載。 隨著互聯(lián)網(wǎng)應(yīng)用的普及,web 應(yīng)用以其良好的擴(kuò)展性、易于部署、維護(hù)方便 等優(yōu)點(diǎn)逐漸成為軟件開發(fā)的主流。早期的 Web 應(yīng)用采用的是同步交互過程,即 用戶首先向 Web 服務(wù)器提交一個(gè)請求或行為呼叫,服務(wù)器接收到客戶請求后執(zhí) 行相應(yīng)處理操作,最后向用戶返回處理結(jié)果。服務(wù)器在處理請求時(shí),用戶處于 等待狀態(tài),有時(shí)如果超過了服務(wù)器響應(yīng)時(shí)間,甚至返回“頁面不可用”等提示。 另外,當(dāng)我們只想改變頁面的部分?jǐn)?shù)據(jù)時(shí),用戶的請求會(huì)導(dǎo)致服務(wù)器重新返回 整個(gè)頁面內(nèi)容,包括那些沒有改變的數(shù)據(jù),這不但增加了網(wǎng)絡(luò)傳輸?shù)臄?shù)據(jù)

10、量, 還影響了客戶端的響應(yīng)時(shí)間,為什么我們不能“按需”獲取數(shù)據(jù)呢?Ajax 技術(shù)可 以很好的解決上述 web 應(yīng)用中存在的問題。Ajax 技術(shù)是 Web2.0 的核心之一,本 質(zhì)上是一種 RIA(RichIllternet Application)技術(shù)。RIA 是指具有高度互動(dòng)性 和豐富用戶體驗(yàn)的網(wǎng)絡(luò)應(yīng)用程序,它既具有消息確認(rèn)、無刷新頁面之下提供快 捷的界面響應(yīng)、拖放式等桌面應(yīng)用程序的特點(diǎn),同時(shí)又具有部署簡單、跨平臺(tái) 等 Web 應(yīng)用程序的特點(diǎn)。Ajax 技術(shù)提供了客戶端與服務(wù)器異步通信的能力,從 而使用戶從請求一響應(yīng)一再請求的循環(huán)中解脫出來,同時(shí)降低了網(wǎng)絡(luò)傳輸?shù)臄?shù) 據(jù)量,提高了客戶端的響應(yīng)速

11、度,改善了用戶使用體驗(yàn),使得 web 應(yīng)用可以接 近甚至達(dá)到類似“桌面應(yīng)用”的效果。 而 Ajax 有上述優(yōu)勢,例如 Google Suggest,Gmail,Google Map 等等交互 程序中都使用了異步通訊技術(shù)。不知不覺中,Ajax 應(yīng)用程序占據(jù)了整個(gè)網(wǎng)絡(luò)的 每一個(gè)角落??v觀所有的應(yīng)用程序,更好的用戶體驗(yàn)是其的共同目標(biāo),在瀏覽器 中實(shí)現(xiàn)桌面用戶界面體驗(yàn)是 Web 開發(fā)的一種趨勢。Ajax 技術(shù)從谷歌到 IBM,甲 骨文,雅虎,BEA 系統(tǒng)公司,紅帽,Novell 公司獲得業(yè)界眾多的 IT 巨頭的支持, 其快速發(fā)展是值得期待的。技術(shù)創(chuàng)新和標(biāo)準(zhǔn)化是 Ajax 技術(shù)發(fā)展的必由之路,而 W3C

12、 已成立了工作小組,專門從事 Ajax 的規(guī)范發(fā)展工作。 1.2 國內(nèi)外主要研究成果 Ajax技術(shù)的精髓是用異步交互替代了傳統(tǒng)的同步交互,所以當(dāng)用戶操作時(shí)間 大于服務(wù)器響應(yīng)時(shí)間的時(shí)候,使用 Ajax的效果非常明顯。而當(dāng)程序性能的瓶頸在于 服務(wù)器響應(yīng)時(shí)間的時(shí)候, Ajax 無法解決程序運(yùn)行緩慢的問題。 因此,Ajax 是更適合 在網(wǎng)絡(luò)上的互動(dòng)頻繁輕量級的應(yīng)用程序。在 Ajax 開發(fā)的應(yīng)用程序中,Google 公 司成功將 Ajax 技術(shù)應(yīng)用到他們的商業(yè)產(chǎn)品。Google 地圖和 Google Suggest 都 應(yīng)用了這項(xiàng)技術(shù)。當(dāng)用戶使用谷歌地圖查看地圖(包括地圖的縮放和平移地圖) ,并沒有提交

13、任何請求到服務(wù)器,你就可以瀏覽到地圖的各個(gè)部分。在這里, 它是 Ajax 技術(shù)的應(yīng)用,使得地圖是不刷新的方式,但每個(gè)顯示原始數(shù)據(jù)的基礎(chǔ) 上以增量方式顯示 。在這種方式下,用戶覺得就像是在自己的計(jì)算機(jī)上查看本地 的地圖。微軟也在積極開發(fā) Ajax 應(yīng)用程序:它將 Ajax 技術(shù)應(yīng)用到的 MSN Space 上面。當(dāng)用戶使用 MSN Space 提交回復(fù)評論時(shí),瀏覽器會(huì)暫時(shí)停頓,然后刷新 顯示用戶提交的評論,這是應(yīng)用了 Ajax 的原理。目前,Ajax應(yīng)用最普遍的領(lǐng)域 是GIS-Map 方面。GIS的區(qū)域搜索強(qiáng)調(diào)快速響應(yīng), Ajax 的特點(diǎn)正好符合這種要求。 在應(yīng)用Ajax 技術(shù)開發(fā)過程當(dāng)中,處于

14、核心位置的 Ajax引擎實(shí)際上是一些復(fù)雜的 JavaScript程序。 隨著網(wǎng)絡(luò)應(yīng)用和界面表現(xiàn)的復(fù)雜化,使用面向過程的 JavaScript 語言描述表現(xiàn)邏輯將會(huì)變得很困難。同時(shí) , JavaScript的兼容性和調(diào)試都會(huì)成為使 用Ajax 技術(shù)的一個(gè)障礙。為了解決這些問題,開發(fā)人員已經(jīng)開發(fā)出了一些基于Ajax 技術(shù)的框架,方便了開發(fā)人員使用 ,有利于Ajax 技術(shù)的進(jìn)一步推廣。當(dāng)然,任何技 術(shù)都是有局限性的, Ajax 也不例外。 Ajax更新頁面無需刷新重載,這也使傳統(tǒng)的一 些用戶交互行為變得不可用,如后退、前進(jìn)和刷新等。另外,移動(dòng)設(shè)備(如手機(jī)、 PDA 等)現(xiàn)在還不能很好的支持Ajax,

15、Ajax 對流媒體的支持也沒有Java Applet和 Flash這樣成熟的技術(shù)好。 因此,一些輔助的平臺(tái)和插件的開發(fā)也將是 Ajax技術(shù)應(yīng) 用當(dāng)中重要的一部分。 Ajax 把大量的運(yùn)算從服務(wù)器轉(zhuǎn)移到了客戶端瀏覽器,這意味著瀏覽器將承受 更大的負(fù)擔(dān),而不再是簡單的文檔顯示功能。 聊天室作為一個(gè)能夠吸引人氣的欄目,在現(xiàn)代網(wǎng)絡(luò)應(yīng)用中隨處可見。它的作 用是給不同的用戶提供一個(gè)交流信息的場所。用戶在聊天室中可以發(fā)布信息, 就如同所有用戶都在一個(gè)個(gè)真正室內(nèi)聊天一樣。 傳統(tǒng)的聊天室程序一般設(shè)置在客戶端的網(wǎng)頁自動(dòng)刷新。刷新在這樣的數(shù)據(jù) 會(huì)帶來一些缺點(diǎn),例如:每次刷新服務(wù)器應(yīng)該重新獲取數(shù)據(jù),大大提高了服務(wù) 器

16、上的負(fù)載,此刷新過程正在進(jìn)行,這將是非常嚴(yán)重的影響服務(wù)器的性能;每 次刷新過程中會(huì)產(chǎn)生大量無用數(shù)據(jù),不斷刷新頁面,用戶在客戶端方面,將導(dǎo) 致屏幕閃爍。解決屏幕閃動(dòng)最重要的一條原則就是,將改動(dòng)的地方顯示到客戶 端,而那些不需要改動(dòng)的地方則盡量不要讓用戶感覺到變化。一個(gè)更好的解決 辦法是使用 Ajax 技術(shù)的無刷新聊天室應(yīng)用。 現(xiàn)在的聊天室通過四個(gè)主要功能模塊實(shí)現(xiàn)了聊天室中用戶登錄、注銷、環(huán) 境設(shè)置、發(fā)送消息、讀取消息和查看在線用戶列表等。聊天室系統(tǒng)為用戶提供 了聊天場所,操作員可對后臺(tái)網(wǎng)站的風(fēng)格、廣告鏈接等進(jìn)行設(shè)置;用戶可以根據(jù) 個(gè)人的習(xí)慣選擇字體、文字顏色和表情等;前臺(tái)聊天室具有私聊的功能,私

17、聊的 內(nèi)容僅供私聊雙方查看;聊天者可自己手動(dòng)清除聊天內(nèi)容。操作員可通過客戶 端處理模塊獲取界面元素從而得到聊天內(nèi)容或與服務(wù)器交互更新客戶端頁面響 應(yīng)用戶事件。服務(wù)器端響應(yīng)模塊可提供聊天室界面元素信息獲得提交數(shù)據(jù)。 1.3 課題的主要內(nèi)容及章節(jié)安排 現(xiàn)在,多渠道的信息源、網(wǎng)絡(luò)化的數(shù)據(jù)分布、快捷醫(yī)用的交互操作、智能 化的分析決策等特點(diǎn)越來越成為衡量優(yōu)良聊天軟件的關(guān)鍵,因此,該網(wǎng)絡(luò)聊天 室是基于jsp語言運(yùn)行于MyEclipse Java平臺(tái)上,利用的技術(shù)主要是,使用配置 文件作為數(shù)據(jù)管理。為實(shí)現(xiàn)和方便客戶端間通信,在客戶端進(jìn)行了人性化的界 面設(shè)計(jì),用戶可以輸入用戶名,登陸界面,改變字體顏色等功能。

18、 第一章對本次課題的背景及意義、課題現(xiàn)狀、課題內(nèi)容與目標(biāo)進(jìn)行了深入 的闡述。 第二章介紹了系統(tǒng)的開發(fā)環(huán)境和關(guān)鍵技術(shù),例如 Ajax 技術(shù)、JSP 技術(shù)、滾 屏顯示技術(shù)等等。 第三章是系統(tǒng)分析與設(shè)計(jì)。將對系統(tǒng)進(jìn)行需求分析,對組成系統(tǒng)的功能模 塊進(jìn)行劃分,對每個(gè)模塊將要實(shí)現(xiàn)的功能進(jìn)行闡述和說明。對系統(tǒng)的結(jié)構(gòu)進(jìn)行 設(shè)計(jì),設(shè)計(jì)共享數(shù)據(jù)結(jié)構(gòu)。 第四章是系統(tǒng)實(shí)現(xiàn),分別介紹了服務(wù)器端和客戶端每個(gè)功能的執(zhí)行過程, 畫出主要模塊的流程圖。 第五章是總結(jié)與致謝。 最后,對本設(shè)計(jì)進(jìn)行歸納總結(jié),全面闡述本次設(shè)計(jì)中的體會(huì)。 第二章 系統(tǒng)開發(fā)環(huán)境和關(guān)鍵技術(shù) 2.1 系統(tǒng)的開發(fā)環(huán)境 MyEclipse Java 如圖 1-

19、1 系統(tǒng)開發(fā)環(huán)境。 圖 1-1 系統(tǒng)開發(fā)環(huán)境 2.2 Application 對象 Application 對象是一個(gè)環(huán)境上下文(context)對象,用于保存應(yīng)用程序 中的所有公有數(shù)據(jù),服務(wù)器啟動(dòng)并且自動(dòng)創(chuàng)建 Application 對象以后,只要沒 有關(guān)閉服務(wù)器,Application 對象將一直存在,并且可以被所有用戶共享。 Application 對象為 JSP 提供的內(nèi)置對象,可以直接使用,但在 servlet 中, 需要通過以下代碼來獲取該對象的實(shí)例,才可以使用該對象。 ServletContext application=getServletContext(); Applicat

20、ion 對象提供了很多方法,我的設(shè)計(jì)中,只使用了 setAttribute()和 getAttribute()方法。 首先來介紹 setAttribute()方法,該方法用于將一個(gè)對象綁定到一個(gè)屬性 上,該屬性在整個(gè) Servlet 上下文中都適用。setAttribute()方法的語法格式 如下;Application. setAttribute(String name,Object object); 參數(shù)說明:name:用于指定的一個(gè)屬性名該屬性在整個(gè) Servlet 上下文都 適用。object:用于指定屬性值。 如本設(shè)計(jì)中的,設(shè)置保存聊天信的 Application 對象的屬性的具體代

21、碼如 下: application。setAttribute(“message”.sourceMessage); 下面我們再來介紹 getAttribute()方法,該方法用于返回 Application 對 象的指定屬性的值。如果不存在該屬性,則返回 null。getAttribute()方法的 基本語法如下: Application。getAttribute(String name);參數(shù)說明:Name:用于指定 一個(gè)屬性名。 本設(shè)計(jì)中,設(shè)置獲取聊天信息的 Application 對象的屬性的具體代碼如下: StringsourceMessage=application.getAttrib

22、ute(“message”).toString(); 2.3 Ajax 技術(shù) Ajax 是一種創(chuàng)建交互式網(wǎng)頁的 web 開發(fā)技術(shù)。Ajax 的一個(gè)非常成功的案例 就是 Google,當(dāng)用戶在 Google 的搜索輸入框中輸入關(guān)鍵字的時(shí)候。他會(huì)提示與 關(guān)鍵字相關(guān)的另一些關(guān)鍵字。用戶可以對自己喜歡的一些關(guān)鍵字進(jìn)行選擇,這 樣既方便了用戶定位自己的需要,又可以很好的引導(dǎo)搜索結(jié)果。 在 Ajax 應(yīng)用中,頁面中用戶的操作將通過 Ajax 引擎與服務(wù)器進(jìn)行通信,然后 將返回結(jié)果提交給客戶端頁面的 Ajax 引擎,而有 Ajax 引擎決定這些數(shù)據(jù)插入 到頁面的任何位置。 Ajax 的最大特點(diǎn)的就是很好的用

23、戶體驗(yàn),大多數(shù)使用 Ajax 技術(shù)的 web 應(yīng)用 程序,比同類沒有使用的 web 應(yīng)用程序的用戶體驗(yàn)要好的多,盡管他們都能完 成相類似的功能。例如,一個(gè)普通的用戶注冊頁面,如果用戶希望知道注冊的 用戶名是否已經(jīng)注冊過了,那只能等提交表單到服務(wù)器以后并重新來到一個(gè)新 的頁面,才知道用戶名是否可用,這種情況每次單擊按鈕都會(huì)導(dǎo)致幾秒鐘的延 遲和屏幕刷新,但事實(shí)上頁面改動(dòng)的地方卻只有很少一部分,Ajax 正在打破這 種狀況,是頁面再無刷新的情況下,完成某些與服務(wù)器的交互功能。大大提高 了用戶的體驗(yàn)感。 2,Ajax 不是單一的技術(shù),而是四種技術(shù)的集合,有 javascript ,css,Dom XM

24、LHttpRequestAjax 程序是用 javascript 語言寫成的。Ajax 程序 可以使用 CSS 來控制頁面的樣式。DOM,指的是文本對象模型,它是一個(gè) web 頁 面的對象模型,可以用 javascript 來操作的頁面結(jié)構(gòu)。XMLHttpRequest 對象用 來在后臺(tái)向服務(wù)器端發(fā)送請求,數(shù)據(jù)的格式可以使任何的文本格式,如 XML、純 文本。他也是 Ajax 進(jìn)行異步通信的 關(guān)鍵元素。 這四種技術(shù)各司其職,其中 javascript 是其他三中的粘合劑,javascript 可以通過修改 DOM 的結(jié)構(gòu)來改變界面,或者完全改變 DOM 的結(jié)構(gòu)來重新繪制用 戶界面;XMLHtt

25、pRequest 對象則用來與服務(wù)器進(jìn)行異步通信,javascript 也正 是通過控制他來提交請求和獲取最新數(shù)據(jù)的。 Ajax 也會(huì)大量使用 DHTML 進(jìn)行編程,并且它與服務(wù)器端的異步通信能力使得一 個(gè) web 頁面的使用壽命大大增長,用戶交互性大大增強(qiáng)了。 Ajax 技術(shù)的優(yōu)缺點(diǎn): 作為富客戶端技術(shù)之一的 Ajax 的最大優(yōu)點(diǎn),就是再不更新整個(gè)頁面的前提下維 護(hù)數(shù)據(jù)。這使得 web 應(yīng)用程序能夠更為迅捷的回應(yīng)用戶動(dòng)作,并避免了在網(wǎng)絡(luò) 上發(fā)送那些沒有改變過的信息。與其他富客戶端技術(shù)不同,Ajax 不需要任何瀏 覽器插件,直接通過瀏覽器內(nèi)置的 javascript 控制瀏覽器的內(nèi)容和行為即可

26、。 而其他的富客戶端技術(shù)往往需要安裝插件,并且以一個(gè)單獨(dú)的進(jìn)程來運(yùn)行這些 富客戶端,一旦處理不當(dāng),很可能造成速度很慢的后果。 缺點(diǎn):就是 Ajax 在不同的瀏覽器運(yùn)行時(shí),由于各個(gè)瀏覽器之間的差異,是的開 發(fā)者在眾多不同的平臺(tái)和瀏覽器上經(jīng)過嚴(yán)格的測試,但是隨著 Ajax 技術(shù)的成熟, 一些簡化跨平臺(tái)的 Ajax 程序庫,也相繼問世,程序員可以使用這些運(yùn)行庫進(jìn)行 Ajax 的開發(fā),也不擔(dān)心 Ajax 的跨平臺(tái)性。還有一個(gè)缺點(diǎn)就是;他動(dòng)態(tài)改變的內(nèi) 容無法保存到本地或通過收藏夾來保存。這其實(shí)是因?yàn)?Ajax 改變?yōu)g覽器的內(nèi)容 和行為,往往是通過修改網(wǎng)頁的 DOM 和 CSS 來控制的,這些新消息都僅僅

27、在瀏 覽器窗口沒關(guān)之前存在于內(nèi)存里。 Ajax 更適合有少量頁面內(nèi)容需要改變的客戶端編程,如果頁面的大多說內(nèi)容都 需要改變的時(shí)候,還是建議使用讓整個(gè)頁面刷新的方式較好。 2.4 監(jiān)控用戶在線狀態(tài) 在聊天室程序中需要實(shí)時(shí)監(jiān)控用戶在線狀態(tài),當(dāng)用戶非正常退出時(shí)(如: 沒有單擊“退出聊天室”按鈕,也沒有單擊窗口的關(guān)閉“按鈕” ,而是直接將頁 面轉(zhuǎn)向其他網(wǎng)站) ,能夠保證將該用戶從列表中刪除??梢詰?yīng)用 Servlet 中的監(jiān) 聽器(HttpBingListener 接口)實(shí)現(xiàn)此效果。 2.5 JSP 技術(shù) JSP(JavaServer Pages)是由 Sun Microsystems 公司倡導(dǎo)、許多公

28、司參與 一起建立的一種動(dòng)態(tài)網(wǎng)頁技術(shù)標(biāo)準(zhǔn)。JSP 技術(shù)有點(diǎn)類似 ASP 技術(shù),它是在傳統(tǒng)的 網(wǎng)頁 HTML 文件(*.htm,*.html)中插入 Java 程序段(Scriptlet)和 JSP 標(biāo)記(tag), 從而形成 JSP 文件(*.jsp)。 用 JSP 開發(fā)的 Web 應(yīng)用是跨平臺(tái)的,即能在 Linux 下運(yùn)行,也能在其他操作系統(tǒng)上運(yùn)行。 JSP 技術(shù)使用 Java 編程語言編寫類 XML 的 tags 和 scriptlets,來封裝產(chǎn)生動(dòng)態(tài)網(wǎng)頁的處理邏輯。網(wǎng)頁還能通過 tags 和 scriptlets 訪問存在于服務(wù)端的資源的應(yīng)用邏輯。JSP 將網(wǎng)頁邏輯與網(wǎng)頁設(shè) 計(jì)和顯示分離

29、,支持可重用的基于組件的設(shè)計(jì),使基于 Web 的應(yīng)用程序的開發(fā) 變得迅速和容易。 Web 服務(wù)器在遇到訪問 JSP 網(wǎng)頁的請求時(shí),首先執(zhí)行其中的 程序段,然后將執(zhí)行結(jié)果連同 JSP 文件中的 HTML 代碼一起返回給客戶。插入的 Java 程序段可以操作數(shù)據(jù)庫、重新定向網(wǎng)頁等,以實(shí)現(xiàn)建立動(dòng)態(tài)網(wǎng)頁所需要的 功能。 JSP 與 Java Servlet 一樣,是在服務(wù)器端執(zhí)行的,通常返回該客戶端的 就是一個(gè) HTML 文本,因此客戶端只要有瀏覽器就能瀏覽。 JSP 的 1.0 規(guī)范的最 后版本是 1999 年 9 月推出的,12 月又推出了 1.1 規(guī)范。目前較新的是 JSP1.2 規(guī)范,JSP2

30、.0 規(guī)范的征求意見稿也已出臺(tái)。 JSP 頁面由 HTML 代碼和嵌入其中 的 Java 代碼所組成。服務(wù)器在頁面被客戶端請求以后對這些 Java 代碼進(jìn)行處 理,然后將生成的 HTML 頁面返回給客戶端的瀏覽器。Java Servlet 是 JSP 的 技術(shù)基礎(chǔ),而且大型的 Web 應(yīng)用程序的開發(fā)需要 Java Servlet 和 JSP 配合才能 完成。JSP 具備了 Java 技術(shù)的簡單易用,完全的面向?qū)ο螅哂衅脚_(tái)無關(guān)性且 安全可靠,主要面向因特網(wǎng)的所有特點(diǎn)。 JSP 技術(shù)的強(qiáng)勢 (1)一次編寫,到處運(yùn)行。在這一點(diǎn)上 Java 比 PHP 更出 色,除了系統(tǒng)之外,代碼不用做任何更改。

31、(2)系統(tǒng)的多平臺(tái)支持?;旧?可以在所有平臺(tái)上的任意環(huán)境中開發(fā),在任意環(huán)境中進(jìn)行系統(tǒng)部署,在任意環(huán) 境中擴(kuò)展。相比 ASP/PHP 的局限性是顯而易見的。 (3)強(qiáng)大的可伸縮性。從 只有一個(gè)小的 Jar 文件就可以運(yùn)行 Servlet/JSP,到由多臺(tái)服務(wù)器進(jìn)行集群和負(fù) 載均衡,到多臺(tái) Application 進(jìn)行事務(wù)處理,消息處理,一臺(tái)服務(wù)器到無數(shù)臺(tái) 服務(wù)器,Java 顯示了一個(gè)巨大的生命力。 (4)多樣化和功能強(qiáng)大的開發(fā)工具 支持。這一點(diǎn)與 ASP 很像,Java 已經(jīng)有了許多非常優(yōu)秀的開發(fā)工具,而且許多 可以免費(fèi)得到,并且其中許多已經(jīng)可以順利的運(yùn)行于多種平臺(tái)之下。 JSP 技術(shù) 的弱勢

32、 (1) 與 ASP 一樣,Java 的一些優(yōu)勢正是它致命的問題所在。正是由于 為了跨平臺(tái)的功能,為了極度的伸縮能力,所以極大的增加了產(chǎn)品的復(fù)雜性。 (2) Java 的運(yùn)行速度是用 class 常駐內(nèi)存來完成的,所以它在一些情況下所 使用的內(nèi)存比起用戶數(shù)量來說確實(shí)是“最低性能價(jià)格比”了。從另一方面,它 還需要硬盤空間來儲(chǔ)存一系列的.java 文件和.class 文件,以及對應(yīng)的版本文 件。 JSP 六種內(nèi)置對象: request, response, out, session, application, config, pagecontext, page, exception. 一.requ

33、est 對象: 該對象封裝了用 戶提交的信息,通過調(diào)用該對象相應(yīng)的方法可以獲取封裝的信息,即使用該對 象可以獲取用戶提交信息。 二.response 對象: 對客戶的請求做出動(dòng)態(tài)的響應(yīng), 向客戶端發(fā)送數(shù)據(jù)。 三session 對象 1.什么是 session:session 對象是一 個(gè) JSP 內(nèi)置對象,它在第一個(gè) JSP 頁面被裝載時(shí)自動(dòng)創(chuàng)建,完成會(huì)話期管理。 從一個(gè)客戶打開瀏覽器并連接到服務(wù)器開始,到客戶關(guān)閉瀏覽器離開這個(gè)服務(wù) 器結(jié)束,被稱為一個(gè)會(huì)話。當(dāng)一個(gè)客戶訪問一個(gè)服務(wù)器時(shí),可能會(huì)在這個(gè)服務(wù) 器的幾個(gè)頁面之間反復(fù)連接,反復(fù)刷新一個(gè)頁面,服務(wù)器應(yīng)當(dāng)通過某種辦法知 道這是同一個(gè)客戶,這就

34、需要 session 對象。 2session 對象的 ID:當(dāng)一個(gè) 客戶首次訪問服務(wù)器上的一個(gè) JSP 頁面時(shí),JSP 引擎產(chǎn)生一個(gè) session 對象,同 時(shí)分配一個(gè) String 類型的 ID 號,JSP 引擎同時(shí)將這個(gè) ID 號發(fā)送到客戶端,存 放在 Cookie 中,這樣 session 對象和客戶之間就建立了一一對應(yīng)的關(guān)系。當(dāng)客 戶再訪問連接該服務(wù)器的其他頁面時(shí),不再分配給客戶新的 session 對象,直 到客戶關(guān)閉瀏覽器后,服務(wù)器端該客戶的 session 對象才取消,并且和客戶的 會(huì)話對應(yīng)關(guān)系消失。當(dāng)客戶重新打開瀏覽器再連接到該服務(wù)器時(shí),服務(wù)器為該 客戶再創(chuàng)建一個(gè)新的 se

35、ssion 對象。 四aplication 對象 1什么是 application: 服務(wù)器啟動(dòng)后就產(chǎn)生了這個(gè) application 對象,當(dāng)客戶再所訪問 的網(wǎng)站的各個(gè)頁面之間瀏覽時(shí),這個(gè) application 對象都是同一個(gè),直到服務(wù) 器關(guān)閉。但是與 session 不同的是,所有客戶的 application 對象都是同一個(gè), 即所有客戶共享這個(gè)內(nèi)置的 application 對象。 2application 對象常用方法: (1)public void setAttribute(String key,Object obj): 將參數(shù) Object 指定 的對象 obj 添加到 app

36、lication 對象中,并為添加的對象指定一個(gè)索引關(guān)鍵字。 (2)public Object getAttribute(String key): 獲取 application 對象中含 有關(guān)鍵字的對象。 五out 對象 out 對象是一個(gè)輸出流,用來向客戶端輸出數(shù) 據(jù)。out 對象用于各種數(shù)據(jù)的輸出。 第三章 系統(tǒng)分析與設(shè)計(jì) 3.1 系統(tǒng)分析 3.1.1 聊天室功能需求分析 用戶登錄,包括用戶是否在線 實(shí)時(shí)顯示在線人員列表及在線人數(shù) 用戶發(fā)言,包括顯示聊天內(nèi)容和滾屏顯示聊天信息 安全退出聊天室,包括單擊關(guān)閉按鈕退出聊天室。 3.1.2 聊天室功能性能分析 普通用戶能夠登錄的聊天室進(jìn)行文本的聊

37、天,能夠方便的實(shí)現(xiàn)公共交談、 選擇顏色、添加文字表情等??梢杂?Ajax 實(shí)現(xiàn)無刷新操作。 3.2 系統(tǒng)運(yùn)行環(huán)境 在開發(fā)聊天室系統(tǒng)時(shí),需要具備下面的軟件環(huán)境: 服務(wù)器端: 操作系統(tǒng):WindowsXP。 Web 服務(wù)器:Tomcat6.0。 Java 開發(fā)包:MyEclipse。 客戶器端: IE6.0。 3.3 項(xiàng)目流程圖和系統(tǒng)預(yù)覽 (1)項(xiàng)目流程圖 聊天室的系統(tǒng)流程,如圖 3-1 用戶登錄聊天室是否在線 進(jìn)入聊天室 主界面 發(fā)送聊天內(nèi) 容 顯示聊天內(nèi) 容 選擇聊天對 象 選擇表情文 字 文字顏色 輸入發(fā)言內(nèi) 容 是 否 圖 3-1 項(xiàng)目流程圖 (2)為了是使大家對本模塊有一定的了解,下面將

38、給出聊天室的主界面預(yù)覽 效果圖。聊天室的登錄界面如圖 3-2 登錄界面.輸入用戶名,然后單擊“進(jìn)入” 按鈕,將進(jìn)入聊天室的主界面,如圖 3-3 主界面。 圖 3-2 登錄界面 圖 3-3 主界面 第四章 系統(tǒng)的實(shí)現(xiàn) 4.1 用戶登錄模塊 當(dāng)用戶訪問聊天室時(shí),首先進(jìn)入的是登錄聊天室頁面。在該頁面中,用戶輸入自己 喜歡的用戶名,如圖 4-1 登錄界面,單擊進(jìn)入按鈕,系統(tǒng)將判斷輸入的用戶名是否被占 用,如果被占用將給出提示。 圖 4-1 登錄界面 聊天室 functionfunction check() ifif(form1.username.value=“) alert(“請輸入用戶名!“);fo

39、rm1.username.focus();returnreturn falsefalse; elseelse ifif(form1.username.value=“) alert(“請不要輸入非法字符!“);form1.username.focus();returnreturn falsefalse; 用戶名: 4.2 聊天室主體功能模塊 在用戶登錄頁面中輸入用戶名,單擊“進(jìn)入”按鈕即可進(jìn)去聊天室的主界面。如圖 4-2 聊天室主體功能模塊,在頁面中包括頁面頭部、在線人員列表區(qū)、聊天內(nèi)容顯示區(qū)和 用戶發(fā)言區(qū) 4 部分。 圖 4-2 聊天室主體功能模塊 4.3 實(shí)時(shí)獲取并顯示在線人員列表 在設(shè)計(jì)聊

40、天室程序時(shí),為了讓用戶及時(shí)了解在線用戶,并與其他用戶交流,需要提 供實(shí)時(shí)獲取并顯示在線人員列表的功能。這小節(jié)介紹聊天室的主界面中,左側(cè)顯示在線 人員列表及在線人數(shù)。如圖 4-3 在線人員列表圖。 圖 4-3 在線人員列表圖 為了實(shí)時(shí)顯示在線人員列表,這里應(yīng)用了 Ajax 技術(shù)。實(shí)現(xiàn)實(shí)時(shí)顯示在線人員列表的 具體步驟如下: 1、編寫自定義的 JavaScript 函數(shù) showOnline(),用于實(shí)例化 Ajax 對象, showOline()函數(shù)的具體代碼如下: functionfunction showOnline() varvarloader=newnewnet.AjaxRequest(“

41、online.jsp?nocache=“+newnew Date().getTime(),deal_online,onerror,“GET“); 其中?nocache=“+newnew Date().getTime()的用處是更新在線人員列表。 2、Ajax 進(jìn)行異步請求目標(biāo)的 URL 地址是 onlin.jsp,即 JSP 文件。在該文件中,主 要是將保存在集合類中的在線人員列表顯示到頁面。Online.jsp 頁面的代碼如下: 歡迎來到心之語聊天室! 所有 人 0) String username=“; amount=vector.size(); forfor(intint i=0;i )

42、“ 當(dāng)前在線人 3、在聊天室的主界面中,將左側(cè)用于顯示在線人員列表的單元格的 id 屬性設(shè)置為 online,用于實(shí)時(shí)顯示在線人員列表,具體代碼如下: 在線人員列表 4、編寫 Ajax 的回調(diào)函數(shù) deal_online(),用于將獲取的在線人員列表賦值給 id 為 online 的標(biāo)記的 innerHYML 屬性。Deal_online()函數(shù)的具體代碼如下: function deal_online() online.innerHTML=this.req.responseText; 5、為了讓頁面載入后就調(diào)用 Ajax 獲取在線人員列表,并且每隔 10 秒鐘便獲取一次 數(shù)據(jù),還需要在頁面中

43、添加 JavaScript 代碼,具體代碼如下: window.setInterval(“showOnline();“,10000); window.onload=functionfunction() showOnline(); /當(dāng)頁面載入后顯示在線人員列表 4.4 實(shí)現(xiàn)用戶發(fā)言 在聊天室程序中一個(gè)必不可少的功能就是實(shí)現(xiàn)用戶發(fā)言,設(shè)計(jì)中,用戶發(fā)言區(qū)位于 聊天室主界面的底部,如圖:4-4 用戶發(fā)言模塊。 圖 4-4 用戶發(fā)言模塊 實(shí)現(xiàn)用戶發(fā)言的具體步驟如下: 1、在頁面的合適位置添加用于收集用戶發(fā)言信息的表單及表單元素,關(guān)鍵代碼如下: $username 對 表情 無表情的 微笑著 笑呵呵地

44、熱情的 溫柔的 紅著臉 幸福的 嘟著嘴 熱淚盈眶的 依依不舍的 得意的 神秘兮兮的 惡狠狠的 大聲的 生氣的 幸災(zāi)樂禍的 同情的 遺憾的 正義凜然的 嚴(yán)肅的 慢條斯理的 無精打采的 說: 字體顏色: 默認(rèn)顏色 紅色熱情 藍(lán)色開朗 桃色浪漫 綠色青春 青色清爽 紫色拘謹(jǐn) 暗夜興奮 深藍(lán)憂郁 卡其制服 鎦金歲月 湖波蕩漾 發(fā)亮藍(lán)紫 愛的暗示 墨綠深沉 煙雨蒙蒙 聊天對象文本框設(shè)置為只讀屬性是用戶就不能手動(dòng)輸入聊天對象,因此還需要提供 選擇聊天對象的功能,可以通過在主頁面中添加選擇聊天對講的 JavaScript 自定義函數(shù)及 在線人員列表中添加超鏈接實(shí)現(xiàn)。實(shí)現(xiàn)將選擇的聊天對象添加到聊天對象文本框的

45、 JavaScript 代碼如下: functionfunction set(selectPerson) /自動(dòng)添加聊天對象 ifif(selectPerson!=“$username“) form1.to.value=selectPerson; elseelse alert(“請重新選擇聊天對象!“); 2、編寫自定義的 JavaScript 函數(shù) send(),用于調(diào)用 Ajax 實(shí)現(xiàn)用戶發(fā)言。在函數(shù)中, 首先驗(yàn)證用戶輸入信息的合法性然后再將提交的表單的內(nèi)容連接為一個(gè)參數(shù)字符串,最 后實(shí)例化 Ajax 對象。Send()函數(shù)的具體代碼如下: functionfunction send()

46、/驗(yàn)證聊天信息并發(fā)送 ifif(form1.to.value=“) alert(“請選擇聊天對象!“);returnreturn falsefalse; ifif(form1.content1.value=“) alert(“發(fā)送信息不可以為空!“);form1.content1.focus();returnreturn falsefalse; VarVarparam=“from=“+form1.from.value+“ varvarloader=newnewnet.AjaxRequest(“Messages?action=sendMessage“,deal_send,onerror, “PO

47、ST“,param); 3、在聊天室相關(guān)的 Servlet 實(shí)現(xiàn)類中添加發(fā)送聊天信息的方法 sendMessages()。在 該方法中,首先獲取用戶發(fā)言的相關(guān)信息,并將發(fā)言信息保存在應(yīng)用程序?qū)ο?ServletContext 中,然后通過 RequsetDispatcher 對象的 forward()方法將請求轉(zhuǎn)發(fā)。 SendMessages()方法的具體代碼如下: publicpublic voidvoid sendMessages(HttpServletRequest request, HttpServletResponse response) throwsthrows ServletEx

48、ception, IOException response.setContentType(“text/html;charset=UTF-8“); request.setCharacterEncoding(“UTF-8“); Random random = newnew Random(); String from = request.getParameter(“from“); /發(fā)言人 String face = request.getParameter(“face“); /表情 String to = request.getParameter(“to“); /接收者 String color

49、= request.getParameter(“color“); /字體顏色 String content = request.getParameter(“content“); /發(fā)言內(nèi)容 String sendTime =new Date().toLocaleString(); /發(fā)言時(shí)間 ServletContext application = getServletContext(); String sourceMessage = application.getAttribute(“message“).toString(); trytry /發(fā)言時(shí)間 sourceMessage += “

50、+ from + “ + face + “對“ + to + “說:“ + “ + content + “(“ + sendTime + “) “;application.setAttribute(“message“,sourceMessage); request.getRequestDispatcher(“Messages?action=getMessages catchcatch (Exception ex) Logger.getLogger(Messages.classclass.getName().log(Level.SEVERE, nullnull, ex); 4.5 實(shí)時(shí)顯示聊天內(nèi)

51、容 在聊天室程序中另一個(gè)必不可少的功能就是顯示聊天內(nèi)容。這個(gè)版塊是在主界面的 右側(cè),如圖 4-5 聊天內(nèi)容模塊。 圖 4-5 聊天內(nèi)容模塊 在實(shí)現(xiàn)顯示聊天內(nèi)容功能時(shí),為了實(shí)時(shí)顯示聊天內(nèi)容,這里應(yīng)用了 Ajax 技術(shù),技術(shù) Ajax 重構(gòu)的方法,實(shí)現(xiàn)實(shí)時(shí)顯示聊天內(nèi)容的具體步驟如下: 1、編寫自定義的 JavaScript 函數(shù) showContent(),用于實(shí)例化 Ajax 對象。 showContent()函數(shù)的具體代碼如下: functionfunction showContent() varvarloader1=newnewnet.AjaxRequest(“Messages?action

52、=getMessages 2、從上可以看出,Ajax 進(jìn)行異步請求目標(biāo)的 URL 地址為 MessagesAction?action=getMessage。從該 URL 地址可以看出,在進(jìn)入主界面前會(huì)調(diào)用 聊天室相關(guān)的 Servlet 實(shí)現(xiàn)類中的 getMessages()。getMessage()方法的具體代碼如下: publicpublic voidvoid getMessages(HttpServletRequest request,HttpServletResponse response) response.setContentType(“text/html;charset=UTF-8

53、“); trytry request.getRequestDispatcher(“content.jsp“).forward(request, response); catchcatch (Exception ex) Logger.getLogger(Messages.classclass.getName().log(Level.SEVERE, nullnull, ex); 3、編寫顯示聊天內(nèi)容的 JSP 頁面 content.jsp,在該頁面中只需要應(yīng)用 EL 表達(dá)式將 返回的執(zhí)行結(jié)果輸出即可,具體代碼如下: $message 4、在聊天室主界面的右側(cè)俠士聊天內(nèi)容的單元格中添加一個(gè) id 屬

54、性為 content 的 標(biāo)記,用于實(shí)時(shí)顯示聊天內(nèi)容,具體代碼如下:聊天內(nèi)容 5、編寫 Ajax 的回調(diào)函數(shù) deal_content(),在這個(gè)函數(shù)中,首先獲取 Ajax 處理頁面的 返回值,然后取出字符串中的 Unicode 空白符,最后判斷在獲取信息時(shí)是否產(chǎn)生錯(cuò)誤, 如果是,則退出聊天室,否則將獲取的聊天內(nèi)容輔助給 id 為 cotent 的標(biāo)記的 innerHTML 屬性,deal_content()函數(shù)的具體代碼如下: functionfunction deal_content() varvar returnValue=thisthis.req.responseText;/獲取Aja

55、x處理頁的返回值 varvar h=returnValue.replace(/s/g,“);/去除字符串中的Unicode空白符 ifif(h=“error“) /alert(“您的賬戶已經(jīng)過期,請重新登錄!“); Exit(); elseelse content.innerHTML=sysBBS+returnValue+“; document.getElementById(content).scrollTop = document.getElementById(content).scrollHeight*2;/當(dāng)聊天信息超過一屏?xí)r, 設(shè)置最先發(fā)送的聊天信息不顯示 6、為了讓頁面載入后就調(diào)用

56、Ajax 獲取聊天內(nèi)容,并且每隔一秒便獲取一次數(shù)據(jù),還 需要在頁面中添加 JavaScript 代碼,具體代碼如下: window.setInterval(“showOnline();“,10000); window.onload=functionfunction() showOnline(); /當(dāng)頁面載入后顯示在線人員列表 4.6 退出聊天室模塊 在我設(shè)計(jì)的聊天室中提供了兩種退出聊天室的方法,一種是單擊主頁面中的“退出 聊天室” 按鈕,另一種是單擊瀏覽器的“關(guān)閉”按鈕。需要注意的是,無論采用哪種方 法都會(huì)彈出如圖 4-6 退出提示。 圖 4-6 退出提示 實(shí)現(xiàn)安全退出聊天室的具體步驟如下:

57、 1、在主頁面的合適位置添加“退出聊天室”按鈕,并在按鈕的 onClick 事件中調(diào)用 自定義的 javaScript()函數(shù) Exit(),關(guān)鍵代碼如下: 2、編寫自定義的 JavaScript 函數(shù) Exit(),在該函數(shù)中首先將頁面重定向到退出聊 天室頁面 leave.jsp,然后彈出“彈出歡迎您下次光臨!”對話框,具體代碼如下: functionfunction Exit() window.location.href=“l(fā)eave.jsp“; alert(“歡迎您下次光臨!“); 3、編寫退出聊天室的頁面 leave.jsp,在該頁面中,首先銷毀 Session,然后將頁 面重新定向到

58、登錄頁面。Leave.jsp 頁面的完整代碼如下: 總結(jié) 經(jīng)過一個(gè)多月的畢業(yè)設(shè)計(jì)與開發(fā),聊天室已基本完成,系統(tǒng)需求功能基本 實(shí)現(xiàn),測試運(yùn)行基本與需求相符。該系統(tǒng)完成了用戶登錄、發(fā)送信息、公開聊 天、查看在線人員的功能。操作簡便,易于使用。 在畢業(yè)設(shè)計(jì)的初期階段,我主要學(xué)習(xí)了與本課題相關(guān)的理論知識(shí),包括: Ajax、jsp 等相關(guān)知識(shí)。 在查閱大量資料制訂了系統(tǒng)需求后,在老師的指導(dǎo)下我著手制定了系統(tǒng)的 需求分析規(guī)格說明書和系統(tǒng)概要說明書。接著便進(jìn)入了系統(tǒng)詳細(xì)設(shè)計(jì)和編碼階 段,在這個(gè)階段,由于自己動(dòng)手經(jīng)驗(yàn)不足和對開發(fā)工具的陌生,系統(tǒng)遇到了很 多大大小小的問題,在一次次克服困難的過程中,我得到了極大

59、的鍛煉,基本 上掌握了一些的編程技巧,同時(shí)也獲得了許多寶貴的軟件開發(fā)經(jīng)驗(yàn)和技巧,這 為我今后的學(xué)習(xí)工作打下了堅(jiān)實(shí)的基礎(chǔ)。 在這段時(shí)間里我學(xué)到了很多以前沒有學(xué)到的知識(shí),同時(shí)也將以前所學(xué)過的 知識(shí)運(yùn)用到實(shí)踐項(xiàng)目中,在提高理論知識(shí)的基礎(chǔ)上,也充分地鍛煉了自己的動(dòng) 手能力。 當(dāng)然這個(gè)系統(tǒng)還存在許多有待完善之處: 功能相對較少,有待于添加,比方說像文件傳輸,查找,語音等功能。 在文字傳送的同時(shí)增加表情發(fā)送的功能; 界面設(shè)計(jì)的不夠精致美觀。由于自己經(jīng)驗(yàn)不足且時(shí)間有限,所以界面設(shè)計(jì)不 盡人意; 用戶的權(quán)限設(shè)置應(yīng)更加嚴(yán)謹(jǐn),層次更加清晰,多功能的實(shí)現(xiàn)不同權(quán)限的用 戶對系統(tǒng)不同功能的操作。 除了以上列舉的一些不足

60、之處外,此系統(tǒng)還有其它很多功能需要增強(qiáng),由 于個(gè)人水平有限,時(shí)間也比較緊,只能實(shí)現(xiàn)系統(tǒng)的基本操作,對其它功能我想 更進(jìn)一步的學(xué)習(xí)并完善。 通過這次畢業(yè)設(shè)計(jì),我更深刻的認(rèn)識(shí)到了教學(xué)實(shí)踐在大學(xué)課程中的重要性, 同時(shí)也發(fā)覺到了自己在學(xué)習(xí)方面存在的不足之處,在以后的學(xué)習(xí)中我會(huì)努力改 進(jìn)這些不足、不斷提高自己的動(dòng)手實(shí)踐能力。 致 謝 衷心感謝在做畢業(yè)設(shè)計(jì)的這幾個(gè)月中老師的幫助,首先要向我的導(dǎo)師致以 崇高的敬意。導(dǎo)師在專業(yè)課程的學(xué)習(xí)、素材的收集、課題的確立、資料的查閱 都給以的熱忱的關(guān)懷和細(xì)心的指導(dǎo)。老師嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度、淵博的學(xué)識(shí)、對事 業(yè)的兢兢業(yè)業(yè)、不斷進(jìn)取的精神,為我今后的生活及工作樹立了榜樣,我的點(diǎn)

61、 滴進(jìn)步無不凝結(jié)著導(dǎo)師的心血。 還要感謝各位任課老師,老師們深厚的學(xué)術(shù)功底、旺盛的工作熱情和平易 近人的態(tài)度是我學(xué)習(xí)的榜樣。 感謝審閱本文的老師,感謝你們在百忙之中抽出寶貴時(shí)間來審閱本文,并 期待你們的批評指正。 最后,再次向各位老師的關(guān)心和幫助表示衷心的感謝! 參考文獻(xiàn) 1 譚日森.Ajax 技術(shù)的特點(diǎn)及發(fā)展前景J.黑龍江科技信息,2007,21:87. 2 張峰,宋莉.JSP 的研究與應(yīng)用J.科技信息(學(xué)術(shù)研究),2008,03:1415. 3 劉亮亮,王寧,王亞飛.XMLHttpRequest 異步功能在 Web 開發(fā)中的實(shí)現(xiàn)J.黑龍江科 技信息, 2009,29:3. 4 Linda

62、Dailey PaulsonBuilding rich web applications with AjaxJ.Computer,2005,10:1417. 5 Mark Frydenberg.A Multi-Tiered Web Development Capstone Project Using Databases, Web Services, and AJAXJ.Information Systems Education Journal,2008,37:315. 6 黃華.AJAX 技術(shù)及應(yīng)用綜述J.科技資訊,2007,11:87. 7 王錕,方明.Ajax 技術(shù)研究與應(yīng)用J.現(xiàn)代電子技

63、術(shù),2007,6:9398. 8 韓學(xué)洲.基于 AJAX 的 Web 應(yīng)用存在問題研究J.寧波職業(yè)技術(shù)學(xué)院學(xué)報(bào), 2008,05:8486. 9 冉春玉, 童瑩.Web2.0 與 Ajax 技術(shù)解析J.河南科技,2010,09:5556. 10 呂林濤, 萬經(jīng)華, 周紅芳.基于 AJAX 的 Web 無刷新頁面快速更新數(shù)據(jù)方法J.計(jì) 算機(jī)應(yīng)用研究,2006,11:199223. 11 冉春玉, 童瑩.Ajax 技術(shù)及其 Web 開發(fā)J.福建電腦,2007,07:100101. 12利用網(wǎng)絡(luò)聊天室進(jìn)行數(shù)字參考咨詢服務(wù)研究以碧聊聊天室為實(shí)例 胡國芳,楊 新涯.J. 情報(bào)雜志, 2004, (05)

64、 計(jì)算機(jī)科學(xué)與技術(shù)專業(yè) 畢業(yè)實(shí)習(xí)及畢業(yè)論文畢業(yè)實(shí)習(xí)及畢業(yè)論文(設(shè)計(jì)設(shè)計(jì))規(guī)范規(guī)范 計(jì)算機(jī)科學(xué)與工程學(xué)院 計(jì)算機(jī)科學(xué)與技術(shù)系 2015 年 03 月 目目 錄錄 一一. 畢業(yè)實(shí)習(xí)及畢業(yè)論文畢業(yè)實(shí)習(xí)及畢業(yè)論文(設(shè)計(jì)設(shè)計(jì))的主要目的的主要目的.1 二二. 指導(dǎo)教師選聘及對指導(dǎo)教師的要求指導(dǎo)教師選聘及對指導(dǎo)教師的要求.1 三三. 畢業(yè)實(shí)習(xí)分組及實(shí)施計(jì)劃畢業(yè)實(shí)習(xí)分組及實(shí)施計(jì)劃.3 四四. 畢業(yè)論文畢業(yè)論文(設(shè)計(jì)設(shè)計(jì))的選題的選題.3 五畢業(yè)實(shí)習(xí)及畢業(yè)論文五畢業(yè)實(shí)習(xí)及畢業(yè)論文(設(shè)計(jì)設(shè)計(jì))的進(jìn)度控制的進(jìn)度控制4 六、畢業(yè)論文的結(jié)構(gòu)與格式六、畢業(yè)論文的結(jié)構(gòu)與格式7 七、畢業(yè)實(shí)習(xí)以及畢業(yè)論文七、畢業(yè)實(shí)習(xí)以及畢業(yè)

65、論文(設(shè)計(jì)設(shè)計(jì))成績評定成績評定10 八、畢業(yè)設(shè)計(jì)的歸檔工作八、畢業(yè)設(shè)計(jì)的歸檔工作10 九、畢業(yè)實(shí)習(xí)及畢業(yè)論文九、畢業(yè)實(shí)習(xí)及畢業(yè)論文(設(shè)計(jì)設(shè)計(jì))領(lǐng)導(dǎo)小組領(lǐng)導(dǎo)小組12 附件附件 1:任:任務(wù)務(wù)書的填寫格式書的填寫格式.14 附件附件 2:開題報(bào)告的填寫格式:開題報(bào)告的填寫格式.18 附件附件 3:文獻(xiàn)綜述格式:文獻(xiàn)綜述格式.22 附件附件 4:實(shí)習(xí)報(bào)告封面格式:實(shí)習(xí)報(bào)告封面格式.27 附件附件 5:實(shí)習(xí)鑒定表格式:實(shí)習(xí)鑒定表格式.28 附件附件 6:實(shí)習(xí)成績評定表格式:實(shí)習(xí)成績評定表格式.29 附件附件 7:畢業(yè)論文格式的基本要求:畢業(yè)論文格式的基本要求.30 附件附件 8:畢業(yè)設(shè)計(jì)袋封面填寫格式:畢業(yè)設(shè)計(jì)袋封面填寫格式.39 附件附件 9:畢業(yè)論文驗(yàn)收表:畢業(yè)論文驗(yàn)收表.40 附件附件 10:畢業(yè)設(shè)計(jì):畢業(yè)設(shè)計(jì)(論文論文)評論標(biāo)準(zhǔn)評論標(biāo)準(zhǔn).41 附件附件 1111:畢業(yè)設(shè)計(jì)資料電子文檔目錄結(jié)構(gòu):畢業(yè)設(shè)計(jì)資料電子文檔目錄結(jié)構(gòu).46 根據(jù)學(xué)院有關(guān)學(xué)生實(shí)習(xí)的規(guī)定和本專業(yè)教學(xué)計(jì)劃的安排,對計(jì)算機(jī)科學(xué)與技術(shù)專 業(yè)學(xué)生畢業(yè)實(shí)習(xí)及畢業(yè)論文(設(shè)計(jì))作如下具體安排: 一一. . 畢業(yè)實(shí)習(xí)及畢業(yè)論文畢業(yè)實(shí)習(xí)及畢業(yè)論文( (設(shè)計(jì)設(shè)計(jì)) )的主要目的的主要目的 1、 畢業(yè)實(shí)習(xí)的主要目的: (1) 通過畢業(yè)實(shí)習(xí),使學(xué)生從理論走

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

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!