求一个最简单的jsp网页聊天室源码

用jsp+servlet做的聊天记录不经过数据库只保存200条在页面上,我做出来了一个,但是必须每1秒都要把那200条记录重新读一次显然这样不合理,理论上一般只要3个文件... 用 jsp +servlet做的 聊天记录不经过数据库 只保存200条在页面上 , 我做出来了一个,但是必须每1秒都要把那200条记录重新读一次 显然这样不合理, 理论上一般只要3个文件, 一个.java的 servlet 一个.js 的javascript文件 和一个 jsp页面
效率高对服务器压力小的代码 加分!
邮箱地址 232717834@qq.com
展开
 我来答
危献e3
2011-07-05 · TA获得超过2053个赞
知道大有可为答主
回答量:2738
采纳率:0%
帮助的人:1965万
展开全部
才200条记录
最快的方式记录用cycle queue保存到为Application域对象
两个application域的int来记录cycle queue的头和最新的尾
页面的session里面保存当前显示的位置
然后每次取的时候使用ajax直接取当前显示位置到queue tail的记录即可
最快方式.无处其右

---------------------------------------------------------
本团队不提供现成代码 免开尊口
追问
大师啊 听你这个感觉好朦胧啊~    你说的 cycle queue可以用 LinkedList吧 ,我之前用的就是LinkedList,  
之前我的做法是 用js做了个每1秒执行一次ajax 来拿数据,但这样会每次从集合里拿出200条 并且是每个用户每秒~ 这样的确做到不刷新页面,但不用想也知道这样不合理 对服务器压力太大,
我想不出一个可以做到只有有人发消息 才执行一次ajax的方法, 再有就是取数据,怎样可以做到每个人都只拿到最新的数据,而不用一次拿200条
追答
你没有认真看我的回答

两个application域的int来记录cycle queue的头和最新的尾
页面的session里面保存当前显示的位置
然后每次取的时候使用ajax直接取当前显示位置到queue tail的记录即可”

再加上cycle queue就解决了取得最新数据的问题

理论上说 不存在有人发消息才执行ajax 这一点是http协议决定的 除非你使用http长连接
但是那样更消耗系统资源

现在给你说的方案是使用ajax每次请求数据中看有无新消息 没有什么都不返回 有的话 返回最新消息
益飇004
2011-07-05 · TA获得超过3307个赞
知道大有可为答主
回答量:4641
采纳率:25%
帮助的人:2951万
展开全部
你可以去下载马士兵的在线聊天系统 来看.

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
应小夏侯lT
2011-07-05 · 超过18用户采纳过TA的回答
知道答主
回答量:325
采纳率:0%
帮助的人:97.5万
展开全部
20元一次
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式