org.mortbay.jetty

Class 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.40 $

Author: Greg Wilkins (gregw)

See Also: XmlConfiguration ServletHttpContext

Constructor Summary
Server()
Constructor.
Server(String configuration)
Constructor.
Server(Resource configuration)
Constructor.
Server(URL configuration)
Constructor.
Method Summary
WebApplicationContextaddWebApplication(String contextPathSpec, String webApp)
Add Web Application.
WebApplicationContextaddWebApplication(String virtualHost, String contextPathSpec, String webApp)
Add Web Application.
WebApplicationContext[]addWebApplications(String webapps)
Add Web Applications.
WebApplicationContext[]addWebApplications(String host, String webapps)
Add Web Applications.
WebApplicationContext[]addWebApplications(String host, String webapps, boolean extract)
Add Web Applications.
WebApplicationContext[]addWebApplications(String host, String webapps, String defaults, boolean extract)
Add Web Applications.
WebApplicationContext[]addWebApplications(String host, String webapps, String defaults, boolean extract, boolean java2CompliantClassLoader)
Add Web Applications.
voidconfigure(String configuration)
Configure the server from an XML file.
StringgetConfiguration()
StringgetRootWebApp()
Get the root webapp name.
booleangetStopAtShutdown()
String[]getWebApplicationConfigurationClassNames()
static voidmain(String[] arg)
protected HttpContextnewHttpContext()
Create a new ServletHttpContext.
protected WebApplicationContextnewWebApplicationContext(String webApp)
Create a new WebApplicationContext.
voidsetRootWebApp(String rootWebApp)
Set the root webapp name.
voidsetStopAtShutdown(boolean stop)
voidsetWebApplicationConfigurationClassNames(String[] configurationClassNames)
setWebApplicationConfigurationClasses Set up the list of classnames of WebApplicationContext.Configuration implementations that will be applied to configure every webapp.

Constructor Detail

Server

public Server()
Constructor.

Server

public Server(String configuration)
Constructor.

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

Server

public Server(Resource configuration)
Constructor.

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

Server

public Server(URL configuration)
Constructor.

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

Method Detail

addWebApplication

public WebApplicationContext addWebApplication(String contextPathSpec, String 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 file.

Returns: The WebApplicationContext

Throws: IOException

addWebApplication

public WebApplicationContext addWebApplication(String virtualHost, String contextPathSpec, String 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.

Returns: The WebApplicationContext

Throws: IOException

addWebApplications

public WebApplicationContext[] addWebApplications(String webapps)
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: IOException

addWebApplications

public WebApplicationContext[] addWebApplications(String host, String webapps)
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: IOException

addWebApplications

public WebApplicationContext[] addWebApplications(String host, String webapps, boolean extract)
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: IOException

addWebApplications

public WebApplicationContext[] addWebApplications(String host, String webapps, String defaults, boolean extract)
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: IOException

addWebApplications

public WebApplicationContext[] addWebApplications(String host, String webapps, String defaults, boolean extract, boolean java2CompliantClassLoader)
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 java2CompliantClassLoader True if java2 compliance is applied to all webapplications

Throws: IOException

configure

public void configure(String configuration)
Configure the server from an XML file.

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

getConfiguration

public String getConfiguration()

getRootWebApp

public String getRootWebApp()
Get the root webapp name.

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

getStopAtShutdown

public boolean getStopAtShutdown()

getWebApplicationConfigurationClassNames

public String[] getWebApplicationConfigurationClassNames()

main

public static void main(String[] arg)

newHttpContext

protected HttpContext newHttpContext()
Create a new ServletHttpContext. Ths method is called by HttpServer to creat new contexts. Thus calls to addContext or getContext that result in a new Context being created will return an org.mortbay.jetty.servlet.ServletHttpContext instance.

Returns: ServletHttpContext

newWebApplicationContext

protected WebApplicationContext newWebApplicationContext(String webApp)
Create a new WebApplicationContext. Ths method is called by Server to creat new contexts for web applications. Thus calls to addWebApplication that result in a new Context being created will return an correct class instance. Derived class can override this method to create instance of its own class derived from WebApplicationContext in case it needs more functionality.

Parameters: webApp The Web application directory or WAR file.

Returns: WebApplicationContext

setRootWebApp

public void setRootWebApp(String rootWebApp)
Set the root webapp name.

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

setStopAtShutdown

public void setStopAtShutdown(boolean stop)

setWebApplicationConfigurationClassNames

public void setWebApplicationConfigurationClassNames(String[] configurationClassNames)
setWebApplicationConfigurationClasses Set up the list of classnames of WebApplicationContext.Configuration implementations that will be applied to configure every webapp. The list can be overridden by individual WebApplicationContexts.

Parameters: configurationClasses

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