pier 01/01/24 16:42:15 Added: webapps/examples/WEB-INF/classes TroubleShooter.java Log: Added a TroubleShooter servlet (like SnoopServlet, but better) Revision Changes Path 1.1 jakarta-tomcat-4.0/webapps/examples/WEB-INF/classes/TroubleShooter.java Index: TroubleShooter.java =================================================================== /* $Id: TroubleShooter.java,v 1.1 2001/01/25 00:42:15 pier Exp $ * */ import java.io.IOException; import java.io.PrintWriter; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Enumeration; import javax.servlet.*; import javax.servlet.http.*; public class TroubleShooter extends HttpServlet { public void printHeader(PrintWriter out, String header) { out.println(" <tr>"); out.println(" <td bgcolor=\"#999999\" colspan=\"2\">"); out.println(" <b>"+header+"</b>"); out.println(" </td>"); out.println(" </tr>"); } public void printValue(PrintWriter out, String key, String val) { out.println(" <tr>"); out.println(" <td bgcolor=\"#cccccc\">"+key+"</td>"); out.println(" <td bgcolor=\"#ffffff\">"+val+"</td>"); out.println(" </tr>"); } public void printVoid(PrintWriter out) { out.println(" <tr><td bgcolor=\"#ffffff\" colspan=\"2\"> </td></tr>"); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request,response); } public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { PrintWriter out = response.getWriter(); response.setContentType("text/html"); out.println("<html>"); out.println(" <head>"); out.println(" <title>TroubleShooter Servlet Output</title>"); out.println(" </head>"); out.println(" <body>"); out.println(" <center>"); out.println(" <h2>TroubleShooter Servlet Output</h2>"); String url=request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+request.getRequestURI(); out.println(" <table border=\"0\" cellspacing=\"2\" cellpadding=\"2\">"); out.println(" <tr>"); out.println(" <td>"); out.println(" <form action=\""+url+"\" method=\"GET\">"); out.println(" <input type=\"hidden\" name=\"hiddenName\" value=\"hiddenValue\">"); out.println(" <input type=\"submit\" name=\"submitName\" value=\"Submit using GET\">"); out.println(" </form>"); out.println(" </td>"); out.println(" <td>"); out.println(" <form action=\""+url+"\" method=\"POST\">"); out.println(" <input type=\"hidden\" name=\"hiddenName\" value=\"hiddenValue\">"); out.println(" <input type=\"submit\" name=\"submitName\" value=\"Submit using POST\">"); out.println(" </form>"); out.println(" </td>"); out.println(" <td>"); out.println(" <form enctype=\"multipart/form-data\" action=\""+url+"\" method=\"POST\">"); out.println(" <input type=\"hidden\" name=\"hiddenName\" value=\"hiddenValue\">"); out.println(" <input type=\"submit\" name=\"submitName\" value=\"Submit using POST with "multipart/form-data" encoding\">"); out.println(" </form>"); out.println(" </td>"); out.println(" </tr>"); out.println(" </table>"); out.println(" </center>"); out.println(" <br>"); out.println(" <table width=\"100%\" border=\"1\" cellspacing=\"0\" cellpadding=\"1\">"); printHeader(out,"Servlet init parameters:"); Enumeration enum = getInitParameterNames(); while (enum.hasMoreElements()) { String key = (String)enum.nextElement(); String val = getInitParameter(key); printValue(out,key,val); } printVoid(out); printHeader(out,"Context init parameters:"); ServletContext context = getServletContext(); enum = context.getInitParameterNames(); while (enum.hasMoreElements()) { String key = (String)enum.nextElement(); Object val = context.getInitParameter(key); printValue(out,key,val.toString()); } printVoid(out); printHeader(out,"Context attributes:"); enum = context.getAttributeNames(); while (enum.hasMoreElements()) { String key = (String)enum.nextElement(); Object val = context.getAttribute(key); printValue(out,key,val.toString()); } printVoid(out); printHeader(out,"Request attributes:"); enum = request.getAttributeNames(); while (enum.hasMoreElements()) { String key = (String)enum.nextElement(); Object val = request.getAttribute(key); printValue(out,key,val.toString()); } printVoid(out); printHeader(out,"Request Data:"); printValue(out,"Servlet Name:", getServletName()); printValue(out,"Protocol:", request.getProtocol()); printValue(out,"Scheme:", request.getScheme()); printValue(out,"Server Name:", request.getServerName()); printValue(out,"Server Port:", Integer.toString(request.getServerPort())); printValue(out,"Server Info:", context.getServerInfo()); printValue(out,"Remote Addr:", request.getRemoteAddr()); printValue(out,"Remote Host:", request.getRemoteHost()); printValue(out,"Character Encoding:", request.getCharacterEncoding()); printValue(out,"Content Length:", Integer.toString(request.getContentLength())); printValue(out,"Content Type:", request.getContentType()); printValue(out,"Locale:", request.getLocale().toString()); printValue(out,"Default Response Buffer:", Integer.toString(response.getBufferSize())); printVoid(out); printHeader(out,"Parameter names in this request:"); enum = request.getParameterNames(); while (enum.hasMoreElements()) { String key = (String)enum.nextElement(); String[] val = request.getParameterValues(key); for(int i = 0; i < val.length; i++) printValue(out,key,val[i]); } printVoid(out); printHeader(out,"Headers in this request:"); enum = request.getHeaderNames(); while (enum.hasMoreElements()) { String key = (String)enum.nextElement(); String val = request.getHeader(key); printValue(out,key,val); } printVoid(out); printHeader(out,"Cookies in this request:"); Cookie[] cookies = request.getCookies(); for (int i = 0; i < cookies.length; i++) { Cookie cookie = cookies[i]; printValue(out,cookie.getName(),cookie.getValue()); } printVoid(out); printHeader(out,"Extra Request Data:"); printValue(out,"Request Is Secure:", new Boolean(request.isSecure()).toString()); printValue(out,"Auth Type:", request.getAuthType()); printValue(out,"HTTP Method:", request.getMethod()); printValue(out,"Remote User:", request.getRemoteUser()); printValue(out,"Request URI:", request.getRequestURI()); printValue(out,"Context Path:", request.getContextPath()); printValue(out,"Servlet Path:", request.getServletPath()); printValue(out,"Path Info:", request.getPathInfo()); printValue(out,"Path Trans:", request.getPathTranslated()); printValue(out,"Query String:", request.getQueryString()); printVoid(out); printHeader(out,"Session information:"); SimpleDateFormat format = new SimpleDateFormat("yyyy/MM/dd hh:mm:ss.SSS z"); HttpSession session = request.getSession(); printValue(out,"Requested Session Id:", request.getRequestedSessionId()); printValue(out,"Current Session Id:", session.getId()); printValue(out,"Current Time:", format.format(new Date())); printValue(out,"Session Created Time:", format.format(new Date(session.getCreationTime()))); printValue(out,"Session Last Accessed Time:", format.format(new Date(session.getLastAccessedTime()))); printValue(out,"Session Max Inactive Interval Seconds:", Integer.toString(session.getMaxInactiveInterval())); printVoid(out); printHeader(out,"Session values:"); enum = session.getAttributeNames(); while (enum.hasMoreElements()) { String key = (String) enum.nextElement(); Object val = session.getAttribute(key); printValue(out,key,val.toString()); } printVoid(out); printHeader(out,"Request body content:"); out.println(" <tr>"); out.println(" <td bgcolor=\"#ffffff\" colspan=\"2\">"); out.print("<pre>"); ServletInputStream in=request.getInputStream(); for (int i = 0; i < request.getContentLength(); i++) { int c=-1; try { c=in.read(); } catch (IOException e) { out.println(); out.println("Exception reading data"); e.printStackTrace(out); break; } out.write(c); } out.println("</pre>"); out.println(" </td>"); out.println(" </tr>"); out.println(" </table>"); out.println(" </body>"); out.println("</html>"); out.flush(); } } --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]