enkan円環
An explicit and simple Java web framework
enkan> /start
System started.

enkan> /middleware app list
ANY   defaultCharset   (enkan.middleware.DefaultCharsetMiddleware@4929dbc3)
ANY   trace            (enkan.middleware.TraceMiddleware@1c985ffd)
ANY   session          (enkan.middleware.SessionMiddleware@32424a32)
ANY   routing          (kotowari.middleware.RoutingMiddleware@226c7147)

enkan> /reset
System reset in 847ms.

Features


Explicitness

No configuration files. No annotation scanning. No auto-wiring surprises. Add middleware with a single line of Java and read the entire request pipeline top to bottom:
app.use(new SessionMiddleware());
app.use(new RoutingMiddleware(routes));

Ease of Development

Hot reload without restarting the JVM. The REPL resets only the application layer in ~1 second, keeping database connections alive. Misconfiguration throws a clear error at startup, not a NullPointerException at request time:
enkan> /reset   # ~1 second

Ease of Operation

Inspect and modify a live application from the REPL — no redeploy needed:
enkan> /start
enkan> /middleware app list
enkan> /routes app
enkan> /reset
Startup is fast (1–2 s) because there is no classpath scanning.