|
|||||||||
| Home >> All >> com >> eireneh >> [ net overview ] | PREV CLASS NEXT CLASS | ||||||||
SUMMARY: JAVADOC | SOURCE | DOWNLOAD | NESTED | FIELD | CONSTR | METHOD |
DETAIL: FIELD | CONSTR | METHOD | ||||||||
com.eireneh.net
Class Cookie

java.lang.Objectcom.eireneh.net.Cookie
- All Implemented Interfaces:
- java.lang.Cloneable
- public class Cookie
- extends java.lang.Object
- implements java.lang.Cloneable
- extends java.lang.Object
Creates a cookie, a small amount of information sent by a servlet to a Web browser, saved by the browser, and later sent back to the server when the client accesses the same Web page. A cookie's value can uniquely identify a client, so cookies are commonly used for session management.
A cookie has a name, a single value, and optional attributes such as a comment, path and domain qualifiers, a maximum age, and a version number. Some Web browsers have bugs in how they handle the attributes, so use them sparingly to improve the interoperability of your servlets.
The servlet sends cookies to the browser by using the
HttpServletResponse.addCookie method, which adds
fields to HTTP response headers to send cookies to the
browser, one at a time. The browser is expected to
support 20 cookies for each Web server, of at least 4 KB each.
The browser returns cookies to the servlet by adding
fields to HTTP request headers. You can retrieve all of the cookies
in a request by using the HttpServletRequest.getCookies method.
Several cookies might have the same name but different path attributes.
Cookies affect the caching of the Web pages that use them. HTTP 1.0 does not cache pages that use cookies created with this class. This class does not support the cache control defined with HTTP 1.1.
This class both the Version 0 (by Netscape) and Version 1 (by RFC 2109) cookie specifications. By default, cookies are created using Version 0 to ensure the best interoperability.
| Field Summary | |
private java.lang.String |
comment
Comment=VALUE ... |
private java.lang.String |
domain
Domain=VALUE ... |
private int |
expiry
Max-Age=VALUE ... |
private java.lang.String |
name
NAME= ... |
private java.lang.String |
path
Path=VALUE ... |
private boolean |
secure
Secure ... |
private static java.lang.String |
tspecials
Note -- disabled for now to allow full Netscape compatibility from RFC 2068, token special case characters private static final String tspecials = "()<>@,;:\\\"/[]?={} \t"; |
private java.lang.String |
value
value of NAME |
private int |
version
Version=1 ... |
| Constructor Summary | |
Cookie(java.lang.String header)
Constructs a cookie from a Set-cookie HTTP header |
|
Cookie(java.lang.String name,
java.lang.String value)
Constructs a cookie with a specified name and value. |
|
| Method Summary | |
java.lang.Object |
clone()
Overrides the standard java.lang.Object.clone
method to return a copy of this cookie. |
java.lang.String |
getComment()
Returns the comment describing the purpose of this cookie, or null if the cookie has no comment. |
java.lang.String |
getDomain()
Returns the domain name set for this cookie. |
int |
getMaxAge()
Returns the maximum age of the cookie, specified in seconds. |
java.lang.String |
getName()
Returns the name of the cookie. |
java.lang.String |
getPath()
Returns the paths (that is, URIs) on the server to which the browser returns this cookie. |
boolean |
getSecure()
Returns true if the browser is sending cookies
only over a secure protocol, or false if the
browser can use a standard protocol. |
java.lang.String |
getValue()
Returns the value of the cookie. |
int |
getVersion()
Returns the version of the protocol this cookie complies with. |
private boolean |
isToken(java.lang.String value)
|
void |
setComment(java.lang.String purpose)
Specifies a comment that describes a cookie's purpose. |
void |
setDomain(java.lang.String pattern)
Specifies the domain within which this cookie should be presented. |
void |
setMaxAge(int expiry)
Sets the maximum age of the cookie in seconds. |
void |
setPath(java.lang.String uri)
Specifies a path for the cookie, which is the set of URIs (Universal Resource Identifiers, the part of an URL that represents the server path) to which the client should return the cookie. |
void |
setSecure(boolean secure)
Indicates to the browser whether the cookie should only be sent using a secure protocol, such as HTTPS or SSL. |
void |
setValue(java.lang.String value)
Assigns a new value to a cookie after the cookie is created. |
void |
setVersion(int version)
Sets the version of the cookie protocol this cookie complies with. |
java.lang.String |
toString()
Returns a text version of this cookie |
| Methods inherited from class java.lang.Object |
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Field Detail |
name
private java.lang.String name
- NAME= ... "$Name" style is reserved
value
private java.lang.String value
- value of NAME
comment
private java.lang.String comment
- Comment=VALUE ... describes cookie's use Discard ... implied by expiry < 0
domain
private java.lang.String domain
- Domain=VALUE ... domain that sees cookie
expiry
private int expiry
- Max-Age=VALUE ... cookies auto-expire
path
private java.lang.String path
- Path=VALUE ... URLs that see the cookie
secure
private boolean secure
- Secure ... e.g. use SSL
version
private int version
- Version=1 ... means RFC 2109++ style
tspecials
private static final java.lang.String tspecials
- Note -- disabled for now to allow full Netscape compatibility
from RFC 2068, token special case characters
private static final String tspecials = "()<>@,;:\\\"/[]?={} \t";
- See Also:
- Constant Field Values
| Constructor Detail |
Cookie
public Cookie(java.lang.String name, java.lang.String value)
- Constructs a cookie with a specified name and value.
The name must conform to RFC 2109. That means it can contain only ASCII alphanumeric characters and cannot contain commas, semicolons, or white space or begin with a $ character. You cannot change the cookie's name after you create the cookie.
The value can be anything the server chooses to send. Its value is probably of interest only to the server. You can change the cookie's value after the cookie is created with the
setValuemethod.By default, cookies are created according to the Version 0 cookie specification. You can change the version with the
setVersionmethod.
Cookie
public Cookie(java.lang.String header)
- Constructs a cookie from a Set-cookie HTTP header
| Method Detail |
setComment
public void setComment(java.lang.String purpose)
- Specifies a comment that describes a cookie's purpose.
The comment is useful if the browser presents the cookie to the
user. Comments are not supported by Netscape Version 0 cookies.
getComment
public java.lang.String getComment()
- Returns the comment describing the purpose of this cookie, or
null if the cookie has no comment.
setDomain
public void setDomain(java.lang.String pattern)
- Specifies the domain within which this cookie should be presented.
The form of the domain name is specified by RFC 2109. A domain name begins with a dot (
.foo.com) and means that the cookie is visible to servers in a specified Domain Name System (DNS) zone (for example,www.foo.com, but nota.b.foo.com). By default, cookies are only returned to the server that sent them.
getDomain
public java.lang.String getDomain()
- Returns the domain name set for this cookie. The form of
the domain name is set by RFC 2109.
setMaxAge
public void setMaxAge(int expiry)
- Sets the maximum age of the cookie in seconds.
A positive value indicates that the cookie will expire after that many seconds have passed. Note that the value is the maximum age when the cookie will expire, not the cookie's current age.
A negative value means that the cookie is not stored persistently and will be deleted when the Web browser exits. A zero value causes the cookie to be deleted.
getMaxAge
public int getMaxAge()
- Returns the maximum age of the cookie, specified in seconds.
If
getMaxAgereturns a negative value, the cookie was not stored persistently (seesetMaxAge(int)55 ).This method does not return a zero value, because if a cookie's age was set to zero with
setMaxAge, the cookie was deleted.
setPath
public void setPath(java.lang.String uri)
- Specifies a path for the cookie, which is the set of URIs
(Universal Resource Identifiers, the part of an URL that
represents the server path) to which the client should
return the cookie.
The cookie is visible to all the pages in the directory you specify, and all the pages in that directory's subdirectories. A cookie's path must include the servlet that set the cookie, for example, servlet/dir1, which makes the cookie visible to all directories on the server under dir1.
Consult RFC 2109 (available on the Internet) for more information on setting path names for cookies.
getPath
public java.lang.String getPath()
- Returns the paths (that is, URIs) on the server to which the
browser returns this cookie. The cookie is visible to all
subdirectories within the specified path on the server.
setSecure
public void setSecure(boolean secure)
- Indicates to the browser whether the cookie should only be sent
using a secure protocol, such as HTTPS or SSL. You should only use
this method when the cookie's originating server used a secure
protocol to set the cookie's value.
The default value is
false.
getSecure
public boolean getSecure()
- Returns
trueif the browser is sending cookies only over a secure protocol, orfalseif the browser can use a standard protocol.
getName
public java.lang.String getName()
- Returns the name of the cookie. You cannot change the name
after the cookie is created.
setValue
public void setValue(java.lang.String value)
- Assigns a new value to a cookie after the cookie is created.
The value can be anything the server chooses to send,
and usually does not make sense to the browser.
If you use a binary value, you may want to use BASE64 encoding.
With Version 0 cookies, values should not contain white space, brackets, parentheses, equals signs, commas, double quotes, slashes, question marks, at signs, colons, and semicolons. Empty values may not behave the same way on all browsers.
getValue
public java.lang.String getValue()
- Returns the value of the cookie.
getVersion
public int getVersion()
- Returns the version of the protocol this cookie complies
with. Version 1 complies with RFC 2109,
and version 0 complies with the original
cookie specification drafted by Netscape. Cookies provided
by a browser use and identify the browser's cookie version.
setVersion
public void setVersion(int version)
- Sets the version of the cookie protocol this cookie complies
with. Version 0 complies with the original Netscape cookie
specification. Version 1 complies with RFC 2109.
Since RFC 2109 is still somewhat new, consider version 1 as experimental; do not use it yet on production sites.
toString
public java.lang.String toString()
- Returns a text version of this cookie
isToken
private boolean isToken(java.lang.String value)
clone
public java.lang.Object clone()
- Overrides the standard
java.lang.Object.clonemethod to return a copy of this cookie.
|
|||||||||
| Home >> All >> com >> eireneh >> [ net overview ] | PREV CLASS NEXT CLASS | ||||||||
SUMMARY: JAVADOC | SOURCE | DOWNLOAD | NESTED | FIELD | CONSTR | METHOD |
DETAIL: FIELD | CONSTR | METHOD | ||||||||
JAVADOC
com.eireneh.net.Cookie