Java Web MVC Framework Fork me on GitHub
About Documentation Downloads Javadocs Source FAQ Feedback

Frequently Asked Questions

Why another Java web framework?

There are plenty of established Java web frameworks, such as Struts, Spring Web MVC, and more recent JAX-RS implementations, such as Jersey and RESTEasy. It is therefore very valid to question the introduction of yet another web framework for Java. Mojave was created to meet several needs. The first was the need for a framework that leads to code free of boilerplate that is very easy to test. The second was the need for a framework supporting full Dependency Injection with an alternative IoC container. Spring is a great framework, but if you didn't want to use the Spring IoC container, there were not many choices of frameworks supporting both an alternative IoC container, such as Guice, and the MVC paradigm. Finally, Mojave attempts to be flexible in terms of the scenarios in which it can be used. For instance, it can be used to render JSPs, or to provide a RESTful service, where the content produced is not necessarily meant to be rendered in a browser.

What problems does Mojave solve?

  1. Improves on the current state of Dependency Injection in an MVC or RESTful web application
    • provides a viable alternative to Spring Web MVC
    • provides a simpler, cleaner way to integrate Google Guice into a web setting

  2. Adds interceptor support to the MVC and RESTful web application landscape

  3. Provides painless MVC templates by supporting JSP, FreeMarker, Velocity, and Mustache (in progress)

  4. Adds server-side asynchronous HTTP capabilities to the MVC web application landscape through integration with the Atmosphere framework (in progress)

  5. Provides a "one-stop shop" for various web application scenarios, from MVC with templates to URI-bound RESTful web services, to server push

If you have other questions, please post them to our Google Groups discussion group. We'd really like to hear from you!