Sobes.tech
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ınan Cookie nesnelerinin dizisini döner. Eğer cookie yoksa, null döner.

Cevapta cookie göndermek:

  • void addCookie(Cookie cookie): Belirtilen Cookie nesnesini 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(): true ise, 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(): true ise, 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);