The Spring framework provides a full-featured MVC module for building Web applications. With Spring's pluggable MVC architecture, you can choose whether you want to use the built-in Spring Web framework or a Web framework such as Struts. The framework is highly configurable through strategy interfaces and accommodates multiple view technologies such as JavaServer Pages (JSP) technology, Velocity, Tiles, iText, and POI. The Spring MVC framework is view agnostic, so does not push you to use only JSP technology. Spring MVC separates the roles of the controller, the model object, the dispatcher, and the handler object, which makes them easier to customize.
Spring's Web MVC framework is designed around a DispatcherServlet
that dispatches requests to handlers, with configurable handler
mappings, view resolution, locale, and theme resolution as well as
support for upload files. The default handler is a very simple
Controller interface with just one method, ModelAndView handleRequest(request, response).
Spring provides a controller hierarchy that can be subclassed. If your
application needs to process user entry forms you might subclass AbstractFormController. If you need to process
a multi-page entry into a single form you can subclass
AbstractWizardFormController.
An example application will help you learn about these features first hand. The banking application will allow users to retrieve their account information. In the process of building it, you'll learn how to configure the Spring MVC framework and implement the framework's view layer, which will consist of JavaServer Pages technology with JSTL tags for rendering the output data.