javax.servlet.http

Class HttpUtils


public class HttpUtils
extends java.lang.Object

A set of utility methods for http server writers.
Since:
Servlet API 1.0

Constructor Summary

HttpUtils()
Creates a HttpUtils object, cool!

Method Summary

static StringBuffer
getRequestURL(HttpServletRequest request)
Determines which URL the client used when issuing his request.
static Hashtable
parsePostData(int contentLength, ServletInputStream in)
Reads the data provided by the client using the POST method, passes these on to HttpUtils.parseQueryString for further treatment, and returns the resulting Hashtable.
static Hashtable
parseQueryString(String queryString)
Turns a http QUERY_STRING that conforms to rfc1945("Hypertext Transfer Protocol -- HTTP/1.0") or rfc2068 ("Hypertext Transfer Protocol -- HTTP/1.1") into a Hashtable with key = key and as values arrays of String.

Constructor Details

HttpUtils

public HttpUtils()
Creates a HttpUtils object, cool!
Since:
Servlet API 1.0

Method Details

getRequestURL

public static StringBuffer getRequestURL(HttpServletRequest request)
Determines which URL the client used when issuing his request. Does not return the querystring (the ?name=value part)
Returns:
a URL.
Since:
Servlet API 1.0

parsePostData

public static Hashtable parsePostData(int contentLength,
                                      ServletInputStream in)
            throws IllegalArgumentException
Reads the data provided by the client using the POST method, passes these on to HttpUtils.parseQueryString for further treatment, and returns the resulting Hashtable.

bonus:
When contentLength < 0 it keeps on reading data until EOF
throws an IllegalArgumentException when contentLength != amount of data in the inputstream

Returns:
a Hashtable with String keys, and array of String values.
Since:
Servlet API 1.0

parseQueryString

public static Hashtable parseQueryString(String queryString)
            throws IllegalArgumentException
Turns a http QUERY_STRING that conforms to rfc1945("Hypertext Transfer Protocol -- HTTP/1.0") or rfc2068 ("Hypertext Transfer Protocol -- HTTP/1.1") into a Hashtable with key = key and as values arrays of String. Implementation note: when a key or value is missing it will be represented as a zero length string.

Results:
?a=b : key = "a", value = "b"
?a : key = "a", value = ""
?=b : key = "", value = "b"

Parameters:
queryString - The queryString to process
Returns:
a Hashtable with String keys, and array of String values.
Since:
Servlet API 1.0