The Genie Framework

A Java framework for JSP based web applications


Project hosted by Logo

What's this?

Genie is a Java framework for JSP based web applications. It supports and encourages a clean code design based on the model-view-controller pattern while providing all necessary flexibility. Genie was initially developed and geared for rapid development of a web interface for a database application, but it can be used for any type of web application.

Genie is similar in architecture as Struts, an open source web application framework that is part of the Jakarta project of the Apache Software Foundation. While being somewhat less featured, it's fair to say Genie is a bit more lightweight, more flexible and more geared towards rapid application development.

Genie is open source. Subject to the license terms of the BSD license, it can be used freely in non-commercial and commercial projects.


2003-03-22 – Version 1.0 released

Version 1.0 of the Genie Framework is the first version released as open source. Despite this low version number, the framework has been used successfully in a production environment for about 1½ years. It can be considered to be of production quality and stable. (Nonetheless, the usual disclaimers of course apply; see LICENSE.txt.)

2003-03-05 – Genie becomes Open Source

After finally all license and copyright issues have been settled, the Genie Framework is now officially released as an Open Source project at The software is released under the terms of a BSD license. The copyright owner is GPC Biotech AG and others, which reflects the fact that Genie was first developed (and used) at GPC Biotech AG, but is now carried on by its developers independently and might also receive contributions from people that are not affiliated with GPC Biotech AG.


Currently the documentation for the Genie Framework is in the form of a JavaDoc generated API documentation only. However, this API documentation is enhanced with a comprehensive overview and several detailed package descriptions that go beyond a mere API reference.

If you are missing information on specific features or if you feel that something should be documented in more detail, please post a support request at This will help much in improving the documentation.

Library Dependencies

Genie depends on the following third-party libraries:

The Jakarta libraries are included in the distribution packages of the Genie framework. The com.oreilly.servlet library is not included, because its license terms do not permit this. You can download it from; please take note of the license terms.

At runtime, the com.oreilly.servlet library is only required for applications that make use of HTML file uploads, or more precisely, of HTML forms with multipart/form-data encoding. There are plans to replace the com.oreilly.servlet library with the FileUpload package from the Jakarta Commons project. Currently this package is in beta state.


A full distribution containing source code, JAR archives and API documentation is available from

Version 1.0 is the only version currently available.

Feedback & Support

A great place to provide feedback or suggestions or to ask for help are the Forums provided by If you prefer you can also create a support request directly in the support tracker of the project.

If you want to get notified of new releases, you can subscribe to the Announcement mailing list

These and other services and more information are available on the project summary page at