Sobes.tech
Junior

Servletlərdə kukilər ilə işləmək üçün hansı metodlar nəzərdə tutulub?

sobes.tech Süni İntellekt

AI-dan cavab

Servletlərdə, HttpServletRequest obyektlərinin metodları (cookie almaq üçün) və HttpServletResponse obyektlərinin metodları (cookie göndərmək üçün) istifadə olunur.

Sorğudan cookie almaq:

  • Cookie[] getCookies(): Sorğudan alınan Cookie obyektlərinin massivini qaytarır. Əgər cookie yoxdursa, null qaytarır.

Cavabda cookie göndərmək:

  • void addCookie(Cookie cookie): Verilən Cookie obyektini cavaba əlavə edir.

Cookie sinfi aşağıdakı əsas metodları ehtiva edir:

  • String getName(): Cookie adını qaytarır.
  • String getValue(): Cookie dəyərini qaytarır.
  • void setValue(String newValue): Cookie üçün yeni dəyər təyin edir.
  • String getPath(): Cookie-nin əlçatan olduğu yolu qaytarır.
  • void setPath(String uri): Cookie üçün yolu təyin edir.
  • String getDomain(): Cookie üçün keçərli olan domeni qaytarır.
  • void setDomain(String pattern): Cookie üçün domeni təyin edir.
  • int getMaxAge(): Cookie-nin maksimum ömrünü (saniyə ilə) qaytarır. Mənfi dəyər cookie-nin brauzer bağlanana qədər mövcud olduğunu göstərir. 0 cookie-nin silindiyini göstərir.
  • void setMaxAge(int expiry): Cookie-nin maksimum ömrünü təyin edir.
  • boolean getSecure(): true isə, cookie yalnız təhlükəsiz (HTTPS) əlaqə vasitəsilə göndərilməlidir.
  • void setSecure(boolean flag): Cookie üçün təhlükəsiz əlaqə bayrağını təyin edir.
  • int getVersion(): Cookie protokol versiyasını qaytarır.
  • void setVersion(int v): Cookie protokol versiyasını təyin edir.
  • boolean isHttpOnly(): true isə, cookie yalnız HTTP sorğuları vasitəsilə əlçatan olur (JavaScript ilə deyil).
  • void setHttpOnly(boolean isHttpOnly): Cookie üçün HttpOnly bayrağını təyin edir.

Cookie alma və təyin etmə nümunəsi:

// Sorğudan cookie alma
Cookie[] cookies = request.getCookies();
if (cookies != null) {
    for (Cookie cookie : cookies) {
        if ("userName".equals(cookie.getName())) {
            String userName = cookie.getValue();
            // Cookie dəyərindən istifadə edin
            break;
        }
    }
}

// Cavabda yeni cookie təyin edin
Cookie newCookie = new Cookie("language", "en");
newCookie.setMaxAge(60 * 60 * 24 * 30); // 30 gün müddətində
response.addCookie(newCookie);