Apache Tomcat 7.0.28

org.apache.catalina.manager.host
Class HostManagerServlet

java.lang.Object
  extended by javax.servlet.GenericServlet
      extended by javax.servlet.http.HttpServlet
          extended by 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:

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:

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

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