## Package org.springframework.web.servlet.mvc

Standard controller implementations for the servlet MVC framework that comes with Spring.

See:
Description

Interface Summary
Controller: Base Controller interface, representing a component that receives `HttpServletRequest` and `HttpServletResponse` instances just like a `HttpServlet` but is able to participate in an MVC workflow.
LastModified: Supports last-modified HTTP requests to facilitate content caching.

Class Summary
AbstractCommandController: Abstract base class for custom command controllers.
AbstractController: Convenient superclass for controller implementations, using the Template Method design pattern.
AbstractFormController: Form controller that auto-populates a form bean from the request.
AbstractUrlViewController: Abstract base class for `Controllers` that return a view name based on the request URL.
AbstractWizardFormController: Form controller for typical wizard-style workflows.
BaseCommandController: Controller implementation which creates an object (the command object) on receipt of a request and attempts to populate this object with request parameters.
CancellableFormController: Extension of `SimpleFormController` that supports "cancellation" of form processing.
HttpRequestHandlerAdapter: Adapter to use the plain `HttpRequestHandler` interface with the generic `DispatcherServlet`.
ParameterizableViewController: Trivial controller that always returns a named view.
ServletForwardingController: Spring Controller implementation that forwards to a named servlet, i.e. the "servlet-name" in web.xml rather than a URL path mapping.
ServletWrappingController: Spring Controller implementation that wraps a servlet instance which it manages internally.
SimpleControllerHandlerAdapter: Adapter to use the plain `Controller` workflow interface with the generic `DispatcherServlet`.
SimpleFormController: Concrete FormController implementation that provides configurable form and success views, and an onSubmit chain for convenient overriding.
UrlFilenameViewController: Simple `Controller` implementation that transforms the virtual path of a URL into a view name and returns that view.
WebContentInterceptor: Interceptor that checks and prepares request and response.

## Package org.springframework.web.servlet.mvc Description

Standard controller implementations for the servlet MVC framework that comes with Spring. Provides both abstract base classes and concrete implementations for often seen use cases.

A `Controller` - as defined in this package - is analogous to a Struts `Action`. Usually `Controllers` are JavaBeans to allow easy configuration using the `org.springframework.beans` package. Controllers define the `C` from so-called MVC paradigm and can be used in conjunction with the `ModelAndView` to achieve interactive applications. The view might be represented by a HTML interface, but, because of model and the controller being completely independent of the view, PDF views are possible, as well as for instance Excel views.

How to actually set up a (web)application using the MVC framework Spring provides is explained in more detail in the MVC-Step-by-Step tutorial, also provided in this package (or have a look here for an online version). The classes contained by this package explain in more detail the actual workflow of some of the abstract and concrete controller and how to extend and fully use their functionality.

Especially useful to read, while getting into the Spring MVC framework are the following:

- Controller
- BaseCommandController
- ParameterizableViewController

Copyright © 2002-2008 The Spring Framework.