Working with Spring Web Flow
Spring Web Flow facilitates us to develop a flow-based web application easily. A flow in a web application encapsulates a series of steps that guides a user through the execution of a business task, such as checking in to a hotel, applying for a job, and shopping cart checkout. Usually, a flow will have a clear start and end point. It includes multiple HTTP requests/responses, and the user must go through a set of screens in a specific order to complete the flow.
In all our previous chapters—the responsibility of defining the page (user interface) flow specifically lies on controllers—we weaved the page flows into individual controllers and views; for instance, we usually mapped a web request to a controller, and the controller was the one that decided which logical view needed to be returned as a response. This is simple to understand and sufficient for straightforward page flows, but when web applications get more and more complex in terms of...