Servlet that Handles Get and Post Methods
import java.io.*; import java.util.*; import javax.servlet.*; import javax.servlet.http.*; public class jbsGetPostEcho extends HttpServlet { String queryString; ServletOutputStream out; public void doPost (HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { try { DataInputStream in = new DataInputStream ( req.getInputStream () ); String s; queryString = ""; while ( (s = in.readLine () ) != null ) { queryString += s; } // end while } catch (IOException ioe) { } // end catch doGet ( req, resp ); } // end doPost public void doGet (HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { resp.setContentType("text/html"); out = resp.getOutputStream(); out.println("<html>"); out.println("<head><title>jbsEcho Servlet</title></head>"); out.println("<body>"); out.println("<h1>URL:</h1>"); out.println("<pre>"); out.println (HttpUtils.getRequestURL (req).toString ()); out.println("</pre>"); out.println("<h1>HTTP Header Variables:</h1>"); out.println("<pre>"); out.println("Request method: " + req.getMethod()); out.println("Request URI: " + req.getRequestURI()); out.println("Request protocol: " + req.getProtocol()); out.println("Servlet path: " + req.getServletPath()); out.println("Path info: " + req.getPathInfo()); out.println("Path translated: " + req.getPathTranslated()); if ( queryString == null ) queryString = req.getQueryString(); out.println("Query string: " + queryString); out.println("Content length: " + req.getContentLength()); out.println("Content type: " + req.getContentType()); out.println("Server name: " + req.getServerName()); out.println("Server port: " + req.getServerPort()); out.println("Remote user: " + req.getRemoteUser()); out.println("Remote address: " + req.getRemoteAddr()); out.println("Remote host: " + req.getRemoteHost()); out.println("Authorization scheme: " + req.getAuthType()); out.println("</pre>"); parseQuery ( ); queryString = null; // this is IMPORTANT } // end doGet private void parseQuery ( ) { try { out.println("<h1>Query String Attribute/Value Pairs:</h1>"); out.println("<pre>"); if ( queryString != null ) { try { Hashtable attrvals = HttpUtils.parseQueryString ( queryString ); Enumeration e = attrvals.keys (); while ( e.hasMoreElements() ) { Object key = e.nextElement (); Object value = attrvals.get ( key ); String values[] = (String[])value; out.println( (String)key + ": " + values[0] ); } // end while } // end try catch (IllegalArgumentException iae ) { } // end catch } // end if else { out.println("No query specified"); } // end else out.println("</pre>"); out.println("</body></html>"); } // end try catch (IOException ioe) { } // end catch } // end parseQuery public String getServletInfo() { return "A servlet that echos HTTP header variables"; } } // end jbsGetPostEcho