Jump to content

Spring Web Flow

From Wikipedia, the free encyclopedia
Spring Web Flow
Stable release
2.5.1 / September 12, 2018 (2018-09-12)
Written inJava
Operating systemCross-platform
PlatformJava Virtual Machine
TypeWeb application framework
LicenseApache License 2.0

Spring Web Flow (SWF) is the sub-project of the Spring Framework that focuses on providing the infrastructure for building and running rich web applications. The project tries to solve 3 core problems facing web application developers:

  • How do you express page navigation rules?
  • How do you manage navigation and conversational state?
  • How do you facilitate modularization and reuse?

In Spring Web Flow, a web flow answers all of the above questions: it captures navigational rules allowing the Spring Web Flow execution engine to manage a conversation and the associated state. At the same time, a web flow is a reusable web application module.

Since version 2.0, Spring Web Flow also introduces other additional features supporting the construction of rich web applications, such as AJAX support and tight integration with JavaServer Faces.



The Spring Web Flow project started as a simple extension to the Spring Web MVC framework providing web flow functionality, developed by Erwin Vervaet in 2004. In 2005 the project was introduced into the Spring portfolio by Keith Donald and grew into the official Spring sub-project it is now. The first production ready 1.0 release was made on 2006-10-26. Version 2.0, first released on 2008-04-29, saw a major internal reorganization of the framework to allow better integration with JavaServer Faces.


  • Erwin Vervaet: The Definitive Guide to Spring Web Flow, Apress, ISBN 1-4302-1624-7
  • Marten Deinum and Koen Serneels: Pro Spring MVC: With Web Flow, Apress, ISBN 978-1-4302-4155-3