For Java web development, it is worth re-considering Spring Boot though * (http://projects.spring.io/spring-boot/)
Spring MVC and Data (et al) powered entirely by annotations, and (e.g.) Thymeleaf for templating, can lead to some fairly powerful yet concise apps.
We just started using this where I work, and it's a great step forward compared to old style, XML driven Spring MVC and Hibernate.
Also Spring Boot does bring quite a lot of support for REST, via RestTemplate/RestOperations, along with support for consuming and producing JSON and/or XML at the controller levels.
* Edit: I say re-considering since the article only briefly mentions it.