`

DWR的 Reverse Ajax!

    博客分类:
  • DWR
阅读更多

下面内容出自0:javaeye的 hellostory 大虾。十分感谢他帮我解决了这个问题!

 

说明:可以将以下count值改变为表格内容

以下代码演示内容:
    后台服务不停地累加count值,同时将count值推送到前台页面(index.html)中(表现为前台页面count值不停地累加显示)

第一步:创建后台推送服务

 


 

import java.util.Timer;
import java.util.TimerTask;

import org.directwebremoting.Browser;
import org.directwebremoting.ServerContextFactory;
import org.directwebremoting.ui.dwr.Util;

public class Clock {
	private long count = 0;//计数器,web页面用来显示	
	public Clock() {		
		// 创建一个定时任务,每隔10秒count自动加一
		Timer t = new Timer();
		t.schedule(new TimerTask() {
			public void run() {
				count++;
			}
		}, 0,10);
	}
	
	// 通过无限循环调用setClockDisplay()刷新Web页面的数字内容
	public synchronized void toggle() {
		while (true) {
			setClockDisplay(count+"");			
			//休眠一秒
			try {
				Thread.sleep(1000);
			} catch (InterruptedException e) {
				e.printStackTrace();
			}
		}
	}

	// 刷新index.html页面中<div id='clockDisplay'/>的内容,
	// 即显示count的数值
	public void setClockDisplay(final String output) {
		String page = ServerContextFactory.get().getContextPath()
				+ "/index.html";
		Browser.withPage(page, new Runnable() {
			public void run() {
				Util.setValue("clockDisplay", output);
			}
		});
	}

}

 

第二步:配置dwr.xml

<!DOCTYPE dwr PUBLIC
    "-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN"
    "http://getahead.org/dwr/dwr20.dtd">
<dwr>
  <allow>
    <create creator="new" javascript="Clock">
      <param name="class" value="Clock"/>
    </create>
  </allow>
</dwr>

 第三步:Web页面内容

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
	<head>
		<title>Comet测试</title>
		<meta http-equiv="content-type" content="text/html; charset=UTF-8">
		<script type="text/javascript" src="dwr/interface/Clock.js"></script>		
		<script type='text/javascript' src='dwr/engine.js'></script>
		<script type='text/javascript' src='dwr/util.js'></script>
		<script type="text/javascript">
			dwr.engine.setActiveReverseAjax(true);//开启ajax反转功能
		</script>
	</head>
	<body>
		<input type="button" value="开始" onclick="Clock.toggle();" />
		<div id="clockDisplay">这里用来显示后台服务器推送的内容(即Count的值)</div>
	</body>
</html>

 
第三步:Web页面内容
补充:这里的文件名是index.html

 

 

分享到:
评论

相关推荐

    即时通讯DWR Reverse Ajax

    DWR(Direct Web Remoting)是实现这种功能的一种技术,尤其以其独特的Reverse Ajax特性在服务器推送(Server-Sent Events, SSE,也常被称为Comet技术)领域中备受关注。下面我们将深入探讨DWR Reverse Ajax的工作...

    dwr reverseajax clockms

    dwr reverseajax clockms

    dwr reverseajax ClockLogging

    dwr reverseajax ClockLogging

    dwr3ReverseAjax示例

    在这个“dwr3ReverseAjax示例”中,我们将深入探讨如何利用DWR 3.x版本来构建一个基于Ajax的简单Web聊天应用。 首先,DWR的核心功能是通过HTTP协议实现在客户端JavaScript和服务器端Java之间的远程方法调用(Remote...

    DWR REVERSEAJAX DEMO

    Server Side Reverse Ajax Clock

    dwr 2.0(reverse ajax)实现推的web IM例子

    在DWR 2.0版本中,引入了Reverse Ajax的概念,这是一种服务器主动向客户端推送数据的技术,这对于构建实时的Web应用程序,比如Web IM(即时通讯)应用,非常关键。 在这个例子中,我们将探讨如何利用DWR 2.0实现一...

    Dwr 官方Reverse Ajax Demo

    DWR是基于AJAX技术的,但其提供了更高级的功能,如Reverse Ajax和自动类型转换,使得开发者可以更专注于业务逻辑,而无需过多关注底层通信细节。AJAX主要负责局部页面更新,而DWR则扩展了这一概念,使得服务器可以...

    DWR让Ajax如此简单

    - **Reverse Ajax(反向Ajax)**: DWR实现了反向Ajax,即服务器可以主动推送数据到客户端,而不仅仅是响应客户端的请求。 - **Caching(缓存)**: DWR支持缓存服务器端的响应,提高性能,减少网络流量。 ### 2. ...

    DWR AJAX框架(包含使用教程)

    - **Reverse Ajax**:DWR的特色功能,使得服务器可以直接调用客户端的JavaScript函数。 3. **DWR的使用步骤** - **配置DWR**:在web.xml中配置DWRServlet,以及在dwr.xml中定义允许的远程Java类和方法。 - **...

    使用DWR开发AJAX For J2EE

    - **反向AJAX (Reverse AJAX)**:DWR的核心是反向AJAX,即服务器主动推送数据到客户端,而不是传统的客户端发起请求获取数据。 - **远程调用 (Remote Method Invocation)**:DWR允许JavaScript直接调用服务器上的...

    dwr demo ajax

    - `WEB-INF/web.xml`:Web应用的部署描述符,其中会配置DWRServlet,指定DWR的初始化参数,如`dwr.engine.reverseAjax`和`dwr.engine.debug`等。 - `dwr.xml`:DWR的核心配置文件,定义了哪些Java类和方法可以被...

    Ajax框架:简单的dwr实例

    1. **Reverse AJAX**:DWR的核心特性之一是反向AJAX,即服务器主动向客户端推送数据,而不仅仅是响应客户端的请求。这使得用户界面可以实时更新,提高了用户体验。 2. **JavaBeans与JavaScript对象映射**:DWR自动...

    DWR框架 AJAX

    1. **Reverse Ajax**:DWR的核心特性之一是实现了Reverse Ajax,即服务器可以主动向客户端推送数据,而不仅仅是响应客户端的请求。这种技术打破了传统的Web交互模式,提高了用户体验。 2. **Remote Method ...

    AJAX框架DWR简单应用

    6. **实时更新**:DWR的Reverse AJAX特性使得服务器能够主动推送数据到客户端,实现了双向通信,常用于聊天、股票报价等实时应用。 7. **易于集成**:DWR可以轻松地与现有的MVC框架(如Spring MVC)集成,同时支持...

    AJAX DWR教程

    - **Reverse AJAX Servlet**: DWR自动配置的Servlet,接收来自JavaScript的请求,并调用相应的Java方法。 - **Auto-Discovery**: DWR可以自动发现Java类中公开的方法,并暴露给JavaScript使用,只需要简单的注解...

    java 采用dwr框架构实现ajax

    2. **Reverse Ajax Engine**: 实现JavaScript到Java的调用,以及Java结果的回传。 3. **Script.aculo.us Integration**: 提供与流行的JavaScript库(如jQuery或Prototype)的集成。 **六、DWR的安全性和优化** DWR...

    ajax的DWR框架入门例子

    4. **反向AJAX(Reverse AJAX)**:DWR实现了反向AJAX,即服务器可以主动向客户端推送数据,而不仅仅是响应客户端的请求。 接下来,我们将探讨如何使用DWR进行基本操作: 1. **创建Java类**:首先,我们需要在...

    DWR AJAX实例

    - **Reverse Ajax**: DWR通过Reverse Ajax实现了服务器向客户端的推送,即服务器可以在有新数据时主动通知客户端,而无需客户端持续轮询。 - **AutoComplete**: DWR提供了自动完成功能,可以在用户输入时动态提供...

    DWR的Comet测试,又称反Ajax(ReverseAjax),使用DWR3.0 + Spring 2.5

    功能描述:模拟一个聊天室程序 comet.jsp就是聊天室接收消息的界面,action.jsp就是发送消息的界面,为了更好的说明问题,将接收界面和发送界面放在两个窗口中, 测试时同时可以打开多个接收界面和发送界面, ...

Global site tag (gtag.js) - Google Analytics