Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage News DWR 2.0 Adds Reverse Ajax, Script Scope, and Annotation Support

DWR 2.0 Adds Reverse Ajax, Script Scope, and Annotation Support

The DWR team has released version 2.0. DWR allows Javascript in a browser to interact with Java on a server. Version 2.0 adds a number of interesting features. Among the highlights from the press release:

Javascript Proxy API

DWR can dynamically generate JavaScript from a Java API. This is done at runtime rather than compile time, so we can use it to remote control many browsers. This makes it very easy to write things like chat applications, or anything particularly dynamic.

Reverse Ajax

DWR supports 3 ways to asynchronously transfer messages from the server to the browser: Comet (long-lived HTTP connections), Polling and Piggyback. Of these Comet and Polling are active (fast but require extra network traffic) and Piggyback is passive (slower but doesn't need extra network traffic). DWR automatically selects the best method transparently to the programmer.

Script Scope

With normal servlets there are 4 scopes; application, session, page and request. DWR2 introduces a new scope: 'script'. Script scope applies to a single web page (rather than a whole browser), however long the page lives.


If you are using Java 5 then you can make use of the new DWR annotations. New annotations include @RemoteProxy, @DataTransferObject, @RemoteMethod and @RemoteProperty.

DWR 2 also includes security features to provide automatic protection against CSRF attacks for many configurations and defaults to a mode where XSS attacks are reduced.

Rate this Article