手机站
网通分站
电信主站
密 码:
用户名:
当前位置 : 主页>程序设计>Java技术>列表

无进度条刷新获得服务器端数据并相应处理

来源:互联网 作者:west263.com 时间:2008-02-23
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!

接到一个项目,自己给加了一个类似于bbs的消息系统,由于http的无连接性,需要浏览器定时访问服务器查看是否有新消息存在,如果存在,则弹出窗口提示,同时刷新页面,显示已经存在的新消息数。

在网上搜了大量的资料,试验了各种方法

<meta … refresh…>

框架中页面嵌入<iframe>,js代码refresh iframe src

这两种方法都会造成页面的显式刷新,效果很不好

然后我采用了请求延迟返回的方法,如下:

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

<%@ page import="Java.util.*" %>

<%@ page import="com.tju.msnrl.guard.util.*" %>

<%@ page import="com.tju.msnrl.guard.db.util.*" %>

<html>

<head>

<link rel="stylesheet" href="css/bottom.css" type="text/css">

<script language="JavaScript" type="text/JavaScript">

<!--

function RefreshRight() {

top.bottom_right.location.reload();

}

function RefreshMiddle() {

alert("您有新消息");

top.bottom_middle.location.reload();

}

function RefreshSelf(){

window.location.reload();

}

-->

</script>

</head>

<!--

************************************************************

判断是否有新消息,

1)消息监听器在 "用户登录"和"离开" 时被设置 是否有新的系统消息

2)上下文全局变量在线用户users,在 "发送消息"和"初审完毕"和"终审完毕" 时被设置,是否有新消息

消息处理

1)如果有新消息,则页面刷新时对 bottom_middle.JSP 和 bottom_right.jsp 和本页面

页面进行刷新,显示更新后的消息

2)如果没有新消息,则一直循环等待新消息

************************************************************

-->

文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!