home *** CD-ROM | disk | FTP | other *** search
Wrap
Java Source | 1999-08-28 | 5.5 KB | 140 lines
import java.io.*; import java.util.*; import javax.servlet.*; import javax.servlet.http.*; public class info extends HttpServlet { ServletConfig config; public void init(ServletConfig tconfig) throws ServletException { super.init(tconfig); config=tconfig;} public String getServletInfo() { return "Info version 1.8: a demonstration and diagnostic servlet from vqSoft";} private void pp(PrintWriter os, String name, String value) { os.print("<b>"+name+": </b>"); if (value==null) os.print("<b>none</b>"); else os.print(value); os.println("<br>");} private void pp(PrintWriter os, String name, int value) { pp(os, name, String.valueOf(value)); } public void dostuff(HttpServletRequest req, HttpServletResponse rep) throws ServletException, IOException { log("invoked"); rep.setContentType("text/html"); PrintWriter os=rep.getWriter(); os.println("<html>"); os.println("<head><title>Info servlet</title></head>"); os.println("<body bgcolor=#add8af>"); os.println("<table border=0 cellspacing=0 cellpadding=2 cols=3 width=100%>"); os.println("<tr><td valign=top>"); os.println("<h1 align=center>Info servlet</h1>"); os.println("<hr>"); os.println("<p>This page was generated by <i>Info</i> version 1.8, a demonstration and diagnostic servlet supplied with <a href=http://www/vqsoft.com/vq/server/index.html><i>vq</i>Server</a>. "); os.println("<i>Info</i> lists its initialisation parameters, information about the http request which invoked it and the http request parameters passed to it.</p>"); os.println("<hr>"); os.println("<h3>Servlet initialisation parameters</h3>"); Enumeration e=config.getInitParameterNames(); if (!e.hasMoreElements()) os.println("<b>None!</b>"); else while (e.hasMoreElements()) { String name=(String) e.nextElement(); String value=config.getInitParameter(name); pp(os, name, value);} os.println("<hr>"); os.println("<h3>Request parameters</h3>"); pp(os, "Request method", req.getMethod()); pp(os, "Request URI", req.getRequestURI()); pp(os, "Request protocol", req.getProtocol()); pp(os, "Servlet path", req.getServletPath()); pp(os, "Path info", req.getPathInfo()); pp(os, "Path translated", req.getPathTranslated()); pp(os, "Query string", req.getQueryString()); pp(os, "Content length", req.getContentLength()); pp(os, "Content type", req.getContentType()); pp(os, "Server name", req.getServerName()); pp(os, "Server port", req.getServerPort()); pp(os, "Remote user", req.getRemoteUser()); pp(os, "Remote address", req.getRemoteAddr()); pp(os, "Remote host", req.getRemoteHost()); pp(os, "Authorization scheme", req.getAuthType()); os.println("<hr>"); os.println("<h3>Request headers</h3>"); e=req.getHeaderNames(); if (!e.hasMoreElements()) os.println("<b>None!</b>"); else while (e.hasMoreElements()) { String name=(String) e.nextElement(); String value=(String) req.getHeader(name); pp(os, name, value);} os.println("<hr>"); os.println("<h3>Servlet parameters</h3>"); e=req.getParameterNames(); if (!e.hasMoreElements()) os.println("<b>None!</b>"); else while (e.hasMoreElements()) { String name=(String) e.nextElement(); String value=req.getParameter(name); StringBuffer tbuffer=new StringBuffer(); pp(os, name, value);} os.println("<hr>"); os.println("<h3>Other servlets (by name)</h3>"); ServletContext tcontext=config.getServletContext(); e=tcontext.getServletNames(); if (!e.hasMoreElements()) os.println("<b>None!</b>"); else while (e.hasMoreElements()) { os.println((String) e.nextElement()+"<br>");} os.println("<hr>"); os.println("<h3>Other servlets</h3>"); e=tcontext.getServlets(); if (!e.hasMoreElements()) os.println("<b>None!</b>"); else while (e.hasMoreElements()) { Servlet tservlet=(Servlet) e.nextElement(); os.println(tservlet.getServletInfo()+"<br>");} os.println("<hr>"); os.println("<h3>Cookies</h3>"); Cookie[] cookies =req.getCookies(); for (int i = 0; i < cookies.length; i++) { os.println("<b>" + cookies[i].getName() + "</b> "); os.println("<i>" + cookies[i].getValue() + "</i><BR>"); } os.println("<hr>"); os.println("<p><i>Info</i> version 1.8. <i>Info</i> and <a href=http://www/vqsoft.com/vq/server/index.html><i>vq</i>Server</a> are copyright © 1997-99 <i>vq</i>Soft and Steve Shering."); os.println("</td>"); os.println("<td width=20></td>"); os.println("<p><i>Info</i> version 1.8. <i>Info</i> and <a href=http://www/vqsoft.com/vq/server/index.html><i>vq</i>Server</a> are copyright © 1997-99 <i>vq</i>Soft and Steve Shering."); os.println("</td>"); os.println("<td width=20></td>"); os.println("<td valign=top width=150>"); os.println("<a href=/index.html><img src=/vq/server/icons/utab.gif border=0 height=15 width=15>Home page</A>"); os.println("</td>"); os.println("</table>"); os.println("</body></html>"); os.flush();} public void doGet(HttpServletRequest req, HttpServletResponse rep) throws ServletException, IOException { dostuff(req, rep);} public void doPost(HttpServletRequest req, HttpServletResponse rep) throws ServletException, IOException { dostuff(req, rep);}}