VRaptor 4 delivers high productivity to your Java Web applications on top of CDI. VRaptor is an opensource MVC framework with a large developers and users community.
Really simple!
This is your first logic on FirstController.java:
@Controller
public class FirstController {
    @Inject private Result result;
    @Get("/home")
    public void home() {
        result.include("message", "Hello, VRaptor 4!");
    }
} And HTML file placed at WEB-INF/jsp/first/home.jsp:
<!DOCTYPE html>
<html>
    <head>
        <title>Home page</title>
    </head>
    <body>
        ${message}
    </body>
</html> It is done! Now you may just access localhost:8080/home. See more examples on our documentation.
Reasons for using VRaptor
-  High Productivity 
VRaptor4 is simple and intuitive. You will reach extreme productivity levels in Java for the web.
 -  Learning Curve 
In very short time, you will learn everything you need to know to develop web applications with VRaptor.
 -  Testability 
Write modular and loosely coupled code with VRaptor. Maintenability and testability of your application will have sensible improvement.
 -  Savings 
Save many work hours with VRaptor. Training your team and enhancing your final software quality has just become easier.
 -  SOA and Rest - Ready 
Make RESTful and service oriented applications with no complications. It's just like writing common web applications.
 -  Best development practices 
Through Dependency Injection, Inversion of Control and POJO's, your code gets simpler and testable.
 -  CDI 
Take advantage of the powerful Java EE 7 CDI (Context Dependency Injection) specification.
 -  Documentation 
You can count on a vast documentation in Portuguese and English. Plus, the discussion lists are in English.