So with knowledge of these basic building blocks in place, the challenge of implementing
a flow definition becomes:
1.defining the states of the flow2.defining the possible transitions between states and the event-driven criteria for those
state transitions.Your First Flow
In this section you will implement the example Purchase Product use case using Spring Web
Flow. Chapter 12 will cover many of the decisions that the author has made and reevaluate
some of those decisions regarding how this example works within Spring MVC. This section
will not cover Spring MVC itself, as that is sufficiently covered elsewhere in this book. For now,
let’s assume you have a working Spring MVC project that can be built and deployed onto a
servlet container.
Installing Spring Web Flow
Instructions for downloading and installing Spring Web Flow can be found at http://
opensource2.atlassian.com/confluence/spring/display/WEBFLOW/Home.
Proposed Flow Directory Structure
From our experience it is best to partition your Spring Web Flow configuration information
into file fragments that are responsible for their own concerns. Figure 11-5 is an example of a
prudent directory structure for managing Spring Web Flow configuration artifacts.
Figure 11-5.Suggested directory layout
......your-domain-servlet.xml flows.xmlStandard Spring
MVC-servlet.xmlInfrastructure common
across *all* Spring Web
Flows
WEB-INFa-flow.xmlDefinition of first
web flow
x-flow.xmlDefinition of xth
web flowa-context.xmlBean Factory for
first web flow
x-context.xmlBeanFactory for
xth web flowWEB-INF/flows
......CHAPTER 11 ■INTRODUCTION TO SPRING WEB FLOW 319