Junior
161
Servletlerde çerezlerle çalışmak için hangi yöntemler öngörülmüştür?
AI'dan gelen yanıt
sobes.tech yapay zeka
Servletlerde, HttpServletRequest nesnesinin metodları (cookie almak için) ve HttpServletResponse nesnesinin metodları (cookie göndermek için) kullanılır.
İsteğin içinden cookie almak:
Cookie[] getCookies(): İstekten alınanCookienesnelerinin dizisini döner. Eğer cookie yoksa,nulldöner.
Cevapta cookie göndermek:
void addCookie(Cookie cookie): BelirtilenCookienesnesini cevaba ekler.
Cookie sınıfı aşağıdaki temel metodları içerir:
String getName(): Cookie adını döner.String getValue(): Cookie değerini döner.void setValue(String newValue): Cookie için yeni değer ayarlar.String getPath(): Cookie'nin erişilebilir olduğu yolu döner.void setPath(String uri): Cookie için yolu ayarlar.String getDomain(): Cookie'nin geçerli olduğu alan adını döner.void setDomain(String pattern): Cookie için alan adını ayarlar.int getMaxAge(): Cookie'nin maksimum yaşam süresini (saniye cinsinden) döner. Negatif değer, cookie'nun tarayıcı kapatılana kadar geçerli olduğunu gösterir. 0, cookie'nun silindiğini gösterir.void setMaxAge(int expiry): Cookie'nin maksimum yaşam süresini ayarlar.boolean getSecure():trueise, cookie yalnızca güvenli (HTTPS) bağlantı üzerinden gönderilir.void setSecure(boolean flag): Cookie için güvenli bağlantı bayrağını ayarlar.int getVersion(): Cookie protokol sürümünü döner.void setVersion(int v): Cookie protokol sürümünü ayarlar.boolean isHttpOnly():trueise, cookie yalnızca HTTP istekleriyle erişilebilir (JavaScript ile değil).void setHttpOnly(boolean isHttpOnly): Cookie için HttpOnly bayrağını ayarlar.
Cookie alma ve ayarlama örneği:
// İstekten cookie alma
Cookie[] cookies = request.getCookies();
if (cookies != null) {
for (Cookie cookie : cookies) {
if ("userName".equals(cookie.getName())) {
String userName = cookie.getValue();
// Cookie değerini kullanın
break;
}
}
}
// Yanıtla yeni cookie ayarlama
Cookie newCookie = new Cookie("language", "en");
newCookie.setMaxAge(60 * 60 * 24 * 30); // 30 gün süre
response.addCookie(newCookie);