Apache Tomcat 6.0.43

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:
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:

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:

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

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