Jetty Logo
Contact the core Jetty developers at www.webtide.com

private support for your internal/customer projects ... custom extensions and distributions ... versioned snapshots for indefinite support ... scalability guidance for your apps and Ajax/Comet projects ... development services from 1 day to full product delivery

Chapter 5. Configuring Contexts

Table of Contents

Setting a Context Path
Configuring Virtual Hosts
Configuring WebAppContexts
Serving a WebApp from a Particular Port/Connector
Creating Custom Error Pages

This chapter discusses various options for configuring Jetty contexts.

Setting a Context Path

The context path is the prefix of a URL path that is used to select the context(s) to which an incoming request is passed. Typically a URL in a Java servlet server is of the format http://hostname.com/contextPath/servletPath/pathInfo, where each of the path elements can be zero or more / separated elements. If there is no context path, the context is referred to as the root context. The root context must be configured as "/" but is reported as the empty string by the servlet API getContextPath() method.

How you set the context path depends on how you deploy the web application (or ContextHandler):

Using Embedded Deployment

If you run Jetty from code as an embedded server (see ???), setting the context path is a matter of calling the setContextPath method on the ContextHandler instance (or WebAppContext instance).

By naming convention

If a web application is deployed using the WebAppProvider of the DeployentManager without an XML IoC file, then the name of the WAR file is used to set the context path:

  • If the WAR file is named myapp.war, then the context will be deployed with a context path of /myapp

  • If the WAR file is named ROOT.WAR (or any case insensitive variation), then the context will be deployed with a context path of /

  • If the WAR file is named ROOT-foobar.war ( or any case insensitive variation), then the context will be deployed with a context path of / and a virtual host of "foobar"

By Deployer configuration

If a web application is deployed using the WebAppProvider of the the DeploymentManager with an XML IoC file to configure the context, then the setContextPath method can be called within that file. For example:

<Configure class="org.eclipse.jetty.webapp.WebAppContext">
  <Set name="contextPath">/test</Set>
  ...
</Configure>

    

Embedding a WEB-INF/jetty-web.xml File

You can also set the context path for webapps by embedding a WEB-INF/jetty-web.xml file in the WAR, which uses the same XML IoC format as the deployer example above. However this is not the preferred method as it requires the web application to be modified.

See an error or something missing? Contribute to this documentation at Github!