`
chenqian
  • 浏览: 79504 次
  • 性别: Icon_minigender_1
  • 来自: 湘潭
社区版块
存档分类
最新评论

DWR Reverse Ajax

阅读更多
后台java

import java.util.Collection;
import org.directwebremoting.ScriptBuffer;
import org.directwebremoting.ScriptSession;
import org.directwebremoting.ServerContext;
import org.directwebremoting.ServerContextFactory;
import org.directwebremoting.WebContext;
import org.directwebremoting.WebContextFactory;
public void newMessage(String message) {
                WebContext wctx = WebContextFactory.get();
                ScriptBuffer script = new ScriptBuffer();
                script.appendScript("receiveMessages(").appendData(message).appendScript(");");
                ServerContext sctx = ServerContextFactory.get(wctx.getServletContext());
                Collection pages = sctx.getScriptSessionsByPage("/YGO/room.jsp");
                for (Object session : pages) {
                        ((ScriptSession)session).addScript(script);
                }
        }


web.xml

<servlet>
   <servlet-name>dwr-invoker</servlet-name>
   <servlet-class>
      org.directwebremoting.servlet.DwrServlet
   </servlet-class>
   <init-param>
      <param-name>activeReverseAjaxEnabled</param-name>
      <param-value>true</param-value>
   </init-param>
   <!--
   <init-param>
      <param-name>initApplicationScopeCreatorsAtStartup</param-name>
      <param-value>true</param-value>
   </init-param>
   <load-on-startup>1</load-on-startup>
   -->
</servlet>

第一个 servlet init-param,activeReverseAjaxEnabled 将激活轮询和 Comet 功能。(省略:第二个 initApplicationScopeCreatorsAtStartup 通知 DWR 在应用程序启动时初始化 ReverseAjaxTracker。这将在对 bean 生成第一个请求时改写延迟初始化(lazy initialization)的常规行为 —— 在本例中这是必须的,因为客户机不会主动对 ReverseAjaxTracker 调用方法。)

最后,我需要实现调用自 DWR 的客户端 JavaScript 函数。将向回调函数 —— updateCoordinate() —— 传递 GpsCoord Java bean 的 JSON 表示,由 DWR 的 BeanConverter 自动序列化。该函数将从坐标中提取 longitude 和 latitude 字段,并通过调用 Document Object Model (DOM) 将它们附加到列表中。清单 13 展示了这一过程,以及页面的 onload 函数。onload 包含对 dwr.engine.setActiveReverseAjax(true) 的调用,将通知 DWR 打开与服务器的持久连接并等待回调。


前台jsp

window.onload = function() {
  dwr.engine.setActiveReverseAjax(true);
}

function receiveMessages(message) {
  document.getElementById('chatcontent').innerHTML = document.getElementById('chatcontent').innerHTML + message + "<br/>";
}


分享到:
评论

相关推荐

    即时通讯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

    DWR REVERSEAJAX DEMO

    Server Side Reverse Ajax Clock

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

    DWR让Ajax如此简单

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

    DWR的推技术

    在DWR 2.x版本中,引入了推技术,即所谓的“Reverse Ajax”,这是一种在BS(Browser/Server)架构中,让服务器主动向客户端推送数据的技术,以实现实时或近乎实时的数据更新,而无需页面刷新。 #### 二、Reverse ...

    dwr的几个小例子,dwr的几个小例子

    DWR提供了一个内置的调试工具——DWR Reverse Ajax Console,它可以帮助开发者查看和测试远程调用,便于调试和问题定位。 通过以上知识点,我们可以了解到DWR如何在Web应用程序中实现前后端的无缝交互。不过,实际...

    使用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类和方法可以被...

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

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

    dwr2 资料

    DWR提供了丰富的开发工具,如DWR Reverse Ajax Console,用于测试和调试DWR应用程序,还有DWR Generator,用于自动生成JavaScript接口代码。 10. **可扩展性**: DWR 2设计为高度可扩展,允许开发者通过插件或...

    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...

Global site tag (gtag.js) - Google Analytics