日期:2014-05-17  浏览次数:20690 次

用java怎样实现消息及时提醒?
要写一个别人收到一条信息后,若未查看则会在左下角弹出一个小页面提示有未读消息,请问用java和js该怎么实现?

------解决方案--------------------
使用DWR反转实现信息推送 可以学习一下DWR
------解决方案--------------------
线程唄!
------解决方案--------------------
最简单的设计方式是:
1. 首先用户登录时,要在session中记录下用户当前的总消息数量。
2. 用户在使用系统的过程中,用ajax轮询5秒一次 (setInterval函数即可),到后台查询下,和session中的总消息数进行比较,如果大于,则弹出来提示。
3. 当用户在提示的小框中点击查看了新的消息,那么session中的消息数据记得要更新为最新的。
------解决方案--------------------
提供一个我们项目中思路:专门有一个消息提醒类 类的字段大概有 标题/模块/....等等信息
在用户登录的时候 肯定会跳到首页 在首页中嵌套一个html也面(让它每隔多长时间就弹出,这个很简单的啦 百度一下)
查询未读取的消息
------解决方案--------------------
楼主可以参考5楼的意见
------解决方案--------------------
js定期刷新检测是否有新消息,有的话刷新页面添加提醒
------解决方案--------------------
jms你试试
------解决方案--------------------
探讨

最简单的设计方式是:
1. 首先用户登录时,要在session中记录下用户当前的总消息数量。
2. 用户在使用系统的过程中,用ajax轮询5秒一次 (setInterval函数即可),到后台查询下,和session中的总消息数进行比较,如果大于,则弹出来提示。
3. 当用户在提示的小框中点击查看了新的消息,那么session中的消息数据记得要更新为最新的。

------解决方案--------------------
其实现在都有一些框架来实现http的长连接,pushlet就是一个不错的框架!
------解决方案--------------------
http长连接只的是在一定时间内对连续的请求不反复打开关闭HTTP链接,而是使用同一个链接处理并反馈,以增加相应速度。

例如打开一个首页的时候,不仅要下载index。html有很多图片、CSS、js等,这时候可以设置服务器的长连接模式,通常这个时间都是很短的,以秒来计算。

这里消息提醒显然不止这个时间,而是用户在登录后到网页SESSION失效的整个范围内,据我所知目前有效的http方法就是间隔发起请求到服务器查询,不论是数据库还是SESSION或者其它内存变量等。

概括来说就是轮询。 ajax或者iframe等等都是。

至于服务器端推送这个东西,从来就没搞明白,或者根本就不是基于HTTP的。