I cookie sono piccoli file di testo, creati e gestiti dal browser su richiesta dei siti, attraverso la response. E’ quindi possibile per un sito controllarne contenuto, creazione, distruzione e quant’altro.
In Spring MVC i cookie si controllano attraverso l’oggetto HttpServlet response
e si usa l’annotazione @CookieValue
per gestirli.
Per leggere un parametro di un cookie:
import
org.springframework.web.bind.annotation.CookieValue;
import
org.springframework.web.bind.annotation.RequestMapping;
//..
@RequestMapping
(
"/hello.html"
)
public
String hello(
@CookieValue
(value =
"foo"
, defaultValue =
"hello"
) String fooCookie) {
//..
}
Mentre per scrivere un cookie:
import
javax.servlet.http.Cookie;
import
javax.servlet.http.HttpServletResponse;
import
org.springframework.web.bind.annotation.CookieValue;
import
org.springframework.web.bind.annotation.RequestMapping;
//..
@RequestMapping
(
"/hello.html"
)
public
String hello(HttpServletResponse response) {
response.addCookie(
new
Cookie(
"foo"
,
"bar"
));
//..
}
//..
Il cookie è, come si vede, un oggetto. In questo esempio si imposta il “tempo di vita” del cookie (in secondi):
Cookie foo =
new
Cookie(
"foo"
,
"bar"
);
//bake cookie
foo.setMaxAge(
1000
);
//set expire time to 1000 sec
response.addCookie(foo);
//put cookie in response
Questo articolo è stato “rubato” da qui. Grazie Viral!