`
luciesfly
  • 浏览: 70618 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

dwr reverse ajax

阅读更多
反转ajax是DWR2.0的一个新特性,它提供从web服务器异步发送数据到浏览器的能力。


web的目的不是服务器连接浏览器,所以及时的获取数据给浏览器可能比较复杂。DWR3支持3种方式的数据push到浏览器:piggback,polling和comet。


polling
轮询可以最直接明显的解决问题。这时浏览器发送服务器请求是有规律和间隔的,例如每3秒,看看是否有页面更新。
comet
comet允许服务器响应浏览器请求信息比较慢,并且取决于服务器的时间表。也就是长连接。
piggyback(背包)
简单的说就是服务器在下一次请求中返回数据。打个比方,a请求发送,服务器响应。过了一会服务器有新的数据,它会等待下一次b请求(可能不是a),将数据带回页面。存在问题不能及时交互。


三种方式比较:
polling实现简单,但是服务器负载会加大。
comet数据及时响应,但是会造成资源浪费。
piggyback 可以说是最好的方式,但是数据响应存在不定时性,取决客户端下次请求间隔。



在DWR中你可以根据需要选择其中的某种方式,comet和polling是比较极端的2个例子我们可以采取参数配置连接时间和轮询时间,以求解决服务器负载。



DWR中reverse ajax 分积极和消极2种。
积极方式包括comet和polling,也就是数据的及时响应。
DWR默认采用piggyback背包机制,也就是消极方式。



active分3种模式:
full streaming mode 全流模式
积极模式默认采用全流模式 ,链接只关闭1次,每60秒或检查浏览器关闭。配置文件如下:
<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>
    </servlet>
页面需要设置 dwr.engine.setActiveReverseAjax(true);
从2.0.4默认使用early closing mode
完全采用流模式2.0.4后需要这样配置
<init-param>
   <param-name>maxWaitAfterWrite</param-name>
   <param-value>-1</param-value>
</init-param>
early closing mode 早期关闭
2.0.4以后不需要配置,之前需要如下配置:
<init-param>
   <param-name>maxWaitAfterWrite</param-name>
   <param-value>500</param-value>
</init-param>

polling mode 轮询模式
设置activeReverseAjaxEnabled=true
<init-param>
   <param-name>org.directwebremoting.extend.ServerLoadMonitor</param-name>
   <param-value>org.directwebremoting.impl.PollingServerLoadMonitor</param-value>
</init-param>
轮询默认5秒下面的设置可以改变时间,单位:毫秒
<init-param>
   <param-name>disconnectedTime</param-name>
   <param-value>60000</param-value>
</init-param>
使用2.0.2之前的版本注意,官方说这儿有个bug,用timeToNextPoll替换disconnectedTime
分享到:
评论
1 楼 zz_1999 2010-09-29  
lz,你piggyback方式试过没,我试了客户端没反映。

相关推荐

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