JSP、JAVA、AJAX文本聊天室设计思路

转帖:http://www.soarwell.com/knowledge/3/list-3-1.shtml

    文本聊天室,既可以作为主题讨论的平台,也可以作为在线会议室使用,完善了OA系统的交流手段。采用J2EE技术数飞OA,开发人员用JSPJAVA结合AJAX技术实现了文本聊天室。

 

       聊天室要实现的基本功能就是多个人同时在线,一人发信息后,其他在线人员都能看到消息。这里要解决两个主要问题:一个是如何更新在线人员,一个如何更新消息。这里考虑用两个全局变量,一个存储在线人员信息,一个存储消息。在applicationstatic之间,我们选择了用static。于是定义了两个MaponlineMap, messageMap

 

       登陆聊天室的时候,更新onlineMap。同时在页面里启动javascript定时器,动态的检测onlineMap, messageMap的变化,一旦有更新,javascript自动的获取更新的内容,进行解析后更新页面。

 

登陆聊天室的流程图:

090420A.jpg

发送消息的流程图:

090420b.jpg

完成在线人员列表、发送信息、信息显示后,再加入指定在线人员私聊、内置一些常见用语、字体颜色设置、字体大小设置、表情的选择,一个活生生的文本会议室基本完成。还加入会议室权限的设置、有效时间的设置、登陆权限的限制、聊天记录的保存,功能还是能做的比较实用的。

 

程序员在开发的过程中遭遇一个小问题,就是非正常离线的人员,onlineMap始终有他的信息存在。onlineMap里保存的是用户名称,登陆时间,考虑增加一个“检测时间”。因为在线的客户端需要定时的检测是否有最新的消息,在检测的时候把检测时间也保存到onlineMap,一旦检测时间迟迟不更新,系统就可以认为该用户已经非正常离线。

 

最终的效果图:

090420C.jpg

JSPJAVAAJAX文本聊天室的实现虽然简单,但是一些细节处理起来还是挺费时间。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/20632441/viewspace-590982/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/20632441/viewspace-590982/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值