The Spring framework is a MVC Architecture for building Web applications. Spring's pluggable MVC architecture, provides option whether you want to use the built-in Spring Web framework or a Web framework such as Struts, Saveria etc. The framework is configurable using strategy interfaces and accommodates multiple view technologies such as JSP technology, Velocity, Tiles etc Spring MVC separates the roles of the controller, the model object, the dispatcher, and the handler object, which makes them easier to customize.

This MVC framework is designed around a DispatcherServlet that dispatches requests to handlers, with configurable handler mappings, view resolution like features. The default handler is a very simple Controller interface with method, ModelAndView handleRequest(request, response). Spring provides a controller hierarchy that can be sub classed. For Example if some application needs to process user entry forms you can inherit AbstractFormController or if Application needs to process a multi-page entry into a single form you can inherit AbstractWizardFormController class of framework.