Apache Tomcat 7.0.42

## 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:
  Serializable, Servlet, ServletConfig, ContainerServlet

Direct Known Subclasses:
  HTMLHostManagerServlet

    public class HostManagerServlet

extends 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.

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.

Version:
  $Id: HostManagerServlet.java 1162172 2011-08-26 17:12:33Z markt $
Author:
  Craig R. McClanahan, Remy Maucherat
See Also:
  Serialized Form

Field Summary
`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` `installedHost` The associated host.
`protected 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(HttpServletRequest request, PrintWriter writer, String name, boolean htmlMode, StringManager smClient)` Add host with the given parameters.
`protected void` `add(PrintWriter writer, String name, String aliases, String appBase, boolean manager, boolean autoDeploy, boolean deployOnStartup, boolean deployXML, boolean unpackWARs, StringManager smClient)` Add a host using the specified parameters.
`protected boolean` `booleanParameter(HttpServletRequest request, String parameter, boolean theDefault, boolean htmlMode)` Extract boolean value from checkbox with default.
`void` `destroy()` Finalize this servlet.
`void` `doGet(HttpServletRequest request, HttpServletResponse response)` Process a GET request for the specified resource.
`protected File` `getConfigBase(String hostName)` Get config base.
`protected StringManager` `getStringManager(HttpServletRequest req)`
`Wrapper` `getWrapper()` Return the Wrapper with which we are associated.
`void` `init()` Initialize this servlet.
`protected void` `list(PrintWriter writer, StringManager smClient)` Render a list of the currently active Contexts in our virtual host.
`protected void` `remove(PrintWriter writer, String name, StringManager smClient)` Remove the specified host.
`void` `setWrapper(Wrapper wrapper)` Set the Wrapper with which we are associated.
`protected void` `start(PrintWriter writer, String name, StringManager smClient)` Start the host with the specified name.
`protected void` `stop(PrintWriter writer, String name, StringManager smClient)` Stop 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

### context

    protected transient Context context

  The Context container associated with our web application.

### debug

    protected int debug

  The debugging detail level for this servlet.

### installedHost

    protected transient Host installedHost

  The associated host.

### engine

    protected transient Engine engine

  The associated engine.

### mBeanServer

    protected transient MBeanServer mBeanServer

  MBean server.

### sm

    protected static final StringManager sm

  The string manager for this package.

### wrapper

    protected transient 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 `Servlet`
  Overrides:
    `destroy` in class `GenericServlet`

### doGet

    public void doGet(HttpServletRequest request,
                      HttpServletResponse response)
               throws IOException,
                      ServletException

  Process a GET request for the specified resource.

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

### add

    protected void add(HttpServletRequest request,
                       PrintWriter writer,
                       String name,
                       boolean htmlMode,
                       StringManager smClient)

  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(HttpServletRequest request,
                                       String parameter,
                                       boolean theDefault,
                                       boolean htmlMode)

  Extract boolean value from checkbox with default.

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

### init

    public void init()
              throws ServletException

  Initialize this servlet.

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

### add

    protected void add(PrintWriter writer,
                       String name,
                       String aliases,
                       String appBase,
                       boolean manager,
                       boolean autoDeploy,
                       boolean deployOnStartup,
                       boolean deployXML,
                       boolean unpackWARs,
                       StringManager smClient)

  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(PrintWriter writer,
                          String name,
                          StringManager smClient)

  Remove the specified host.

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

### list

    protected void list(PrintWriter writer,
                        StringManager smClient)

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

  Parameters:
    `writer` - Writer to render to

### start

    protected void start(PrintWriter writer,
                         String name,
                         StringManager smClient)

  Start the host with the specified name.

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

### stop

    protected void stop(PrintWriter writer,
                        String name,
                        StringManager smClient)

  Stop the host with the specified name.

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

### getConfigBase

    protected File getConfigBase(String hostName)

  Get config base.

### getStringManager

    protected StringManager getStringManager(HttpServletRequest req)

Apache Tomcat 7.0.42

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