第一步:最基本也是最重要的,要记得配置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 reverseajax clockms
dwr reverseajax ClockLogging
Server Side Reverse Ajax Clock
实现一个简单的Web版的聊天功能,Java使用开源框架最新版本的dwr3,包括相应的JSP页面的实现。
dwr实现ajax功能ajax+dwr.........................
dwr反向Ajax的三种情况dwr反向Ajax的三种情况
两个例子reverse ajax的实现 博文链接:https://yaojialing.iteye.com/blog/716094
dwr反向ajax使用,即时提醒。WEB网页实现右下角时时弹出提醒DIV
DWR实现AJAX验证实例,通过输入的数查询数据库字段是否存在。在前台显示。eclips实现。
dwr的使用和ajax的使用demo
在做公司OA时遇到了服务器向客户端发信息的屏障,后来百度搜了下,发现了DWR反转可以实现。这是自己做的一个小东西,大家可以下载看看!共同学习!呵呵!
AJAX DWR教程AJAX DWR教程AJAX DWR教程AJAX DWR教程AJAX DWR教程AJAX DWR教程AJAX DWR教程AJAX DWR教程
这篇文章让读者看到了一个使用了DWR的Web应用是如何一步步建立的。我会展示创建这个简单的示例应用的必要的细节,这个应用是可下载的并且可以在你的环境中布署来看看DWR如何工作。
这两本书来的也不容易,所以想跟大家分享一下,想学着两个技术的,看完绝对不后悔。
struts2使用Dwr实现Ajax异步提交信息的使用步骤和配置详解。
这是我用dwr做的一个例子,非常好懂,就是一个文本框,旁边一个按钮,连接了mysql数据库,在文本框里输入注册名,如果数据库里面已有,就会在旁边提示出来,用的是DWR技术,DER是ajax技术里的一个框架,简单易学,只要看了我这...
服务器推--DWR中的push机制-Reverse_Ajax.docx
NULL 博文链接:https://ping2010.iteye.com/blog/1680406
使用DWR开发AJAX For J2EE