Blade is a lightweight Java MVC web framework built on an embedded Netty server. It packages the entire web application into a single executable JAR that starts the server on launch, following the MVC pattern with fast request routing and minimal configuration. The framework supports plugin-based extensibility, allowing third-party modules to add features like template rendering and static asset serving.
The framework distinguishes itself through lambda-style route registration, where routes are defined using lambda expressions that map HTTP methods and URL patterns directly to handler functions at startup. It includes a middleware pipeline architecture that executes pre-request hooks in a chain before route handlers, enabling cross-cutting concerns like logging and validation. Typed parameter extraction automatically converts path and query parameters from URLs into typed Java objects, while the plugin system loads third-party modules at runtime to extend core functionality without modifying the framework source code.
Blade handles RESTful route definition, file uploads, query parameter parsing, and JSON response serialization. It serves static assets from WebJars bundled inside the application JAR without extra configuration and renders dynamic HTML by integrating with external template engines. The framework is packaged as a standalone executable JAR that runs the embedded Netty server on launch.