Cookies
Problem
You want the client (the browser) to remember some bit of information for you.
Solution
Bake a cookie, and serve it to the client along with your response.
Discussion
Cookies were invented by Netscape as a debugging technique, but have
since become ubiquitous: all modern browsers, including MSIE, and
text browsers such as Lynx accept and store them. A cookie is, at
heart, a small piece of text -- a name and value pair -- that
the server side generates and sends to the client. The browser
remembers them (nontransient cookies are stored to your hard disk;
Netscape creates a file called cookies
or
cookies.txt
, for example). The browser then
sends them back to the server on any subsequent visit to a page from
the same site. The Cookie
class is part of the
javax.servlet.http
package, so any
servlet implementation will include it. The
constructor is passed a name and value, but there are other
parameters you can set. Most
important is the expiry time, which is
in seconds from the time you first send it. The default is -1; if the
value is negative, the cookie is not saved to disk; it becomes a
"transient cookie” that exists only
until the browser exits and is then forgotten. For cookies that are
stored to disk, the expiry time is converted to a base of January 1,
1970, the beginning of Unix time and of the modern computing era.
When the browser visits a site that has sent it a cookie or cookies, it returns all of them as part of the HTTP headers. You retrieve them all (as ...
Get Java Cookbook now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.