Junior
Aké metódy sú určené na prácu s cookies v servletoch?
sobes.tech AI
Odpoveď od AI
V servletoch sa na prácu s cookie používajú metódy objektov HttpServletRequest (na získanie cookie) a HttpServletResponse (na odoslanie cookie).
Získanie cookie z požiadavky:
Cookie[] getCookies(): Vráti pole objektovCookie, získaných v požiadavke. Ak cookie nie je, vrátinull.
Odoslanie cookie v odpovedi:
void addCookie(Cookie cookie): Pridá zadaný objektCookiek odpovedi.
Trieda Cookie obsahuje nasledujúce základné metódy:
String getName(): Vráti názov cookie.String getValue(): Vráti hodnotu cookie.void setValue(String newValue): Nastaví novú hodnotu cookie.String getPath(): Vráti cestu, po ktorej je cookie dostupná.void setPath(String uri): Nastaví cestu pre cookie.String getDomain(): Vráti doménu, pre ktorú je cookie platná.void setDomain(String pattern): Nastaví doménu pre cookie.int getMaxAge(): Vráti maximálnu dobu života (v sekundách) cookie. Záporná hodnota znamená, že cookie existuje do zatvorenia prehliadača. 0 znamená odstránenie cookie.void setMaxAge(int expiry): Nastaví maximálnu dobu života cookie.boolean getSecure(): Vrátitrue, ak má byť cookie odoslaná iba cez zabezpečené (HTTPS) spojenie.void setSecure(boolean flag): Nastaví príznak bezpečného spojenia pre cookie.int getVersion(): Vráti verziu protokolu cookie.void setVersion(int v): Nastaví verziu protokolu cookie.boolean isHttpOnly(): Vrátitrue, ak je cookie dostupná iba cez HTTP požiadavky (nie cez JavaScript).void setHttpOnly(boolean isHttpOnly): Nastaví príznak HttpOnly pre cookie.
Príklad získania a nastavenia cookie:
// Získanie cookie z požiadavky
Cookie[] cookies = request.getCookies();
if (cookies != null) {
for (Cookie cookie : cookies) {
if ("userName".equals(cookie.getName())) {
String userName = cookie.getValue();
// Použite hodnotu cookie
break;
}
}
}
// Nastavenie novej cookie v odpovedi
Cookie newCookie = new Cookie("language", "en");
newCookie.setMaxAge(60 * 60 * 24 * 30); // Doba platnosti 30 dní
response.addCookie(newCookie);