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,包括创建DWR的配置文件dwr.xml,设置允许访问的Java方法。然后在客户端,使用JavaScript的DWR API创建连接并注册回调函数,以接收服务器推送的数据。在服务器...
在DWR 2.0版本中,引入了Reverse Ajax的概念,这是一种服务器主动向客户端推送数据的技术,这对于构建实时的Web应用程序,比如Web IM(即时通讯)应用,非常关键。 在这个例子中,我们将探讨如何利用DWR 2.0实现一...
在这个“dwr3ReverseAjax示例”中,我们将深入探讨如何利用DWR 3.x版本来构建一个基于Ajax的简单Web聊天应用。 首先,DWR的核心功能是通过HTTP协议实现在客户端JavaScript和服务器端Java之间的远程方法调用(Remote...
DWR是基于AJAX技术的,但其提供了更高级的功能,如Reverse Ajax和自动类型转换,使得开发者可以更专注于业务逻辑,而无需过多关注底层通信细节。AJAX主要负责局部页面更新,而DWR则扩展了这一概念,使得服务器可以...
dwr reverseajax clockms
dwr reverseajax ClockLogging
**DWR(Direct Web Remoting)**是一种Java技术,它允许Web应用程序在客户端与服务器之间进行实时通信,而无需刷新整个页面。通过DWR,我们可以使用JavaScript直接调用服务器端的Java方法,实现Ajax(Asynchronous ...
DWR提供了三种反向Ajax技术,分别是轮询、Comet和PiggyBack。 1. **轮询(Polling)**: 轮询是最基础的反向Ajax技术。客户端每隔一定时间(例如几秒或几十秒)就向服务器发送一个请求,询问是否有新数据。如果有...
Server Side Reverse Ajax Clock
反向AJAX是相对于传统AJAX(用户发起请求,服务器响应)的一种技术,其中服务器主动推送数据到客户端,而无需用户触发。这种技术在实时应用中非常有用,例如在线聊天、股票报价、即时通知等,用户可以实时看到服务器...
Java 使用 Direct Web Remoting (DWR) 框架实现Ajax技术是一种常见的方式,它能够为Web应用程序提供异步更新和交互性。DWR允许Java服务器端代码与JavaScript在客户端直接通信,使得Web应用可以像桌面应用一样实时...
### DWR实现Ajax的配置过程 #### 一、概述 Direct Web Remoting (DWR) 是一种简化Ajax应用开发的框架。它允许JavaScript代码直接调用服务器端的Java方法,并处理返回的结果。本文将详细介绍如何在Struts2项目中...
**DWR配置文件详解** Direct Web Remoting (DWR) 是一种开源的Java库,它允许Web应用程序在客户端JavaScript和服务器端Java之间进行双向通信。DWR的核心配置文件是`dwr.xml`,该文件定义了DWR允许访问的Java对象、...
标签包括“dwr”、“ajax”和“JavaScript”,这表明内容主要涉及这三个技术领域。DWR是基于JavaScript的,它扩展了Ajax的功能,提供了更便捷的远程调用Java对象的方式。Ajax则依赖于JavaScript来实现客户端的动态...
**DWR (Direct Web Remoting) 是一个开源的Java库,它允许JavaScript在客户端与服务器端之间进行直接的异步通信,从而实现AJAX(Asynchronous JavaScript and XML)应用程序的功能。DWR使得开发者无需手动编写复杂的...
DWR(Direct Web Remoting)是一种JavaScript库,它允许Web应用程序实现服务器端与客户端之间的实时、双向通信,无需使用复杂的Ajax技术。DWR使得开发者能够像调用本地JavaScript函数一样轻松地调用服务器上的Java...
dwr配置文件详解 dwr.xml配置文件详解 dwr配置文件是Direct Web Remoting(DWR)的核心组件之一,它负责配置DWR的各种设置和参数。在本文中,我们将详细介绍dwr配置文件的结构和配置方法,并探讨它在实际应用中的...
- **Reverse Ajax**:DWR的特色功能,使得服务器可以直接调用客户端的JavaScript函数。 3. **DWR的使用步骤** - **配置DWR**:在web.xml中配置DWRServlet,以及在dwr.xml中定义允许的远程Java类和方法。 - **...