org.eclipse.jetty.server

## Interface Handler

All Superinterfaces:
  Destroyable, LifeCycle

All Known Subinterfaces:
  Server.Graceful

All Known Implementing Classes:
  AbstractHandler, AbstractHandlerContainer, ConnectHandler, ConstraintSecurityHandler, ContextHandler, ContextHandlerCollection, DebugHandler, DefaultHandler, ErrorHandler, ErrorPageErrorHandler, GzipHandler, HandlerCollection, HandlerList, HandlerWrapper, HotSwapHandler, IPAccessHandler, MovedContextHandler, ProxyHandler, RequestLogHandler, ResourceHandler, RewriteHandler, ScopedHandler, SecurityHandler, Server, ServletContextHandler, ServletHandler, ServletHandler, SessionHandler, ShutdownHandler, StatisticsHandler, WebAppContext, WebSocketHandler

    public interface Handler
    extends LifeCycle, Destroyable

A Jetty Server Handler. A Handler instance is required by a `Server` to handle incoming HTTP requests. A Handler may:

- Completely generate the HTTP Response
- Examine/modify the request and call another Handler (see `HandlerWrapper`).
- Pass the request to one or more other Handlers (see `HandlerCollection`).

Handlers are passed the servlet API request and response object, but are not Servlets. The servlet container is implemented by handlers for context, security, session and servlet that modify the request object before passing it to the next stage of handling.

### Nested Class Summary

### Nested classes/interfaces inherited from interface org.eclipse.jetty.util.component.LifeCycle

`LifeCycle.Listener`

### Method Summary

Methods
`void` `destroy()`
`Server` `getServer()`
`void` `handle(String target, Request baseRequest, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)` Handle a request.
`void` `setServer(Server server)`

### Methods inherited from interface org.eclipse.jetty.util.component.LifeCycle

`addLifeCycleListener, isFailed, isRunning, isStarted, isStarting, isStopped, isStopping, removeLifeCycleListener, start, stop`

### Method Detail

#### handle

    void handle(String target,
              Request baseRequest,
              javax.servlet.http.HttpServletRequest request,
              javax.servlet.http.HttpServletResponse response)
                throws IOException,
                       javax.servlet.ServletException

Handle a request.

Parameters:
  `target` - The target of the request - either a URI or a name.
  `baseRequest` - The original unwrapped request object.
  `request` - The request either as the `Request` object or a wrapper of that request. The `AbstractHttpConnection.getCurrentConnection()` method can be used access the Request object if required.
  `response` - The response as the `Response` object or a wrapper of that request. The `AbstractHttpConnection.getCurrentConnection()` method can be used access the Response object if required.
Throws:
  `IOException`
  `javax.servlet.ServletException`

#### setServer

    void setServer(Server server)

#### getServer

    Server getServer()

#### destroy

    void destroy()

Specified by:
  `destroy` in interface `Destroyable`