## org.mortbay.jetty
Class Server

    java.lang.Object
      |
      +--org.mortbay.http.HttpServer
            |
            +--org.mortbay.jetty.Server

All Implemented Interfaces:
  LifeCycle, java.io.Serializable

Direct Known Subclasses:
  Server

public class Server
extends HttpServer

The Jetty HttpServer. This specialization of org.mortbay.http.HttpServer adds knowledge about servlets and their specialized contexts. It also included support for initialization from xml configuration files that follow the XmlConfiguration dtd. HttpContexts created by Server are of the type org.mortbay.jetty.servlet.ServletHttpContext unless otherwise specified. This class also provides a main() method which starts a server for each config file passed on the command line. If the system property JETTY_NO_SHUTDOWN_HOOK is not set to true, then a shutdown hook is thread is registered to stop these servers.

Version:
  $Revision: 1.27 $
Author:
  Greg Wilkins (gregw)
See Also:
  `XmlConfiguration`, `ServletHttpContext`, Serialized Form

Nested Class Summary

Nested classes inherited from class org.mortbay.http.HttpServer
`HttpServer.ComponentEvent, HttpServer.ComponentEventListener`

Constructor Summary
`Server()` Constructor.
`Server(Resource configuration)` Constructor.
`Server(java.lang.String configuration)` Constructor.
`Server(java.net.URL configuration)` Constructor.

Method Summary
`WebApplicationContext` `addWebApplication(java.lang.String contextPathSpec, java.lang.String webApp)` Add Web Application.
`WebApplicationContext` `addWebApplication(java.lang.String virtualHost, java.lang.String contextPathSpec, java.lang.String webApp)` Add Web Application.
`WebApplicationContext` `addWebApplication(java.lang.String contextPathSpec, java.lang.String webApp, java.lang.String defaults, boolean extractWar)` Deprecated. use addWebApplicaton(host,path,webapp)
`WebApplicationContext` `addWebApplication(java.lang.String virtualHost, java.lang.String contextPathSpec, java.lang.String webApp, java.lang.String defaults, boolean extractWar)` Deprecated. use addWebApplicaton(host,path,webapp)
`WebApplicationContext[]` `addWebApplications(java.lang.String webapps)` Add Web Applications.
`WebApplicationContext[]` `addWebApplications(java.lang.String host, java.lang.String webapps)` Add Web Applications.
`WebApplicationContext[]` `addWebApplications(java.lang.String host, java.lang.String webapps, boolean extract)` Add Web Applications.
`WebApplicationContext[]` `addWebApplications(java.lang.String host, java.lang.String webapps, java.lang.String defaults, boolean extract)` Add Web Applications.
`void` `configure(java.lang.String configuration)` Configure the server from an XML file.
`java.lang.String` `getConfiguration()`
`java.lang.String` `getRootWebApp()` Get the root webapp name.
`static void` `main(java.lang.String[] arg)` Construct server from command line arguments.
`void` `setRootWebApp(java.lang.String rootWebApp)` Set the root webapp name.

Methods inherited from class org.mortbay.http.HttpServer

`addContext, addContext, addContext, addContext, addEventListener, addHostAlias, addListener, addListener, addListener, addRealm, destroy, findHandler, getConnections, getConnectionsDurationAve, getConnectionsDurationMax, getConnectionsOpen, getConnectionsOpenMax, getConnectionsRequestsAve, getConnectionsRequestsMax, getContext, getContext, getContext, getContexts, getErrors, getHostMap, getHttpServerList, getHttpServers, getListeners, getRealm, getRequestLog, getRequests, getRequestsActive, getRequestsActiveMax, getRequestsDurationAve, getRequestsDurationMax, getRequestsPerGC, getResolveRemoteHost, getStatsOn, getStatsOnMs, getTrace, isStarted, join, removeContext, removeEventListener, removeListener, removeRealm, save, service, setAnonymous, setChunkingForced, setContexts, setListeners, setRequestLog, setRequestsPerGC, setResolveRemoteHost, setStatsOn, setTrace, start, statsReset, stop, stop`

