Lucee is a light-weight dynamic scripting language for the JVM that enables the rapid development of simple to highly sophisticated web applications.
Lucee is a modern dynamic scripting language for the JVM that enables the rapid development of simple to highly sophisticated web applications.
The Lucee language supports multiple development paradigms, including object orientation with inheritance and interfaces, and functional constructs like higher-order functions, closures, map()
, and reduce()
.
The Lucee application server includes built-in functionality, through tags and functions, to address many of the common requirements of web application development. These include session management, image manipulation, PDF creation, XML generation and processing, security, date manipulation, and more.
Lucee versions
Current Stable Version: 5.2.7.62 // Release Date: 4 May 2018
Previous Stable Version: 5.2.6.60 // Release Date: 15 Mar 2018
It is recommended to use the latest stable released version.
Features
Database access
Lucee has built-in support for the following databases:
- DB2
- Firebird
- H2 Database Engine in Embedded and Server Mode
- Hypersonic SQL Database
- Microsoft SQL Server
- MySQL
- JDBC-ODBC Bridge
- Sybase
- Oracle
- PostgreSQL
Lucee also supports any database for which a JDBC driver is available.
Web services
Lucee has built-in support for calling, and consuming data returned from, existing web services, along with the ability to easily configure and expose web services to be consumed. Lucee supports three types of web services:
- RESTful web services
- WDDX / Soap web services
- HTTP (Simple HTTP interface, similar to RESTful but simpler)
ORM
Lucee has built-in support for the object relational mapping (ORM) framework Hibernate, facilitating Hibernate usage from Lucee code without complex and explicit configuration.
Caching
Lucee has built-in support for multiple caching systems, including Infinispan, Ehcache, and Memcached, and can be extended with additional systems.
Cache implementations can be configured within the Lucee server, then used within an application -- both explicitly and implicitly -- for the caching of database results, function call results, external HTTP request results, serialized session storage, and as a flexible backing store for an in-process RAM-based file-system abstraction.
Virtual filesystems
Lucee supports multiple virtual file systems -- built-in abstractions of various local and remote resources -- including zip, HTTP, FTP, S3, and RAM. These allow the Lucee server and developer to treat access to an abstracted resource in the same manner as a local file system.
Sample Lucee code
Lucee is derived from the ColdFusion Markup Language (CFML) and therefore has support for both the tag-based and script-based based versions of CFML:
Tag example
<cfset myVar = "Hello World">
<cfoutput>#myVar#</cfoutput>
Script example
myVar = "Hello World";
echo(myVar);
Both the above examples will assign the string "Hello World" as the value of the variable myVar, then output that value to the response buffer, typically for display in a web browser.