HTTP state management is implemented in Java SE through thejava.net.CookieHandler
class. ACookieHandler
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 theCookieHander
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()
andsetDefault(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
java.net.CookieHandler.getDefault
.The second pair of related methods,
put(uri, responseHeaders)
andget(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 aCookieHandler
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.