jWebApp is a J2EE Servlet-based Model-View-Controller framework that allows you to use anything you like for the Model and View -- there are no constraints. jWebApp is simple and straight forward and doesn't try to be all things. In fact, jWebApp is specifically designed to satisfy the need for simpler J2EE web development.
Most frameworks implement Model and/or View level APIs and tag libraries, usually for the purpose of using automatic features like object loading and validation. Many frameworks also use tag libraries to wrap common functionality such as HTML and HTML forms. Not only does this tie the framework to the technology, it forces you to use that technology. And when newer and better alternatives come along you can't use them, or at the very least, you can't use them and have the same functionality available.
jWebApp provides support for all of the features you expect from a J2EE framework as well, but does not need tag libraries or extensive APIs to implement them. This allows jWebApp to actually attain the separation of concerns and allows independence in model and view technologies. You can use any model/business layer technologies, any database-access technologies, any web-authoring technologies, and plain old HTML and HTML forms (or what ever you like).
With jWebApp, you have two modes of use that can be used interchangeably. The first mode is a configuration free mode where you simply drive the web application with URIs. jWebApp automatically finds the Java objects required to satisfy a request. For example with the following URL:
jWebApp would, by default, find a class named webapp.HelloWorld.class. jWebApp will automatically load the class and call the appropriate methods. The URI can be anything as long as all or part of it identifies a locatable class. All of jWebApps functionality is available in code and the methods only need to return a forwarding URI, which can be another request handler or a final destination such as Velocity page.@ jWebApp is a J2EE Servlet-based Model-View-Controller framework.
What's New in This Release: [ read full changelog ]
· A new License class that provides for a secure encrypted permanent and/or timed license key (similar to T8407CE37027C171014BC5A27B4) that contains user-defined information and optionally contains an expiration date.
· Additional logging and fixes for some minor bugs.
· The InitDestroy handler has a simple change and will need to be updated in code.