Servlet::RequestDispatcher - request dispatcher interface

- NAME
- SYNOPSIS
- DESCRIPTION
- METHODS
- SEE ALSO
- AUTHOR

# NAME

Servlet::RequestDispatcher - request dispatcher interface

# SYNOPSIS

      $dispatcher->forward($request, $response);

      $dispatcher->include($request, $response);

# DESCRIPTION

A request dispatcher receives requests from the client and sends them to any resource (such as a servlet or HTML file) on the server. The servlet container creates the Servlet::RequestDispatcher object, which is used as a wrapper around a server resource located at a given path or by a particular name.

This interface is intended to wrap servlets, but a servlet container can create dispatcher objects to wrap any type of resource.

# METHODS

forward($request, $response)
  Forwards a request from a servlet to another resource on the server. This method allows one servlet to do preliminary processing of a request and another resource to generate the response.

  For an object obtained via `getRequestDispatcher()`, the Servlet::ServletRequest object has its path elements and parameters adjusted to match the path of the target resource.

  This method should be called before the response has been committed to the client (before response body output has been flushed). If the response already has been committed, this method throws a Servlet::Util::IllegalStateException. Uncommitted output in the response buffer is automatically cleared before the forward.

  Parameters:

  $request
    the Servlet::ServletRequest object that contains the client's request

  $response
    the Servlet::ServletResponse object that contains the servlet's response

  Throws:

  Servlet::ServletException
    if the target resource throws this exception

  Servlet::Util::IllegalStateException
    if the response has already been committed

include($request, $response)
  Includes the content of a resource in the response. In essence, this method enables programmatic server-side includes.

  The Servlet::ServletResponse object's path elements and parameters remain unchanged from the caller's. The included servlet cannot change the response status code or set headers; any attempt to make a change is ignored.

  Parameters:

  $request
    the Servlet::ServletRequest object that contains the client's request

  $response
    the Servlet::ServletResponse object that contains the servlet's response

  Throws:

  Servlet::ServletException
    if the target resource throws this exception

# SEE ALSO

the Servlet::ServletException manpage, the Servlet::ServletRequest manpage, the Servlet::ServletResponse manpage, the Servlet::Util::Exception manpage

# AUTHOR

Brian Moseley, bcm@maz.org