CookieHandler 回调机制

HTTP 状态 管理 是通过java.net.CookieHandler类在 Java SE 中实现的。 CookieHandler对象提供了一种回调机制,以在 HTTP 协议处理程序中提供 HTTP 状态 管理 策略的实现。也就是说,使用 HTTP 作为协议的 URL(例如new URL("http://example.com"))将使用 HTTP 协议处理程序。如果设置了,此协议处理程序将回调CookieHandler对象以处理状态 管理。

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

没有安装默认处理程序,并且安装处理程序是在系统范围内完成的。对于在安全环境中运行的应用程序,即它们安装了安全 管理 器,您必须具有特殊权限才能获取和设置处理程序。有关更多信息,请参见java.net.CookieHandler.getDefault

第二对相关方法put(uri, responseHeaders)get(uri, requestHeaders)使您可以分别在响应/请求 Headers 中为指定 URI 设置与 cookie 缓存之间的所有适用 cookie,以及从中获取所有适用的 cookie。这些方法是抽象的,必须提供CookieHandler的具体实现。

Java Web Start 和 Java 插件安装了默认的CookieHandler。但是,如果您正在运行独立的应用程序并想要启用 HTTP 状态 管理,则必须设置系统范围的处理程序。本课的后两页将向您展示如何进行。