Methods inherited from class java.lang.Object
`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### Server

    public Server()

  Constructor.

### Server

    public Server(java.lang.String configuration)
           throws java.io.IOException

  Constructor.

Parameters:
  `configuration` - The filename or URL of the XML configuration file.

### Server

    public Server(Resource configuration)
           throws java.io.IOException

  Constructor.

Parameters:
  `configuration` - The filename or URL of the XML configuration file.

### Server

    public Server(java.net.URL configuration)
           throws java.io.IOException

  Constructor.

Parameters:
  `configuration` - The filename or URL of the XML configuration file.

Method Detail

### getRootWebApp

    public java.lang.String getRootWebApp()

  Get the root webapp name.

  Returns:
    The name of the root webapp (eg. "root" for root.war).

### setRootWebApp

    public void setRootWebApp(java.lang.String rootWebApp)

  Set the root webapp name.

  Parameters:
    `rootWebApp` - The name of the root webapp (eg. "root" for root.war).

### configure

    public void configure(java.lang.String configuration)
                   throws java.io.IOException

  Configure the server from an XML file.

  Parameters:
    `configuration` - The filename or URL of the XML configuration file.
    `java.io.IOException`

### getConfiguration

    public java.lang.String getConfiguration()

### addWebApplication

    public WebApplicationContext addWebApplication(java.lang.String contextPathSpec,
                                                   java.lang.String webApp)
                                            throws java.io.IOException

  Add Web Application.

  Parameters:
    `contextPathSpec` - The context path spec. Which must be of the form / or /path/*
    `webApp` - The Web application directory or WAR file.
  Returns:
    The WebApplicationContext
  Throws:
    `java.io.IOException`

### addWebApplication

    public WebApplicationContext addWebApplication(java.lang.String virtualHost,
                                                   java.lang.String contextPathSpec,
                                                   java.lang.String webApp)
                                            throws java.io.IOException

  Add Web Application.

  Parameters:
    `virtualHost` - Virtual host name or null
    `contextPathSpec` - The context path spec. Which must be of the form / or /path/*
    `webApp` - The Web application directory or WAR file.
  Returns:
    The WebApplicationContext
  Throws:
    `java.io.IOException`

### addWebApplications

    public WebApplicationContext[] addWebApplications(java.lang.String webapps)
                                               throws java.io.IOException

  Add Web Applications. Add auto webapplications to the server. The name of the webapp directory or war is used as the context name. If a webapp is called "root" it is added at "/".

  Parameters:
    `webapps` - Directory file name or URL to look for auto webapplication.
  Throws:
    `java.io.IOException`

### addWebApplications

    public WebApplicationContext[] addWebApplications(java.lang.String host,
                                                      java.lang.String webapps)
                                               throws java.io.IOException

  Add Web Applications. Add auto webapplications to the server. The name of the webapp directory or war is used as the context name. If the webapp matches the rootWebApp it is added as the "/" context.

  Parameters:
    `host` - Virtual host name or null
    `webapps` - Directory file name or URL to look for auto webapplication.
  Throws:
    `java.io.IOException`

### addWebApplications

    public WebApplicationContext[] addWebApplications(java.lang.String host,
                                                      java.lang.String webapps,
                                                      boolean extract)
                                               throws java.io.IOException

  Add Web Applications. Add auto webapplications to the server. The name of the webapp directory or war is used as the context name. If the webapp matches the rootWebApp it is added as the "/" context.

  Parameters:
    `host` - Virtual host name or null
    `webapps` - Directory file name or URL to look for auto webapplication.
    `extract` - If true, extract war files
  Throws:
    `java.io.IOException`

### addWebApplications

    public WebApplicationContext[] addWebApplications(java.lang.String host,
                                                      java.lang.String webapps,
                                                      java.lang.String defaults,
                                                      boolean extract)
                                               throws java.io.IOException

  Add Web Applications. Add auto webapplications to the server. The name of the webapp directory or war is used as the context name. If the webapp matches the rootWebApp it is added as the "/" context.

  Parameters:
    `host` - Virtual host name or null
    `webapps` - Directory file name or URL to look for auto webapplication.
    `defaults` - The defaults xml filename or URL which is loaded before any in the web app. Must respect the web.dtd. If null the default defaults file is used. If the empty string, then no defaults file is used.
    `extract` - If true, extract war files
  Throws:
    `java.io.IOException`

### addWebApplication

    public WebApplicationContext addWebApplication(java.lang.String contextPathSpec,
                                                   java.lang.String webApp,
                                                   java.lang.String defaults,
                                                   boolean extractWar)
                                            throws java.io.IOException

  Deprecated. use addWebApplicaton(host,path,webapp)

  Add Web Application.

  Parameters:
    `contextPathSpec` - The context path spec. Which must be of the form / or /path/*
    `webApp` - The Web application directory or WAR as file or URL.
    `defaults` - The defaults xml filename or URL which is loaded before any in the web app. Must respect the web.dtd. Normally this is passed the file $JETTY_HOME/etc/webdefault.xml
    `extractWar` - If true, WAR files are extracted to the webapp subdirectory of the contexts temporary directory.
  Returns:
    The WebApplicationContext
  Throws:
    `java.io.IOException`

### addWebApplication

    public WebApplicationContext addWebApplication(java.lang.String virtualHost,
                                                   java.lang.String contextPathSpec,
                                                   java.lang.String webApp,
                                                   java.lang.String defaults,
                                                   boolean extractWar)
                                            throws java.io.IOException

  Deprecated. use addWebApplicaton(host,path,webapp)

  Add Web Application.

  Parameters:
    `virtualHost` - Virtual host name or null
    `contextPathSpec` - The context path spec. Which must be of the form / or /path/*
    `webApp` - The Web application directory or WAR file.
    `defaults` - The defaults xml filename or URL which is loaded before any in the web app. Must respect the web.dtd. Normally this is passed the file $JETTY_HOME/etc/webdefault.xml
    `extractWar` - If true, WAR files are extracted to the webapp subdirectory of the contexts temporary directory.
  Returns:
    The WebApplicationContext
  Throws:
    `java.io.IOException`

### main

    public static void main(java.lang.String[] arg)

  Description copied from class: `HttpServer`
  Construct server from command line arguments.

  Parameters:
    `arg` -

Copyright © 2000 Mortbay Consulting Pty. Ltd. All Rights Reserved.