One of the nice features of Java servlets is that all of the form parsing is handled
automatically. In part 4 of Server-Side Web Applications Using Servlets and JSP, Marty Hall
covers URL-encoding, GET, POST, and all the rest.
“Extracting the needed information from this form data is traditionally one of the most
tedious parts of CGI programming. First of all, you have to read the data one way for GET
requests (in traditional CGI, this is usually via the QUERY_STRING environment
variable), and another way for POST requests (usually be reading the standard input).
Second, you have to chop the pairs at the ampersands, then separate the parameter names
(left of the equals signs) from the parameter values (right of the equals signs). Third, you
have to URL-decode the values. Alphanumeric characters get sent unchanged, but spaces
get converted to plus signs and other characters get converted to %XX where XX is the
ASCII (or ISO Latin-1) value of the character, in hex.”