What are cookies
Cookies are small pieces of key-value informations stored in the browser. They are always store as a strings = both key and value are strings.
Retrieve cookie(s)
You can retrieve cookies from the WebRequest
object, that can be retrieved from the RequestCycle
.
Quick hint: RequestCycle
can be obtained by calling Component#getRequestCycle()
or anywhere on the thread, that is responding to a web-request by calling RequestCycle.get()
.
WebRequest webRequest = (WebRequest)RequestCycle.get().getRequest(); // Variant A: Get cookie with specified name Cookie cookie = webRequest.getCookie("cookieName"); // Variant B: Get all cookies at once List<Cookie> cookiesList = webRequest.getCookies();
Create and save cookies
You can ask web-browser to store cookies, by adding cookie into the WebResponse
object, that can be retrieved from the RequestCycle.
WebResponse webResponse = (WebResponse)RequestCycle.get().getResponse(); // Create cookie and add it to the response Cookie cookie = new Cookie("cookieName", "cookieValue"); webResponse.addCookie(cookie);
Advanced attributes of the cookie
Cookie cookie = new Cookie("cookieName", "cookieValue"); cookie.setPath("/articles"); // Cookies will be stored and sent only for URLs under http://server/articles cookie.setMaxAge(7*24*60*60); // 7 days; expressed in seconds cookie.setComment("my comment for this cookie"); // Any comment you want