Chapter 1: Configuring a Spring Development Environment
Integrated Development Environment
A Bookstore Sample Application
Building the Sample Application
Deploying the Sample Application
Configuring STS for Gradle projects
Running the Application on the SpringSource vFabric tc Server
Chapter 2: Spring Framework Fundamentals
Chapter 3: Web Application Architecture
Chapter 4: Spring MVC Architecture
DispatcherServlet Request Processing Workflow
The Request Processing Summary
Bootstrapping the DispatcherServlet
Configuring the DispatcherServlet
Chapter 5: Implementing Controllers
Supported Method Argument Types
Supported Method Argument Annotations
Supported Method Return Values
Writing Annotation-based Controllers
Chapter 6: Implementing Controllers — Advanced
SimpleMappingExceptionResolver
Extending RequestMappingHandlerMapping
Extending the RequestMappingHandlerAdapter
Using the RequestDataValueProcessor
Representational State Transfer (REST)
Asynchronous JavaScript and XML (AJAX)
Adding AJAX to Our Application
Request Handling Method for File Upload
Chapter 8: Resolving and Implementing Views
ContentNegotiatingViewResolver
Implementing Your Own ViewResolver
Chapter 9: Testing Spring MVC Applications
Why Should I Bother Writing Tests?
Promoting Testing Within Your Project
Setting Up Our Integration Test
Front-End Testing Using Selenium
Running the Front-End Tests via Gradle
The Basic Ingredients of a Flow
Gluing Spring MVC and Spring Web Flow
Implementing the Create Order Flow
Chapter 11: Building Applications with Spring Web Flow
Selecting Books and Delivery Options
Form Validation Using JSR 303 Annotations
Setting Variables and Accessing Scopes
Accessing Scoped Variables from Views
Programmatically Accessing Scopes
Controlling Action Execution: Sub-elements
Further Enhancing the Bookstore
Implementing Authentication as a Subflow
Creating the Order Process as a Subflow
Chapter 12: Advanced Spring Web Flow
Web Flow Configuration Customizations
Execution and Conversation Snapshots
Changing the Expression Parser
Adding AJAX to the View with Spring JS and JQuery
Writing Flow Execution Listeners
Flow Execution Listener Methods
Flow Managed Persistence Context
Prolonging the Persistence Context
Applying Flow Managed Persistence Context
Preparing the Example Application
Defining Which Resources to Secure
Configuring Access to Resources
The Complete Security Configuration
Securing Our Flows, the Right Way
Adding Access Attributes to Your Flows
Configuring the SecurityFlowExecutionListener
Using Tag Libraries in Our Pages
Appendix A: Cloud Foundry: Deploying to the Cloud