Junior
Milyen módszerek vannak a cookie-k kezelésére a servletekben?
sobes.tech MI
Válasz az MI-től
A servlet-ekben az HttpServletRequest objektum metódusait (a cookie-k lekéréséhez) és az HttpServletResponse objektum metódusait (a cookie-k küldéséhez) használják.
Cookie-k lekérése a kérésből:
Cookie[] getCookies(): Visszaadja a kérésben kapottCookieobjektumok tömbjét. Ha nincs cookie,null-t ad vissza.
Cookie-k küldése a válaszban:
void addCookie(Cookie cookie): Hozzáadja a megadottCookieobjektumot a válaszhoz.
A Cookie osztály a következő főbb metódusokat tartalmazza:
String getName(): Visszaadja a cookie nevét.String getValue(): Visszaadja a cookie értékét.void setValue(String newValue): Új értéket állít be a cookie-nak.String getPath(): Visszaadja az útvonalat, ahol a cookie elérhető.void setPath(String uri): Beállítja az útvonalat a cookie-hoz.String getDomain(): Visszaadja a domaint, amelyhez a cookie tartozik.void setDomain(String pattern): Beállítja a domaint a cookie-hoz.int getMaxAge(): Visszaadja a cookie maximális életidejét (másodpercben). Negatív érték azt jelenti, hogy a cookie a böngésző bezárásáig él. 0 a cookie törlése.void setMaxAge(int expiry): Beállítja a cookie maximális életidejét.boolean getSecure(): Visszaadja, hogy a cookie csak biztonságos (HTTPS) kapcsolaton keresztül küldhető-e.void setSecure(boolean flag): Beállítja a biztonságos kapcsolat flagjét a cookie-hoz.int getVersion(): Visszaadja a cookie protokoll verzióját.void setVersion(int v): Beállítja a cookie protokoll verzióját.boolean isHttpOnly(): Visszaadja, hogy a cookie csak HTTP-kéréseken keresztül elérhető-e (nem JavaScript által).void setHttpOnly(boolean isHttpOnly): Beállítja az HttpOnly flag-et a cookie-hoz.
Cookie-k lekérése és beállítása példával:
// Cookie-k lekérése a kérésből
Cookie[] cookies = request.getCookies();
if (cookies != null) {
for (Cookie cookie : cookies) {
if ("userName".equals(cookie.getName())) {
String userName = cookie.getValue();
// Használja a cookie értékét
break;
}
}
}
// Új cookie beállítása a válaszban
Cookie newCookie = new Cookie("language", "en");
newCookie.setMaxAge(60 * 60 * 24 * 30); // 30 napos időtartam
response.addCookie(newCookie);