Ease of Use

The main feature of DWR is its ease of use. DWR hides a lot of details from developers. This means that we can use AJAX functionality and we don't need to know about XmlHttpRequest for example, or how to send a Java object to a browser and so on. DWR has its own framework for performing the required marshaling/unmarshaling of Java objects to JavaScript and vice versa.

The setup for DWR consists of copying the dwr.jar file to the WEB-INF | lib directory in the application WAR file, and installing the application in the server before starting to use it. There are no special interfaces to implement in our own Java classes and it is even possible to develop a Java object completely transparently, so that the object doesn't know any DWR-specific classes. DWR provides well-documented APIs for us to use, and we can take advantage of it when developing, for example, Reverse AJAX applications.

And finally we can leverage the existing Java skills because DWR does not force us to replace...