`
conkeyn
  • 浏览: 1524943 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

DWR Reverse Ajax 显示服务器的时间

阅读更多

第一步:最基本也是最重要的,要记得配置web.xml中与reverse ajax相关的参数。

 

<init-param>
	<description>是否激活反向Ajax</description>
	<param-name>activeReverseAjaxEnabled</param-name>
	<param-value>true</param-value>
</init-param>

 可增加额外的两个参数:

                <init-param>
			<description>在WEB启动时是否创建范围为application的creator</description>
			<param-name>initApplicationScopeCreatorsAtStartup</param-name>
			<param-value>true</param-value>
		</init-param>
		<load-on-startup>1</load-on-startup>

 

第二步:编写Java 的时钟代码:

package learn.dwr.reverse;

import java.util.Date;
import java.util.concurrent.ScheduledThreadPoolExecutor;
import java.util.concurrent.TimeUnit;
import org.directwebremoting.Browser;
import org.directwebremoting.ServerContextFactory;
import org.directwebremoting.ui.dwr.Util;

/**
 * title: 时钟
 * 
 * @author Administrator
 * @时间 2009-11-21:下午07:11:56
 */
public class MyClock implements Runnable {
	// 这个active必需用static,使用transient标识是无法使用哦。
	protected static boolean active = false;

	public MyClock() {
		ScheduledThreadPoolExecutor executor = new ScheduledThreadPoolExecutor(
				1);
		executor.scheduleAtFixedRate(this, 1, 1, TimeUnit.SECONDS);
	}

	@Override
	public void run() {
		if (active) {
			setClockDisplay((new Date()).toString());
		}
	}

	public synchronized void toggle() {
		active = !active;
		if (active) {
			setClockDisplay("Started");
		} else {

			setClockDisplay("Stopped");
		}
	}

	public void setClockDisplay(final String output) {
		String page = ServerContextFactory.get().getContextPath()
				+ "/reverseajax/clock.html";
		System.out.println(page + "  " + output);
		Browser.withPage(page, new Runnable() {
			public void run() {
				Util.setValue("clockDisplay", output);
			}
		});

	}
}

 

第三步:把MyClock类配置到dwr.xml中内容如下:

<create creator="new">
	<param name="class" value="learn.dwr.reverse.MyClock" />
</create>

 注意: creator = "new" ,每当我们点击“Start/Stop ”按钮时,它会自动生成一个新的Clock 对象,此时我们应该把设置范围, scope = "application" ,用 application 范围时,它就不会再每次点击“ Start/Stop ”时创建新的 Clock 对象,因为 Clock 对象,只有应用程序启动时创建一个Clock对象。

 

第四步:创建/reverseajax/clock.html语言件,并编写HTML代码,其内容如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Reverse ajax 时钟案例</title>
<script type='text/javascript' src='/learnajax/dwr/interface/MyClock.js'></script>
<script type='text/javascript' src='/learnajax/dwr/engine.js'></script>
<script type='text/javascript' src='/learnajax/dwr/util.js'></script>

<script type="text/javascript">
window.onload = function (){
	dwr.engine.setActiveReverseAjax(true);
}
</script>

</head>

<body>
<input type="button" value="Start/Stop" onclick="MyClock.toggle();"/>
<h2 id="clockDisplay"></h2>


</body>
</html>
 

DWR Rerverse AJAX 的高级应用。

http://www.ibm.com/developerworks/cn/java/j-jettydwr/

 

 

分享到:
评论

相关推荐

    即时通讯DWR Reverse Ajax

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

    dwr3ReverseAjax示例

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

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

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

    Dwr 官方Reverse Ajax Demo

    **DWR (Direct Web ...总的来说,DWR是实现Reverse Ajax的一个强大工具,它简化了服务器与浏览器之间的交互,为构建富客户端Web应用提供了便利。了解并掌握DWR,对于提升Web应用的用户体验和交互性具有重要意义。

    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直接调用服务器上的...

    Ajax框架:简单的dwr实例

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

    dwr demo ajax

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

    服务器推--DWR中的push机制-Reverse_Ajax.docx

    在Web开发中,传统的Ajax技术主要是基于“拉”(Pull)模型,即浏览器(Browser)发起请求,服务器(Server)被动响应。然而,这种模型无法满足实时性需求,例如股票行情、即时聊天等应用场景。为了解决这一问题,...

    DWR框架 AJAX

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

    AJAX框架DWR简单应用

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

    DWR3实现服务器端向客户端精确推送消息

    要实现服务器端向客户端的精确推送,DWR3提供了“Reverse Ajax”或者称为“Comet”技术。Comet是一种使服务器能够长时间保持HTTP连接开放的技术,以便在需要时向客户端发送更新。这种长轮询或流式传输的方式,使得...

    dwr推技术实现服务器推送数据

    DWR的独特之处在于它的“反转Ajax”(Reverse Ajax)概念,即服务器可以主动向客户端推送数据,而不仅仅是响应客户端的请求。这在股票实时显示等需要即时更新信息的应用场景中非常有用。 在"股票实时显示"的应用...

    AJAX DWR教程

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

    dwr服务器推送,dwr.jar,推送,服务器ajax,dwr服务推送例子

    - **Reverse Ajax**:DWR支持真正的服务器推送,即当服务器有新数据时,会主动推送到客户端,而不需要客户端发起请求。这通常是通过HTTP长连接或WebSocket实现的。 - ** Comet**:DWR也支持Comet技术,这是一种模拟...

    ajax的DWR框架入门例子

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

    java 采用dwr框架构实现ajax

    Java 使用 Direct Web Remoting (DWR) 框架实现Ajax技术是一种常见的方式,它能够为Web应用程序提供异步更新和交互性。DWR允许Java服务器端代码与JavaScript在客户端直接通信,使得Web应用可以像桌面应用一样实时...

    DWR AJAX实例

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

Global site tag (gtag.js) - Google Analytics