File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
The moose likes Servlets and the fly likes Cookie.getMaxAge, encodeRedirectURL Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login

Win a copy of Java Interview Guide this week in the Jobs Discussion forum!
JavaRanch » Java Forums » Java » Servlets
Bookmark "Cookie.getMaxAge, encodeRedirectURL" Watch "Cookie.getMaxAge, encodeRedirectURL" New topic

Cookie.getMaxAge, encodeRedirectURL

Jonny Andersson
Ranch Hand

Joined: Sep 07, 2004
Posts: 87
I have asked two questions about Cookie.getMaxAge and response.encodeRedirectURL in the Web Component Certification (SCWCD) forum but it seems hard to get any answers there. But maybe someone in this forum has more knowledge and, particularly, more experience of JSP and servlets development?

These questions are of course not deadly important for me but I never like to leave something behind that I not fully understand when I am studying for an exam.

Truly agile Java application developer with Extreme Programming and high quality craftsmanship
Susanta Chatterjee
Ranch Hand

Joined: Aug 12, 2002
Posts: 102
Cookie.getMaxAge() Answer:

If you look at the properties of the stored cookies on the client machine, you will see the age (or expiry time) is correctly set.

But as per Netscape cookie specification , client is required to send only cookie name and value, hence the browser does not send expiry time for the cookies it sends to server.

Hence, the servlet api on server side defaults the value to the recieved cookies to -1. And, yes, if you get the cookie from cookie array on request object, then cookie.getMaxAge() will always return -1.

About encodeRedirectURL:

I googled with "difference encodeURL and encodeRedirectURL" and found this interesting discussion.
[ October 12, 2004: Message edited by: Susanta Chatterjee ]
Jonny Andersson
Ranch Hand

Joined: Sep 07, 2004
Posts: 87
Gosh! That explains clearly why I always get -1 : ) ... and I found that at least both IE and Firefox never returns the expiration date, only the "required" name and value, when I looked in the header using request.getHeader("COOKIE"). And now I will read through that information about encodeURL and encodeRedirectURL that you linked to.

Thank you very much for good answers!
I agree. Here's the link:
subject: Cookie.getMaxAge, encodeRedirectURL
It's not a secret anymore!