Apache Tomcat 7.0.28

org.apache.catalina.manager
Class HTMLManagerServlet

java.lang.Object
  extended by javax.servlet.GenericServlet
      extended by javax.servlet.http.HttpServlet
          extended by org.apache.catalina.manager.ManagerServlet
              extended by org.apache.catalina.manager.HTMLManagerServlet
All Implemented Interfaces:
Serializable, Servlet, ServletConfig, ContainerServlet

public final class HTMLManagerServlet
extends ManagerServlet

Servlet that enables remote management of the web applications deployed within the same virtual host as this web application is. Normally, this functionality will be protected by a security constraint in the web application deployment descriptor. However, this requirement can be relaxed during testing.

The difference between the ManagerServlet and this Servlet is that this Servlet prints out a HTML interface which makes it easier to administrate.

However if you use a software that parses the output of ManagerServlet you won't be able to upgrade to this Servlet since the output are not in the same format ar from ManagerServlet

Version:
$Id: HTMLManagerServlet.java 1349885 2012-06-13 14:43:14Z markt $
Author:
Bip Thelin, Malcolm Edgar, Glenn L. Nielsen
See Also:
ManagerServlet, Serialized Form

Field Summary
protected static String APPLICATION_ERROR
           
protected static String APPLICATION_MESSAGE
           
protected static String sessionDetailJspPath
           
protected static String sessionsListJspPath
           
protected static URLEncoder URL_ENCODER
           
 
Fields inherited from class org.apache.catalina.manager.ManagerServlet
appBase, configBase, context, contextDescriptors, debug, deployed, global, host, mBeanServer, oname, sm, versioned, wrapper
 
Constructor Summary
HTMLManagerServlet()
           
 
Method Summary
protected  String deployInternal(String config, ContextName cn, String war, StringManager smClient)
          Deploy an application for the specified path from the specified web application archive.
protected  void displaySessionDetailPage(HttpServletRequest req, HttpServletResponse resp, ContextName cn, String sessionId, StringManager smClient)
           
protected  void displaySessionsListPage(ContextName cn, HttpServletRequest req, HttpServletResponse resp, StringManager smClient)
           
 void doGet(HttpServletRequest request, HttpServletResponse response)
          Process a GET request for the specified resource.
 void doPost(HttpServletRequest request, HttpServletResponse response)
          Process a POST request for the specified resource.
protected  void doSessions(ContextName cn, HttpServletRequest req, HttpServletResponse resp, StringManager smClient)
           
protected  String expireSessions(ContextName cn, HttpServletRequest req, StringManager smClient)
          Extract the expiration request parameter
protected  String findleaks(StringManager smClient)
          Find potential memory leaks caused by web application reload.
protected  Comparator<Session> getComparator(String sortBy)
           
 String getServletInfo()
          Returns information about the servlet, such as author, version, and copyright.
protected  Session getSessionForNameAndId(ContextName cn, String id, StringManager smClient)
           
protected  List<Session> getSessionsForName(ContextName cn, StringManager smClient)
           
 void init()
          Initialize this servlet.
protected  int invalidateSessions(ContextName cn, String[] sessionIds, StringManager smClient)
          Invalidate HttpSessions
protected  void list(HttpServletRequest request, HttpServletResponse response, String message, StringManager smClient)
          Render a HTML list of the currently active Contexts in our virtual host, and memory and server status information.
protected  String reload(ContextName cn, StringManager smClient)
          Reload the web application at the specified context path.
protected  boolean removeSessionAttribute(ContextName cn, String sessionId, String attributeName, StringManager smClient)
          Removes an attribute from an HttpSession
protected  String sessions(ContextName cn, int idle, StringManager smClient)
          Display session information and invoke list.
protected  String start(ContextName cn, StringManager smClient)
          Start the web application at the specified context path.
protected  String stop(ContextName cn, StringManager smClient)
          Stop the web application at the specified context path.
