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 ]