Apache Tomcat 6.0.51

## org.apache.catalina.manager.host
Class HostManagerServlet

    java.lang.Object
      javax.servlet.GenericServlet
          javax.servlet.http.HttpServlet
              org.apache.catalina.manager.host.HostManagerServlet

All Implemented Interfaces:
  java.io.Serializable, javax.servlet.Servlet, javax.servlet.ServletConfig, ContainerServlet

Direct Known Subclasses:
  HTMLHostManagerServlet

    public class HostManagerServlet

extends javax.servlet.http.HttpServlet
implements ContainerServlet

Servlet that enables remote management of the virtual hosts installed on the server. Normally, this functionality will be protected by a security constraint in the web application deployment descriptor. However, this requirement can be relaxed during testing.

This servlet examines the value returned by `getPathInfo()` and related query parameters to determine what action is being requested. The following actions and parameters (starting after the servlet path) are supported:

- /add?name={host-name}&aliases={host-aliases}&manager={manager} - Create and add a new virtual host. The `host-name` attribute indicates the name of the new host. The `host-aliases` attribute is a comma separated list of the host alias names. The `manager` attribute is a boolean value indicating if the webapp manager will be installed in the newly created host (optional, false by default).
- /remove?name={host-name} - Remove a virtual host. The `host-name` attribute indicates the name of the host.
- /list - List the virtual hosts installed on the server. Each host will be listed with the following format `host-name#host-aliases`.
- /start?name={host-name} - Start the virtual host.
- /stop?name={host-name} - Stop the virtual host.

NOTE - Attempting to stop or remove the host containing this servlet itself will not succeed. Therefore, this servlet should generally be deployed in a separate virtual host.

NOTE - For security reasons, this application will not operate when accessed via the invoker servlet. You must explicitly map this servlet with a servlet mapping, and you will always want to protect it with appropriate security constraints as well.

The following servlet initialization parameters are recognized:

- debug - The debugging detail level that controls the amount of information that is logged by this servlet. Default is zero.

Author:
  Craig R. McClanahan, Remy Maucherat
See Also:
  Serialized Form

Field Summary
`protected java.io.File` | `configBase` Path where context descriptors should be deployed.
`protected Context` | `context` The Context container associated with our web application.
`protected int` | `debug` The debugging detail level for this servlet.
`protected Engine` | `engine` The associated engine.
`protected Host` | `host` The associated host.
`protected javax.management.MBeanServer` | `mBeanServer` MBean server.
`protected static StringManager` | `sm` The string manager for this package.
`protected Wrapper` | `wrapper` The Wrapper container associated with this servlet.

Constructor Summary
`HostManagerServlet()`

Method Summary
`protected void` | `add(javax.servlet.http.HttpServletRequest request, java.io.PrintWriter writer, java.lang.String name, boolean htmlMode)` Add host with the given parameters.
`protected void` | `add(java.io.PrintWriter writer, java.lang.String name, java.lang.String aliases, java.lang.String appBase, boolean manager, boolean autoDeploy, boolean deployOnStartup, boolean deployXML, boolean unpackWARs, boolean xmlNamespaceAware, boolean xmlValidation)` Add a host using the specified parameters.
`protected boolean` | `booleanParameter(javax.servlet.http.HttpServletRequest request, java.lang.String parameter, boolean theDefault, boolean htmlMode)` extract boolean value from checkbox with default
`void` | `destroy()` Finalize this servlet.
`void` | `doGet(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)` Process a GET request for the specified resource.
`protected java.io.File` | `getConfigBase(java.lang.String hostName)` Get config base.
`Wrapper` | `getWrapper()` Return the Wrapper with which we are associated.
`void` | `init()` Initialize this servlet.
`protected void` | `list(java.io.PrintWriter writer)` Render a list of the currently active Contexts in our virtual host.
`protected void` | `remove(java.io.PrintWriter writer, java.lang.String name)` Remove the specified host.
`void` | `setWrapper(Wrapper wrapper)` Set the Wrapper with which we are associated.
`protected void` | `start(java.io.PrintWriter writer, java.lang.String name)` Start the host with the specified name.
`protected void` | `stop(java.io.PrintWriter writer, java.lang.String name)` Start the host with the specified name.

Methods inherited from class javax.servlet.http.HttpServlet
`doDelete, doHead, doOptions, doPost, doPut, doTrace, getLastModified, service, service`

Methods inherited from class javax.servlet.GenericServlet
`getInitParameter, getInitParameterNames, getServletConfig, getServletContext, getServletInfo, getServletName, init, log, log`

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