protected  String undeploy(ContextName cn, StringManager smClient)
          Undeploy the web application at the specified context path.
protected  String upload(HttpServletRequest request, StringManager smClient)
           
 
Methods inherited from class org.apache.catalina.manager.ManagerServlet
addServiced, check, copy, copyInternal, deploy, deploy, deploy, destroy, doPut, expireSessions, findleaks, getAppBase, getStringManager, getWrapper, isDeployed, isServiced, list, printResources, reload, removeServiced, resources, save, serverinfo, sessions, sessions, setWrapper, start, stop, undeploy, undeployDir, uploadWar, validateContextName
 
Methods inherited from class javax.servlet.http.HttpServlet
doDelete, doHead, doOptions, doTrace, getLastModified, service, service
 
Methods inherited from class javax.servlet.GenericServlet
getInitParameter, getInitParameterNames, getServletConfig, getServletContext, getServletName, init, log, log
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

URL_ENCODER

protected static final URLEncoder URL_ENCODER

APPLICATION_MESSAGE

protected static final String APPLICATION_MESSAGE
See Also:
Constant Field Values

APPLICATION_ERROR

protected static final String APPLICATION_ERROR
See Also:
Constant Field Values

sessionsListJspPath

protected static final String sessionsListJspPath
See Also:
Constant Field Values

sessionDetailJspPath

protected static final String sessionDetailJspPath
See Also:
Constant Field Values
Constructor Detail

HTMLManagerServlet

public HTMLManagerServlet()
Method Detail

doGet

public void doGet(HttpServletRequest request,
                  HttpServletResponse response)
           throws IOException,
                  ServletException
Process a GET request for the specified resource.

Overrides:
doGet in class ManagerServlet
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)

doPost

public void doPost(HttpServletRequest request,
                   HttpServletResponse response)
            throws IOException,
                   ServletException
Process a POST request for the specified resource.

Overrides:
doPost 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:
ServletOutputStream, ServletResponse.setContentType(java.lang.String)

upload

protected String upload(HttpServletRequest request,
                        StringManager smClient)
                 throws IOException,
                        ServletException
Throws:
IOException
ServletException

deployInternal

protected String deployInternal(String config,
                                ContextName cn,
                                String war,
                                StringManager smClient)
Deploy an application for the specified path from the specified web application archive.

Parameters:
config - URL of the context configuration file to be deployed
cn - Name of the application to be deployed
war - URL of the web application archive to be deployed
Returns:
message String

list

protected void list(HttpServletRequest request,
                    HttpServletResponse response,
                    String message,
                    StringManager smClient)
             throws IOException
Render a HTML list of the currently active Contexts in our virtual host, and memory and server status information.

Parameters:
request - The request
response - The response
message - a message to display
Throws:
IOException

reload

protected String reload(ContextName cn,
                        StringManager smClient)
Reload the web application at the specified context path.

Parameters:
cn - Name of the application to be restarted
smClient - StringManager for the client's locale
Returns:
message String
See Also:
ManagerServlet.reload(PrintWriter, ContextName, StringManager)

undeploy

protected String undeploy(ContextName cn,
                          StringManager smClient)
Undeploy the web application at the specified context path.

Parameters:
cn - Name of the application to be undeployed
smClient - StringManager for the client's locale
Returns:
message String
See Also:
ManagerServlet.undeploy(PrintWriter, ContextName, StringManager)

sessions

protected String sessions(ContextName cn,
                          int idle,
                          StringManager smClient)
Display session information and invoke list.

Parameters:
cn - Name of the application to list session information
idle - Expire all sessions with idle time ≥ idle for this context
smClient - StringManager for the client's locale
Returns:
message String
See Also:
ManagerServlet.sessions(PrintWriter, ContextName, int, StringManager)

start

protected String start(ContextName cn,
                       StringManager smClient)
Start the web application at the specified context path.

