NanoHttpd is a lightweight HTTP server designed for embedding in other applications. It's only one Java file, in two "flavors", one strictly Java 1.1 compatible, and one at "current" standards. It supports GET, POST, PUT, HEAD and DELETE requests, and supports file uploading with very small memory overhead. Temp file usage and the threading model are easily customized.
RestyGWT is a GWT generator for REST services and JSON encoded data transfer objects. RestyGWT Rest Services allow you to define an asynchronous service API which is then implemented via GWT deferred binding by RestyGWT. It features generation of asynchronous RESTful JSON based service proxies, encoding and decoding of Java objects to JSON, and an easy-to-use REST API.