[[webflux]]
:chapter: webflux
[[spring-webflux]]
= Spring WebFlux
:page-section-summary-toc: 1

The original web framework included in the Spring Framework, Spring Web MVC, was
purpose-built for the Servlet API and Servlet containers. The reactive-stack web framework,
Spring WebFlux, was added later in version 5.0. It is fully non-blocking, supports
https://www.reactive-streams.org/[Reactive Streams] back pressure, and runs on such servers as
Netty, Undertow, and Servlet containers.

Both web frameworks mirror the names of their source modules
({spring-framework-main-code}/spring-webmvc[spring-webmvc] and
{spring-framework-main-code}/spring-webflux[spring-webflux]) and co-exist side by side in the
Spring Framework. Each module is optional. Applications can use one or the other module or,
in some cases, both -- for example, Spring MVC controllers with the reactive `WebClient`.




