![]() |
The Java Developers Almanac 1.4Order this book from Amazon. |
e1040. Getting a Request Parameter in a ServletIn a GET request, the request parameters are taken from the query string (the data following the question mark on the URL). For example, the URLhttp://hostname.com?p1=v1&p2=v2 contains two
request parameters - - p1 and p2 . In a POST request, the
request parameters are taken from both query string and the posted
data which is encoded in the body of the request. This example
demonstrates how to get the value of a request parameter in either a
GET or POST request.
// See also e1035 The Quintessential Servlet // This method is called by the servlet container to process a GET request. public void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException { doGetOrPost(req, resp); } // This method is called by the servlet container to process a POST request. public void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOException { doGetOrPost(req, resp); } // This method handles both GET and POST requests. private void doGetOrPost(HttpServletRequest req, HttpServletResponse resp) throws IOException { // Get the value of a request parameter; the name is case-sensitive String name = "param"; String value = req.getParameter(name); if (value == null) { // The request parameter 'param' was not present in the query string // e.g. http://hostname.com?a=b } else if ("".equals(value)) { // The request parameter 'param' was present in the query string but has no value // e.g. http://hostname.com?param=&a=b } // The following generates a page showing all the request parameters PrintWriter out = resp.getWriter(); resp.setContentType("text/plain"); // Get the values of all request parameters Enumeration enum = req.getParameterNames(); for (; enum.hasMoreElements(); ) { // Get the name of the request parameter name = (String)enum.nextElement(); out.println(name); // Get the value of the request parameter value = req.getParameter(name); // If the request parameter can appear more than once in the query string, get all values String[] values = req.getParameterValues(name); for (int i=0; i<values.length; i++) { out.println(" "+values[i]); } } out.close(); }
e1042. Getting the Requesting URL in a Servlet e1043. Getting a Request Header in a Servlet e1044. Processing a HEAD Request in a Servlet e1045. Getting the Client's Address in a Servlet © 2002 Addison-Wesley. |