// Parts are based on examples from _Java in a Nutshell_ by David Flanagan:
// Written by David Flanagan. Copyright (c) 1996 O'Reilly & Associates.
// You may study, use, modify, and distribute this example for any purpose.
// This example is provided WITHOUT WARRANTY either expressed or implied.
// ServletMonitor.java:
// - org.apache.jserv.test.ServletMonitor
package org.apache.jserv.test;
import java.util.Enumeration;
import java.io.IOException;
import javax.servlet.Servlet;
import javax.servlet.ServletException;
import javax.servlet.ServletOutputStream;
import javax.servlet.ServletContext;
import javax.servlet.ServletConfig;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* Servlets that list the servlets in this virtual host
* and their init parameters.
*
* @author Francis J. Lacoste
*/
public class ServletMonitor extends HttpServlet {
/**
* Service the request.
*
* @exception ServletException if there is any sort of Exception
*
*/
public void service(HttpServletRequest request,
HttpServletResponse response)
throws IOException, ServletException
{
response.setContentType("text/html");
ServletOutputStream out = response.getOutputStream();
out.println("");
out.println("Servlet Monitor");
out.println("");
out.println("List of servlet in the host " +
request.getHeader ("Host") + "
");
Enumeration servlets = getServletConfig().getServletContext().getServlets();
while (servlets.hasMoreElements()) {
Servlet servlet = (Servlet) servlets.nextElement();
ServletConfig config = servlet.getServletConfig();
out.println("" + servlet.getClass().getName() + "
");
out.println("");
out.println("Servlet info: " +
(servlet.getServletInfo() == null ?
"???" : servlet.getServletInfo())
);
out.println("");
Enumeration params = config.getInitParameterNames();
if (params.hasMoreElements()) {
out.println("Initialization parameters:");
out.println("");
while (params.hasMoreElements()) {
String name = (String) params.nextElement();
String value = config.getInitParameter(name);
out.println(name + ": " + value);
} out. println("");
} out. println("
");
}
out.println("");
out.println("");
}
}