Spring

Since its release in 2003, Spring has quickly become one of the most widely used Java frameworks, mainly because it can help you create high-performing, lightweight, and reusable code. Though it’s not precisely a web framework per se (you can use its POJO development approach to build anything you want), it has become a good option to develop web apps on top of the Java EE. 

The Spring Framework is an application framework and inversion of control container for the Java platform. The framework's core features can be used by any Java application, but there are extensions for building web applications on top of the Java EE (Enterprise Edition) platform.