高手来看下

kingkingzhu 2008-08-21 03:35:31
我用一个jsp页显示从mssql中查询出来的结果
当数据库中的数据有添加或修改的时候 我希望jsp页能够动态的显示修改
而不用去刷新jsp页
...全文
269 32 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
32 条回复
切换为时间正序
请发表友善的回复…
发表回复
kingkingzhu 2008-09-01
  • 打赏
  • 举报
回复
搞定拉 还是用了ajax定时刷的
非常感谢各位的帮助
wargrey 2008-08-24
  • 打赏
  • 举报
回复
确实是bs的缺点,因为bs是机遇无状态的http协议的,还有一个情况,用socket,这样等待的时间不占资源。当然bs里没人会这么用。
kingkingzhu 2008-08-23
  • 打赏
  • 举报
回复
还有我的不是一个即时聊天
我关键是要判断数据库数据的更新
然后动态显示
kingkingzhu 2008-08-23
  • 打赏
  • 举报
回复
哎 难道这是bs的一个缺点么
听各位说了这么多 好象不管怎么样服务器和brower之间一点要保持连接
要么是服务器和brower保持连接 要么是brower定时向服务器请求
这样的话 时间长了后当访问客户多的时候
网络和服务器会挂掉啊
kingkingzhu 2008-08-22
  • 打赏
  • 举报
回复
还有就是tomcat支持么
kingkingzhu 2008-08-22
  • 打赏
  • 举报
回复
搜是搜到了 好象也很对头哦 就是不知道怎么用啊 可以详细点么 谢谢了大哥
myqq1796 2008-08-22
  • 打赏
  • 举报
回复
用setTimeout定时调用ajax方法
kingkingzhu 2008-08-22
  • 打赏
  • 举报
回复
谢谢啊 你早就发了 我搜了下 你可以具体点么 谢谢了
我再搜下 呵呵
zhuyx808 2008-08-22
  • 打赏
  • 举报
回复
comet
你搜索下就很清楚了,你做这个跟做webim一摸一样的
kingkingzhu 2008-08-22
  • 打赏
  • 举报
回复
就是不知道这个怎么去探测数据库的更新啊
johennes 2008-08-22
  • 打赏
  • 举报
回复
那就用AJAX吧,定时刷新数据库数据,具体代码手头上还没有,网上搜一下应该有的
kingkingzhu 2008-08-22
  • 打赏
  • 举报
回复
呵呵 我完全同意各位的说法 可我有什么办法了
上面说要做就得做啊 人家还说不准刷新了
johennes 2008-08-22
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 kingkingzhu 的回复:]
我想应该是要用ajax定时的探测数据库看有没有更新
然后调用刷新
我没接触过ajax 希望高手可以给出代码让小弟参考 谢谢各位高手拉
[/Quote]人家说了,这是很浪费资源的,如果只是一般的使用没必要这么做,如果一定要就用setTimeout使Ajax定时去调用function局部刷新div
kingkingzhu 2008-08-22
  • 打赏
  • 举报
回复
我想应该是要用ajax定时的探测数据库看有没有更新
然后调用刷新
我没接触过ajax 希望高手可以给出代码让小弟参考 谢谢各位高手拉
wargrey 2008-08-22
  • 打赏
  • 举报
回复
或者将轮循放服务器端,因为ajax得不到返回结果会等待。客户端资源就相对好一点了。

服务器端java做轮循的效率肯定比js高。


另外这样的功能是有意思的,但是不是谁做就能做的好的。
zhuyx808 2008-08-22
  • 打赏
  • 举报
回复
给你最简单的那个实现吧跟5楼几乎一摸一样,这样实现肉眼是根本看不出来刷新的
test.jsp

<%@ page language="java" contentType="text/html; charset=GBK"
pageEncoding="GBK"%>

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GBK">
<title>AJAX </title>
<script type="text/javascript">
var xmlHttpReq;
//创建XMLHTTP对象
function createXMLHttpRequest(){
if(window.ActiveXObject){
xmlHttpReq = new ActiveXObject("MSXML2.XMLHTTP.3.0");
var MSXML = ['MSXML2.XMLHTTP.5.0', 'MSXML2.XMLHTTP.4.0', 'MSXML2.XMLHTTP.3.0', 'MSXML2.XMLHTTP', 'Microsoft.XMLHTTP'];
try {
http_request = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e){
try{
http_request = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e) {}
}

}else if(window.XMLHttpRequest){

xmlHttpReq = new XMLHttpRequest();
}
}
function change(){
createXMLHttpRequest();
var url = "test2.jsp?rand=" + Math.random();

xmlHttpReq.open("GET", url, true);
xmlHttpReq.onreadystatechange = callback;

xmlHttpReq.send(null);
}

function callback(){
if (xmlHttpReq.readyState == 4){
if (xmlHttpReq.status == 200){
document.getElementById("ajax").innerHTML = xmlHttpReq.responseText.replace(/\s*<\?/g, "<?");
}
}
}

function init(){
change();
setTimeout("init()",2000);
}

</script>
</head>
<body onload="init()">

<div id="ajax"></div>
</body>
</html>




test2.jsp


<%@ page language="java" pageEncoding="GBK"%>
<%@ page contentType="text/html;charset=GBK" %>



<%
//连数据库
//取数据
//打印

%>

yafeiok 2008-08-22
  • 打赏
  • 举报
回复
让页面自动的刷新。
zhuyx808 2008-08-22
  • 打赏
  • 举报
回复
用setTimeout定时调用ajax方法,把时间设置的小点,同样是看不出来刷新的,这个是最简单的方式
kingkingzhu 2008-08-22
  • 打赏
  • 举报
回复
虽然还没搞定
真的非常感谢各位大哥的帮助
加载更多回复(12)

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