`
phyeas
  • 浏览: 164308 次
  • 性别: Icon_minigender_1
  • 来自: 珠海
社区版块
存档分类
最新评论

DWR的三种Reverse Ajax Mode配置详解

阅读更多
Dwr的Reverse Ajax可分为两中基本的mode.一种是Active,另一种是Passive,在Active中又分为三种.
  • Full Streaming Mode
  • Early Closing Mode
  • Polling Mode
  • 在DWR应用中.默认启用的是Full Streaming Mode .它是三种modes中最快的一种.它每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>
    然后在要使用Reverse Ajax的页面使用
    dwr.engine.setActiveReverseAjax(true);
    即可...在2.0.4以后的版本中还要加入
    <init-param>
      
    <param-name>maxWaitAfterWrite</param-name>
      
    <param-value>-1</param-value>
    </init-param>
    因为在2.0.4版本中默认是使用Early Closing Mode

    Early Closing Mode:
    在2.0.4以后的版本中不需要添加配置..而2.0.3以前的版本需要、添加
    <init-param>
      
    <param-name>maxWaitAfterWrite</param-name>
      
    <param-value>500</param-value>
    </init-param>

    If it is deemed unwise to hold connections open at all then DWR can use polling mode

     

    <init-param>
      
    <param-name>org.directwebremoting.extend.ServerLoadMonitor</param-name>
      
    <param-value>org.directwebremoting.impl.PollingServerLoadMonitor</param-value>
    </init-param>


    In polling mode the default poll rate is every 5 seconds. This can be customized using the following:

    <init-param>
      
    <param-name>disconnectedTime</param-name>
      
    <param-value>60000</param-value>
    </init-param>

    The example above will poll only once every 60 seconds (60,000 milliseconds). For many applications a response time of 60 seconds will be enough, and will allow a web server to handle a very large number of clients.

    测试环境:IE8.0,Firefox 2.0,Windows xp sp2,Tomcat 6.0,MsSQL Server 2000
    使用技术:Spring,Hibernate.Ext.DWR
    用第一种配置的时候IE运行不了.报异常 "要完成操作的数据尚未准备好",Firefox可以.
    第二种配置在maxWaitForWrite少于200的情况下IE运行正常,Firefox运行正常.
    第三种配置只能打开一个连接.再想打开第二个则会报   java.lang.IllegaStateException:Cannot create a session after response has been commited
    很是郁闷...若将maxWaitForWrite设置为100.则两个浏览器均没问题..但是浏览器久无刷新动作就无法从服务器调用客户端
    这篇文章望抛砖引玉..各位讲下你们是如何配置的

     

    参考资料:http://getahead.org/dwr/reverse-ajax/configuration

    分享到:
    评论

    相关推荐

      即时通讯DWR Reverse Ajax

      使用DWR实现Reverse Ajax,首先需要在服务器端配置DWR,包括创建DWR的配置文件dwr.xml,设置允许访问的Java方法。然后在客户端,使用JavaScript的DWR API创建连接并注册回调函数,以接收服务器推送的数据。在服务器...

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

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

      dwr3ReverseAjax示例

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

      Dwr 官方Reverse Ajax Demo

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

      dwr reverseajax clockms

      dwr reverseajax clockms

      dwr reverseajax ClockLogging

      dwr reverseajax ClockLogging

      dwr实现ajax功能ajax+dwr

      **DWR(Direct Web Remoting)**是一种Java技术,它允许Web应用程序在客户端与服务器之间进行实时通信,而无需刷新整个页面。通过DWR,我们可以使用JavaScript直接调用服务器端的Java方法,实现Ajax(Asynchronous ...

      dwr反向Ajax的三种情况

      DWR提供了三种反向Ajax技术,分别是轮询、Comet和PiggyBack。 1. **轮询(Polling)**: 轮询是最基础的反向Ajax技术。客户端每隔一定时间(例如几秒或几十秒)就向服务器发送一个请求,询问是否有新数据。如果有...

      DWR REVERSEAJAX DEMO

      Server Side Reverse Ajax Clock

      dwr的例子 反向AJAX 实现时时提醒

      反向AJAX是相对于传统AJAX(用户发起请求,服务器响应)的一种技术,其中服务器主动推送数据到客户端,而无需用户触发。这种技术在实时应用中非常有用,例如在线聊天、股票报价、即时通知等,用户可以实时看到服务器...

      java 采用dwr框架构实现ajax

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

      DWR实现Ajax的配置过程

      ### DWR实现Ajax的配置过程 #### 一、概述 Direct Web Remoting (DWR) 是一种简化Ajax应用开发的框架。它允许JavaScript代码直接调用服务器端的Java方法,并处理返回的结果。本文将详细介绍如何在Struts2项目中...

      DWR配置文件详解,DWR配置

      **DWR配置文件详解** Direct Web Remoting (DWR) 是一种开源的Java库,它允许Web应用程序在客户端JavaScript和服务器端Java之间进行双向通信。DWR的核心配置文件是`dwr.xml`,该文件定义了DWR允许访问的Java对象、...

      dwr和ajax技术

      标签包括“dwr”、“ajax”和“JavaScript”,这表明内容主要涉及这三个技术领域。DWR是基于JavaScript的,它扩展了Ajax的功能,提供了更便捷的远程调用Java对象的方式。Ajax则依赖于JavaScript来实现客户端的动态...

      DWRtree DWR实现AJAX的一个树形

      **DWR (Direct Web Remoting) 是一个开源的Java库,它允许JavaScript在客户端与服务器端之间进行直接的异步通信,从而实现AJAX(Asynchronous JavaScript and XML)应用程序的功能。DWR使得开发者无需手动编写复杂的...

      DWR让Ajax如此简单

      DWR(Direct Web Remoting)是一种JavaScript库,它允许Web应用程序实现服务器端与客户端之间的实时、双向通信,无需使用复杂的Ajax技术。DWR使得开发者能够像调用本地JavaScript函数一样轻松地调用服务器上的Java...

      dwr配置文件详解 dwr.xml配置文件详解

      dwr配置文件详解 dwr.xml配置文件详解 dwr配置文件是Direct Web Remoting(DWR)的核心组件之一,它负责配置DWR的各种设置和参数。在本文中,我们将详细介绍dwr配置文件的结构和配置方法,并探讨它在实际应用中的...

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

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

    Global site tag (gtag.js) - Google Analytics