Lava: A JVM-Based Framework for Rapid Web Application Development

Document Type


Lead Author Type

CIS Masters Student


Dr. Robert Adams, adams@cis.gvsu.edu

Embargo Period



As the Web has become increasingly interactive, web development languages and frameworks have become indispensable tools for creating Web content. Unfortunately, many of these tools suffer from a steep learning curve, large system footprint, or verbose syntax. Lava aims to overcome these challenges by providing a simple yet robust framework for creating web applications.

Lava consists of two main components: a server, and a set of application base classes. The server dynamically generates and caches application content from the source files. The base classes exist to provide functionality to application objects. The entire project is written in Groovy, a dynamic language that runs on the Java Virtual Machine.

Lava's primary focus is simplicity. Lava applications are composed of plain Groovy objects that inherit from one of Lava's base document classes. The base classes provide functionality that allows the application objects to include files, remote URLs, or other Lava objects through the use of tags in their markup. The combination of Groovy's compact syntax and Lava's built-in capabilities will allow a web developer to write compact, modular, reusable code.

This document is currently not available here.