jsp + ajax 页面即时更新效果如何做 ?

这个问题关键在于如何自动发送接收请求。。。我会定时提问,这个问题的,直到有思路或者是有满意的答案为止.百度的Hi,126邮箱,在页面不刷新的情况下,就能够获取信息这个是如... 这个问题关键在于如何自动发送接收请求。。。 我会定时提问,这个问题的,直到有思路或者是有满意的答案为止.

百度的Hi,126邮箱,在页面不刷新的情况下,就能够获取信息这个是如何做到的?

通常情况下 ajax + xml + 其他编程 语言组合,这样做虽然能够做到,页面无刷新提交数据,或更新数据等等,这样做的话,在提交数据无需刷新,获取数据就必须人为ideas刷新下,或关闭浏览器,才能获得信息。用AJAX + XML + JSP 我只能做到这样。

我想做的是,有一个首页index.jsp 有一个新闻页new.jsp。

现在,index.jsp打开了,此时在new.jsp中 发布一条新闻后,index.jsp必须点击获取最新新闻这样才能看见最新新闻(点击的时候用的是AJAX所以地址栏,页面都没有刷新的)或者是 刷新下。。。

现在我要做的是index.jsp已经被打开了,然后在new.jsp中发布后,index.jsp 无需点击获取最新新闻,或者是刷新页面,就能够显示最新新闻...

这样的效果就类似于 百度 Hi 或 126 邮箱...

百度开着呢,你在搜索帖子的时候,突然发现hi在哪里动...

请问这样的效果,如何做?能否给点代码参考?或提供个思路也行啊!请不要使用dwr框架

这个帖子,我会定期发的,直到能够满足我的技术需求为止!

反正就像百度或126 那样的。

定时刷新,与自动刷新,不是我想要的,我就是想,如何触发,这个AJAX,大家有空一起研究下,比如说像AOP,把事先想好的东西放在那里,然后如果碰了什么东西的话,那就触发这个事件。。。
展开
 我来答
小_江
2009-10-09 · 超过21用户采纳过TA的回答
知道答主
回答量:135
采纳率:0%
帮助的人:0
展开全部
没有做过,不过我觉得可以这样做。
一、数据库触发器。

在数据库内调用应用程序的接口。让HI程序知道数据有新值,然后HI去读取里面的值。

二、定时访问数据库

但是这样有一个问题,这样会让数据库的访问数增加很多,容易出现锁的问题。
这样的话,就可以做一些数据库级的优化,应该可以改善很多。

三、读取HI的文件以及本地缓存
dkchina
2009-10-09 · TA获得超过2473个赞
知道大有可为答主
回答量:3504
采纳率:0%
帮助的人:2050万
展开全部
我之前做的一个项目中

涉及过这个东西

基本上思想就是

前台设计时器,定时发送请求回服务器

后台ACTION查询状态TABLE(此Table只存储时间戳)

当前台发送的时间戳与状态Table中时间戳不一致时

Action得出结论:前台数据并非最新

将最新内容发送至前台

PS:由于Hibernate缓存技术的应用,此方法不会造成数据库死锁
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jumpkang
2009-10-09 · TA获得超过503个赞
知道小有建树答主
回答量:343
采纳率:0%
帮助的人:452万
展开全部
首先,你说的这种东西,要么做一个oic控件,要么只能用ajax,当然用flex也可以实现的。
ajax代码这方面的东西应该是很多了网上,自己查一下就知道了。
仔细分析楼上各位说的话,其实归根到底,都是前台使用ajax对服务器进行定时访问,而哪些数据库方面的优化之类的则是java底层考虑的内容。这些的话都是数据同步方面的问题。个人认为更简单、效率更高的服务层的写法应该是将页面中最新的内容在服务器缓存与数据库中进行同步。这样当在new页面增加新闻时,同时向数据库和服务器内存当中保存数据,这样ajax的访问请求根本就无需再走数据库了。互联网上的很多门户网站都是这样处理首页新闻的。他们甚至有的是将index页面直接缓存到内存当中(或者在主页内容进行更改时直接更新index页面文件的)。这样才是效率的王道!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友ef10e91
2009-10-09 · TA获得超过1822个赞
知道大有可为答主
回答量:1223
采纳率:50%
帮助的人:1278万
展开全部
在页面上设置一个定时器,循环去检测,如果有就提示,只能这么做,貌似还不能从后台直接推送到前台去,只能由请求来触发事件。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zjweii
2009-10-09 · TA获得超过322个赞
知道小有建树答主
回答量:421
采纳率:0%
帮助的人:167万
展开全部
这个没有什么好的办法吧,我觉得还是加一个定时器,定时检测,看有没有变化,可以在服务器上写一句话,1或是0 ,然后在客户端,1秒检测一次。如果有变化了(1):开工,没有继续等待
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式