HTTP state management is implemented in Java SE through the
class.
A CookieHandler
object provides a callback mechanism to provide
an HTTP state management
policy implementation in the HTTP protocol handler. That is, URLs that use
HTTP as the protocol, new URL("http://java.sun.com")
for example,
will use the HTTP protocol handler. This protocol handler calls back
to the CookieHander
object, if set, to handle the state management.
The CookieHandler
class is an abstract class that has two pairs
of related methods. The first pair, getDefault()
and
setDefault(cookieHandler)
, are static methods that enable you to
discover the current handler that is installed and to install your own handler.
No default handler is installed, and installing a handler is done on a system-wide basis. For applications running within a secure environment, that is, they have a security manager installed, you must have special permission to get and set the handler. For more information, see .
The second pair of related methods, put(uri, responseHeaders)
and
get(uri, requestHeaders)
, enable you to set and get all the applicable
cookies to and from a cookie cache for the specified URI in the response/request headers,
respectively. These methods are abstract, and a concrete implementation
of a CookieHandler
must provide the implementation.
Java Web Start and Java Plug-in have a default CookieHandler
installed.
However, if you are running a stand-alone application and want to enable HTTP state
management, you must set a system-wide handler. The next two pages
in this lesson show you how to do so.