DWR is a Java library that enables Java on the server and JavaScript in a browser to interact and call each other as simply as possible.
DWR: Easy Ajax for Java
DWR is an RPC library which makes it easy to call Java functions from JavaScript and to call JavaScript functions from Java (AKA Reverse Ajax).
It has a large user-base, active mailing list and has been used in many projects including the Walmart shopping site and American Airlines flight booking site.
DWR has a number of features like call batching, marshalling of virtually any data-structure between Java and JavaScript (including binary file uploading and downloading), exception handling, advanced CSRF protection and deep integration with several Java server-side technologies like Spring and Guice.
More Information:
Books: