| public class java.net CookieManager
|
Java SE 6 |
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 NetscapeCookieSotre.
There're various ways user can hook up his own HTTP cookie management behavior, e.g.
- Use CookieHandler.setDefault to set a brand new
CookieHandlerimplementation- Let CookieManager be the default
CookieHandlerimplementation, but implement user's ownCookieStoreandCookiePolicyand 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
CookieHandlerimplementation, 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.
| version | %I%, %E% |
| since | 1.6 |
| Constructors | |||||
|---|---|---|---|---|---|
| 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). | ||||
| public | CookieManager(CookieStore store, CookiePolicy cookiePolicy) Details
Create a new cookie manager with specified cookie store and cookie policy.
| ||||
| Methods | |
|---|---|
| public Map | get(URI uri, Map requestHeaders) throws IOException |
| public void | put(URI uri, Map responseHeaders) throws IOException |
| Properties | |||
|---|---|---|---|
| public void | setCookiePolicy(CookiePolicy cookiePolicy) Details
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.
| ||
| public CookieStore | getCookieStore() Details
To retrieve current cookie store.
| ||
| About DocWeb · Bundles · Export · Export All | Top 10 · Statistics · Login |
| About Sun · Contact · Privacy · Terms of Use · Trademarks | Java SE 6 · Copyright © 1994-2009 Sun Microsystems, Inc.All rights reserved. Use is subject to license terms |
![]() |
![]() |
|