A cookie is a small piece of information that is persisted between the multiple client requests.
By default, each request is considered as a new request. In cookies technique, we add cookie with response from the servlet. So cookie is stored in the cache of the browser. After that if request is sent by the user, cookie is added with request by default. Thus, we recognize the user as the old user.
Types of cookies in servlets:
- Non-persistent cookie
- Persistent cookie
It is valid for single session only. It is removed each time when user closes the browser.
Persistent cookie:
It is valid for multiple session . It is not removed each time when user closes the browser. It is removed only if user logout or sign out.
Advantage of Cookies:
- Simplest technique of maintaining the state.
- Cookies are maintained at client side.
- It will not work if cookie is disabled from the browser.
- Only textual information can be set in Cookie object.
javax.servlet.http.Cookie
Constructor of Cookie class:
Constructor
|
Description
|
Cookie()
|
constructs a cookie.
|
Cookie(String name, String value)
|
constructs a cookie with a specified name and value.
|
Useful Methods of Cookie class:
Method
|
Description
|
public void setMaxAge(int expiry)
|
Sets the maximum age of the cookie in seconds.
|
public String getName()
|
Returns the name of the cookie. The name cannot be changed after
creation.
|
public String getValue()
|
Returns the value of the cookie.
|
public void setName(String name)
|
changes the name of the cookie.
|
public void setValue(String value)
|
changes the value of the cookie.
|
Other methods required for using Cookies:
For adding cookie or getting the value from the cookie, we need some methods provided by other interfaces. They are:
- public void addCookie(Cookie ck):method of HttpServletResponse interface is used to add cookie in response object.
- public Cookie[] getCookies():method of HttpServletRequest interface is used to return all the cookies from the browser.
Cookie ck=new Cookie("user","sonoo jaiswal"); //creating cookie object
response.addCookie(ck); //adding cookie in the response
Delete Cookie:
Cookie ck=new Cookie("user",""); //deleting value of cookie
ck.setMaxAge(0); //changing the maximum age to 0 seconds
response.addCookie(ck); //adding cookie in the response
Get Cookies:
Cookie ck[]=request.getCookies();
for(int i=0;i<ck.length;i++){
out.print("<br>"+ck[i].getName()+" "+ck[i].getValue()); //printing name and value of cookie
}
No comments:
Post a Comment