In general, Spring doesn't try to lock you in to one specific solution. For example, there are integration facilities for several data access technologies; Spring can expose your business objects via Hessian, Burlap, and HttpInvokers but also with RMI and JAX-RPC. The same holds for web application frameworks. Spring aims to give you freedom to choose the technology you think is best for your requirements.
This chapter focuses on ways to integrate with existing applications and with popular Web MVC frameworks. You will learn how to integrate with front-ends based on Struts, WebWork, Tapestry, and JSF (JavaServer Faces), four of the most popular incarnations of the MVC pattern applied to web applications.
We'll start with a brief conceptual introduction to these four frameworks. We'll suggest guidelines to help you choose between the solutions available (including Spring MVC). Next, we'll explore techniques to integrate web applications with a Spring middle tier. We'll conclude by giving examples of how to integrate each of the four frameworks into a Spring application.