# CookieHandler 回调机制

> 原文： [https://docs.oracle.com/javase/tutorial/networking/cookies/cookiehandler.html](https://docs.oracle.com/javase/tutorial/networking/cookies/cookiehandler.html)

HTTP 状态管理通过 [`java.net.CookieHandler`](https://docs.oracle.com/javase/8/docs/api/java/net/CookieHandler.html) 类在 Java SE 中实现。 `CookieHandler`对象提供回调机制，以在 HTTP 协议处理程序中提供 HTTP 状态管理策略实现。也就是说，使用 HTTP 作为协议的 URL（例如，`new URL("http://example.com")`）将使用 HTTP 协议处理程序。此协议处理程序回调`CookieHandler`对象（如果已设置）以处理状态管理。

`CookieHandler`类是一个抽象类，有两对相关方法。第一对`getDefault()`和`setDefault(cookieHandler)`是静态方法，使您能够发现已安装的当前处理程序并安装自己的处理程序。

没有安装默认处理程序，并且在系统范围内安装处理程序。对于在安全环境中运行的应用程序，即安装了安全管理器的应用程序，您必须具有获取和设置处理程序的特殊权限。有关更多信息，请参见 [`java.net.CookieHandler.getDefault`](https://docs.oracle.com/javase/8/docs/api/java/net/CookieHandler.html#getDefault--) 。

第二对相关方法`put(uri, responseHeaders)`和`get(uri, requestHeaders)`使您能够分别在响应/请求标头中为指定 URI 设置和获取 cookie 缓存中的所有适用 cookie。这些方法是抽象的，`CookieHandler`的具体实现必须提供实现。

Java Web Start 和 Java Plug-in 安装了默认的`CookieHandler`。但是，如果您正在运行独立应用程序并且想要启用 HTTP 状态管理，则必须设置系统范围的处理程序。本课程接下来的两页将向您展示如何操作。