The code snippet used to set the cookie is
cookie = new javax.servlet.http.Cookie(cookieHeaderName,"Sample Cookie");
cookie.setPath("/");
ookie.setMaxAge(365*24*60*60);
cookie.setSecure(false);
cookie.setVersion(0);
response.addCookie(cookie);
After a long struggle, we found the issue might be with the value of Expires is not set, IE10, and IE11 expecting the value for Expires and it is not considering the value set in Max-Age.
Fix for the issue - Use the below code to set the cookie value
int expiration = 365*24*60*60;
StringBuilder cookieString = new StringBuilder("TestCookie=Test; ");
DateFormat df = new SimpleDateFormat("EEE, dd-MMM-yyyy HH:mm:ss 'GMT'", Locale.US);
Calendar cal = Calendar.getInstance();
cal.add(Calendar.SECOND, expiration);
cookieString.append("Expires=" + df.format(cal.getTime()) + "; ");
//cookieString.append("Domain="+request.getServerName()+"; ");
cookieString.append("Version=0; ");
cookieString.append("Path=/; ");
cookieString.append("Max-Age=" + expiration + "; ");
cookieString.append("HttpOnly");
response.addHeader("Set-Cookie", cookieString.toString());
No comments:
Post a Comment
If you have any doubts or questions, please let us know.