JSP、JAVA、AJAX文本聊天室設計思路

來源:互聯網
上載者:User

       JSPJAVAAJAX文本聊天室設計思路

 

    文本聊天室,既可以作為主題討論的平台,也可以作為線上會議室使用,完善了OA系統的交流手段。數飛OA採用J2EE技術,開發人員用JSP、JAVA結合AJAX技術實現了文本聊天室。

       聊天室要實現的準系統就是多個人同時線上,一人發資訊後,其他線上人員都能看到訊息。這裡要解決兩個主要問題:一個是如何更新線上人員,一個如何更新訊息。這裡考慮用兩個全域變數,一個儲存線上人員資訊,一個儲存訊息。在application和static之間,我們選擇了用static。於是定義了兩個Map,onlineMap, messageMap。 

       登陸聊天室的時候,更新onlineMap。同時在頁面裡啟動javascript定時器,動態檢測onlineMap, messageMap的變化,一旦有更新,javascript自動的擷取更新的內容,進行解析後更新頁面。

登陸聊天室的流程圖:

 

發送訊息的流程圖:

完成線上人員列表、發送資訊、資訊顯示後,再加入指定線上人員私聊、內建一些常見用語、字型顏色設定、字型大小設定、表情的選擇,一個活生生的文本會議室基本完成。還加入會議室許可權的設定、有效時間的設定、登陸許可權的限制、聊天記錄的儲存,功能還是能做的比較實用的。

程式員在開發的過程中遭遇一個小問題,就是非正常離線的人員,onlineMap始終有他的資訊存在。onlineMap裡儲存的是使用者名稱稱,登陸時間,考慮增加一個“檢測時間”。因為線上的用戶端需要定時的檢測是否有最新的訊息,在檢測的時候把檢測時間也儲存到onlineMap,一旦檢測時間遲遲不更新,系統就可以認為該使用者已經非正常離線。

 最終的:

 

       JSP、JAVA、AJAX文本聊天室的實現雖然簡單,但是一些細節處理起來還是挺費時間。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.