Class CookieManager
- java.lang.Object
-
- java.net.CookieHandler
-
- java.net.CookieManager
public class CookieManager extends CookieHandler
CookieManager provides a concrete implementation of CookieHandler
, which separates the storage of cookies from the policy surrounding accepting and rejecting cookies. A CookieManager is initialized with a CookieStore
which manages storage, and a CookiePolicy
object, which makes policy decisions on cookie acceptance/rejection.
The HTTP cookie management in java.net package looks like:
use CookieHandler <------- HttpURLConnection ^ | impl | use CookieManager -------> CookiePolicy | use |--------> HttpCookie | ^ | | use | use | |--------> CookieStore ^ | impl | Internal in-memory implementation
- CookieHandler is at the core of cookie management. User can call CookieHandler.setDefault to set a concrete CookieHanlder implementation to be used.
- CookiePolicy.shouldAccept will be called by CookieManager.put to see whether or not one cookie should be accepted and put into cookie store. User can use any of three pre-defined CookiePolicy, namely ACCEPT_ALL, ACCEPT_NONE and ACCEPT_ORIGINAL_SERVER, or user can define his own CookiePolicy implementation and tell CookieManager to use it.
- CookieStore is the place where any accepted HTTP cookie is stored in. If not specified when created, a CookieManager instance will use an internal in-memory implementation. Or user can implements one and tell CookieManager to use it.
- Currently, only CookieStore.add(URI, HttpCookie) and CookieStore.get(URI) are used by CookieManager. Others are for completeness and might be needed by a more sophisticated CookieStore implementation, e.g. a NetscapeCookieStore.
There're various ways user can hook up his own HTTP cookie management behavior, e.g.
- Use CookieHandler.setDefault to set a brand new
CookieHandler
implementation- Let CookieManager be the default
CookieHandler
implementation, but implement user's ownCookieStore
andCookiePolicy
and tell default CookieManager to use them:// this should be done at the beginning of an HTTP session CookieHandler.setDefault(new CookieManager(new MyCookieStore(), new MyCookiePolicy()));- Let CookieManager be the default
CookieHandler
implementation, but use customizedCookiePolicy
:// this should be done at the beginning of an HTTP session CookieHandler.setDefault(new CookieManager()); // this can be done at any point of an HTTP session ((CookieManager)CookieHandler.getDefault()).setCookiePolicy(new MyCookiePolicy());
The implementation conforms to RFC 2965, section 3.3.
- Since:
- 1.6
- See Also:
CookiePolicy
Constructors
Constructor | Description |
---|---|
CookieManager() | Create a new cookie manager. |
CookieManager(CookieStore store,
CookiePolicy cookiePolicy) | Create a new cookie manager with specified cookie store and cookie policy. |
Methods
Modifier and Type | Method | Description |
---|---|---|
CookieStore | getCookieStore() | To retrieve current cookie store. |
void | setCookiePolicy(CookiePolicy cookiePolicy) | To set the cookie policy of this cookie manager. |
Methods declared in class java.net.CookieHandler
get, getDefault, put, setDefault
Methods declared in class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Constructors
CookieManager
public CookieManager()
Create a new cookie manager.
This constructor will create new cookie manager with default cookie store and accept policy. The effect is same as CookieManager(null, null)
.
CookieManager
public CookieManager(CookieStore store, CookiePolicy cookiePolicy)
Create a new cookie manager with specified cookie store and cookie policy.
- Parameters:
-
store
- aCookieStore
to be used by cookie manager. ifnull
, cookie manager will use a default one, which is an in-memory CookieStore implementation. -
cookiePolicy
- aCookiePolicy
instance to be used by cookie manager as policy callback. ifnull
, ACCEPT_ORIGINAL_SERVER will be used.
Methods
setCookiePolicy
public void setCookiePolicy(CookiePolicy cookiePolicy)
To set the cookie policy of this cookie manager.
A instance of CookieManager
will have cookie policy ACCEPT_ORIGINAL_SERVER by default. Users always can call this method to set another cookie policy.
- Parameters:
-
cookiePolicy
- the cookie policy. Can benull
, which has no effects on current cookie policy.
getCookieStore
public CookieStore getCookieStore()
To retrieve current cookie store.
- Returns:
- the cookie store currently used by cookie manager.
© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/net/CookieManager.html