Parameters:
cn - Name of the application to be started
smClient - StringManager for the client's locale
Returns:
message String
See Also:
ManagerServlet.start(PrintWriter, ContextName, StringManager)

stop

protected String stop(ContextName cn,
                      StringManager smClient)
Stop the web application at the specified context path.

Parameters:
cn - Name of the application to be stopped
smClient - StringManager for the client's locale
Returns:
message String
See Also:
ManagerServlet.stop(PrintWriter, ContextName, StringManager)

findleaks

protected String findleaks(StringManager smClient)
Find potential memory leaks caused by web application reload.

Parameters:
smClient - StringManager for the client's locale
Returns:
message String
See Also:
ManagerServlet.findleaks(boolean, PrintWriter, StringManager)

getServletInfo

public String getServletInfo()
Description copied from class: javax.servlet.GenericServlet
Returns information about the servlet, such as author, version, and copyright. By default, this method returns an empty string. Override this method to have it return a meaningful value. See Servlet.getServletInfo().

Specified by:
getServletInfo in interface Servlet
Overrides:
getServletInfo in class GenericServlet
Returns:
String information about this servlet, by default an empty string
See Also:
Servlet.getServletInfo()

init

public void init()
          throws ServletException
Description copied from class: ManagerServlet
Initialize this servlet.

Overrides:
init in class ManagerServlet
Throws:
ServletException - if an exception occurs that interrupts the servlet's normal operation
See Also:
GenericServlet.init()

expireSessions

protected String expireSessions(ContextName cn,
                                HttpServletRequest req,
                                StringManager smClient)
Extract the expiration request parameter

Parameters:
cn - Name of the application from which to expire sessions
req -
smClient - StringManager for the client's locale

doSessions

protected void doSessions(ContextName cn,
                          HttpServletRequest req,
                          HttpServletResponse resp,
                          StringManager smClient)
                   throws ServletException,
                          IOException
Parameters:
req -
resp -
smClient - StringManager for the client's locale
Throws:
ServletException
IOException

getSessionsForName

protected List<Session> getSessionsForName(ContextName cn,
                                           StringManager smClient)

getSessionForNameAndId

protected Session getSessionForNameAndId(ContextName cn,
                                         String id,
                                         StringManager smClient)

displaySessionsListPage

protected void displaySessionsListPage(ContextName cn,
                                       HttpServletRequest req,
                                       HttpServletResponse resp,
                                       StringManager smClient)
                                throws ServletException,
                                       IOException
Parameters:
cn - Name of the application for which the sessions will be listed
req -
resp -
smClient - StringManager for the client's locale
Throws:
ServletException
IOException

displaySessionDetailPage

protected void displaySessionDetailPage(HttpServletRequest req,
                                        HttpServletResponse resp,
                                        ContextName cn,
                                        String sessionId,
                                        StringManager smClient)
                                 throws ServletException,
                                        IOException
Parameters:
req -
resp -
smClient - StringManager for the client's locale
Throws:
ServletException
IOException

invalidateSessions

protected int invalidateSessions(ContextName cn,
                                 String[] sessionIds,
                                 StringManager smClient)
                          throws IOException
Invalidate HttpSessions

Parameters:
cn - Name of the application for which sessions are to be invalidated
sessionIds -
smClient - StringManager for the client's locale
Returns:
number of invalidated sessions
Throws:
IOException

removeSessionAttribute

protected boolean removeSessionAttribute(ContextName cn,
                                         String sessionId,
                                         String attributeName,
                                         StringManager smClient)
                                  throws IOException
Removes an attribute from an HttpSession

Parameters:
cn - Name of the application hosting the session from which the attribute is to be removed
sessionId -
attributeName -
smClient - StringManager for the client's locale
Returns:
true if there was an attribute removed, false otherwise
Throws:
IOException

getComparator

protected Comparator<Session> getComparator(String sortBy)

Apache Tomcat 7.0.28

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