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.
addWebApplication
public WebApplicationContext addWebApplication(String contextPathSpec,
String webApp)
throws IOException
Add Web Application.
contextPathSpec
- The context path spec. Which must be of
the form / or /path/*webApp
- The Web application directory or WAR file.
- The WebApplicationContext
addWebApplication
public WebApplicationContext addWebApplication(String virtualHost,
String contextPathSpec,
String webApp)
throws IOException
Add Web Application.
virtualHost
- Virtual host name or nullcontextPathSpec
- The context path spec. Which must be of
the form / or /path/*webApp
- The Web application directory or WAR file.
- The WebApplicationContext
addWebApplications
public WebApplicationContext[] addWebApplications(String webapps)
throws 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 "/".
webapps
- Directory file name or URL to look for auto webapplication.
addWebApplications
public WebApplicationContext[] addWebApplications(String host,
String webapps)
throws 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.
host
- Virtual host name or nullwebapps
- Directory file name or URL to look for auto webapplication.
addWebApplications
public WebApplicationContext[] addWebApplications(String host,
String webapps,
String defaults,
boolean extract)
throws 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.
host
- Virtual host name or nullwebapps
- 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
addWebApplications
public WebApplicationContext[] addWebApplications(String host,
String webapps,
String defaults,
boolean extract,
boolean java2CompliantClassLoader)
throws 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.
host
- Virtual host name or nullwebapps
- 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 filesjava2CompliantClassLoader
- True if java2 compliance is applied to all webapplications
addWebApplications
public WebApplicationContext[] addWebApplications(String host,
String webapps,
boolean extract)
throws 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.
host
- Virtual host name or nullwebapps
- Directory file name or URL to look for auto
webapplication.extract
- If true, extract war files
configure
public void configure(String configuration)
throws IOException
Configure the server from an XML file.
configuration
- The filename or URL of the XML
configuration file.
getConfiguration
public String getConfiguration()
getRootWebApp
public String getRootWebApp()
Get the root webapp name.
- 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)
Construct server from command line arguments.
- main in interface HttpServer
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.
- newHttpContext in interface HttpServer
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.
webApp
- The Web application directory or WAR file.
setRootWebApp
public void setRootWebApp(String rootWebApp)
Set the root webapp name.
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.