Sobes.tech
Junior
163

Quelles méthodes sont prévues pour travailler avec les cookies dans les servlets?

Réponse de l'IA

sobes.tech IA

Dans les servlets, les méthodes des objets HttpServletRequest (pour obtenir les cookies) et HttpServletResponse (pour envoyer des cookies) sont utilisées.

Obtention de cookies à partir de la requête :

  • Cookie[] getCookies(): Renvoie un tableau d'objets Cookie obtenus dans la requête. Si aucune cookie n'est présente, renvoie null.

Envoi de cookies dans la réponse :

  • void addCookie(Cookie cookie): Ajoute l'objet Cookie spécifié à la réponse.

La classe Cookie contient les méthodes principales suivantes :

  • String getName(): Renvoie le nom du cookie.
  • String getValue(): Renvoie la valeur du cookie.
  • void setValue(String newValue): Définit une nouvelle valeur pour le cookie.
  • String getPath(): Renvoie le chemin où le cookie est accessible.
  • void setPath(String uri): Définit le chemin pour le cookie.
  • String getDomain(): Renvoie le domaine pour lequel le cookie est valide.
  • void setDomain(String pattern): Définit le domaine pour le cookie.
  • int getMaxAge(): Renvoie la durée de vie maximale (en secondes) du cookie. Une valeur négative signifie que le cookie existe jusqu'à la fermeture du navigateur. 0 signifie supprimer le cookie.
  • void setMaxAge(int expiry): Définit la durée de vie maximale du cookie.
  • boolean getSecure(): Renvoie true si le cookie doit être envoyé uniquement via une connexion sécurisée (HTTPS).
  • void setSecure(boolean flag): Définit le drapeau de connexion sécurisée pour le cookie.
  • int getVersion(): Renvoie la version du protocole du cookie.
  • void setVersion(int v): Définit la version du protocole du cookie.
  • boolean isHttpOnly(): Renvoie true si le cookie est accessible uniquement via des requêtes HTTP (pas via JavaScript).
  • void setHttpOnly(boolean isHttpOnly): Définit le drapeau HttpOnly pour le cookie.

Exemple d'obtention et de définition de cookies :

// Obtention de cookies à partir de la requête
Cookie[] cookies = request.getCookies();
if (cookies != null) {
    for (Cookie cookie : cookies) {
        if ("userName".equals(cookie.getName())) {
            String userName = cookie.getValue();
            // Utilisez la valeur du cookie
            break;
        }
    }
}

// Définition d'un nouveau cookie dans la réponse
Cookie newCookie = new Cookie("language", "en");
newCookie.setMaxAge(60 * 60 * 24 * 30); // Durée de vie de 30 jours
response.addCookie(newCookie);