We have seen rapid development of Java itself these days. The
introduction of functional programming elements made Java coding
experience quite sharper.

However, the Java web ecosystem is still with its early days . The
Servlet API is dated, heavy and verbose. Even with Spring boot has
improved Java development, simpler abstraction like Python's WSGI is
still my preference.

So I started Espresso, a core web
abstraction and a family of micro libraries to support it. The idea of
Espresso is highly inspired by Clojure's
Ring and Rust's
Iron. And the name Espresso is
specially chosen for Java. Imaging the Java web application is a cup
of coffee, the Espresso is the soul of it.

The core of Espresso is quite simple, it's a function takes a
Request object and returns a Response object. There is also an
asynchronous variant.