Field Detail

### configBase

    protected java.io.File configBase

  Path where context descriptors should be deployed.

### context

    protected Context context

  The Context container associated with our web application.

### debug

    protected int debug

  The debugging detail level for this servlet.

### host

    protected Host host

  The associated host.

### engine

    protected Engine engine

  The associated engine.

### mBeanServer

    protected javax.management.MBeanServer mBeanServer

  MBean server.

### sm

    protected static StringManager sm

  The string manager for this package.

### wrapper

    protected Wrapper wrapper

  The Wrapper container associated with this servlet.

Constructor Detail

### HostManagerServlet

    public HostManagerServlet()

Method Detail

### getWrapper

    public Wrapper getWrapper()

  Return the Wrapper with which we are associated.

  Specified by:
    `getWrapper` in interface `ContainerServlet`

### setWrapper

    public void setWrapper(Wrapper wrapper)

  Set the Wrapper with which we are associated.

  Specified by:
    `setWrapper` in interface `ContainerServlet`
  Parameters:
    `wrapper` - The new wrapper

### destroy

    public void destroy()

  Finalize this servlet.

  Specified by:
    `destroy` in interface `javax.servlet.Servlet`
  Overrides:
    `destroy` in class `javax.servlet.GenericServlet`

### doGet

    public void doGet(javax.servlet.http.HttpServletRequest request,
                      javax.servlet.http.HttpServletResponse response)
               throws java.io.IOException,
                      javax.servlet.ServletException

  Process a GET request for the specified resource.

  Overrides:
    `doGet` in class `javax.servlet.http.HttpServlet`
  Parameters:
    `request` - The servlet request we are processing
    `response` - The servlet response we are creating
  Throws:
    `java.io.IOException` - if an input/output error occurs
    `javax.servlet.ServletException` - if a servlet-specified error occurs
  See Also:
    `ServletResponse.setContentType(java.lang.String)`

### add

    protected void add(javax.servlet.http.HttpServletRequest request,
                       java.io.PrintWriter writer,
                       java.lang.String name,
                       boolean htmlMode)

  Add host with the given parameters.

  Parameters:
    `request` - The request
    `writer` - The output writer
    `name` - The host name
    `htmlMode` - Flag value

### booleanParameter

    protected boolean booleanParameter(javax.servlet.http.HttpServletRequest request,
                                       java.lang.String parameter,
                                       boolean theDefault,
                                       boolean htmlMode)

  extract boolean value from checkbox with default

  Parameters:
    `request` -
    `parameter` -
    `theDefault` -
    `htmlMode` -

### init

    public void init()
              throws javax.servlet.ServletException

  Initialize this servlet.

  Overrides:
    `init` in class `javax.servlet.GenericServlet`
  Throws:
    `javax.servlet.ServletException` - if an exception occurs that interrupts the servlet's normal operation

### add

    protected void add(java.io.PrintWriter writer,
                       java.lang.String name,
                       java.lang.String aliases,
                       java.lang.String appBase,
                       boolean manager,
                       boolean autoDeploy,
                       boolean deployOnStartup,
                       boolean deployXML,
                       boolean unpackWARs,
                       boolean xmlNamespaceAware,
                       boolean xmlValidation)

  Add a host using the specified parameters.

  Parameters:
    `writer` - Writer to render results to
    `name` - host name
    `aliases` - comma separated alias list
    `appBase` - application base for the host
    `manager` - should the manager webapp be deployed to the new host ?

### remove

    protected void remove(java.io.PrintWriter writer,
                          java.lang.String name)

  Remove the specified host.

  Parameters:
    `writer` - Writer to render results to
    `name` - host name

### list

    protected void list(java.io.PrintWriter writer)

  Render a list of the currently active Contexts in our virtual host.

  Parameters:
    `writer` - Writer to render to

### start

    protected void start(java.io.PrintWriter writer,
                         java.lang.String name)

  Start the host with the specified name.

  Parameters:
    `writer` - Writer to render to
    `name` - Host name

### stop

    protected void stop(java.io.PrintWriter writer,
                        java.lang.String name)

  Start the host with the specified name.

  Parameters:
    `writer` - Writer to render to
    `name` - Host name

### getConfigBase

    protected java.io.File getConfigBase(java.lang.String hostName)

  Get config base.

Apache Tomcat 6.0.51

Copyright © 2000-2017 Apache Software Foundation. All Rights Reserved.