1.Définir les cookies
Copiez le code comme suit :
Cookie cookie = new Cookie("clé", "valeur");
cookie.setMaxAge(60);
Définissez une durée de vie de 60 secondes. Si la valeur est négative, il s'agira d'un cookie de processus du navigateur (enregistré en mémoire), qui deviendra invalide à la fermeture du navigateur.
Copiez le code comme suit :
cookie.setPath("/test/test2");
Définissez le chemin du cookie. S'il n'est pas défini, ce sera le chemin actuel (pour le servlet, il s'agit de request.getContextPath() + la partie du chemin du modèle d'URL du servlet configuré dans web.xml).
Copiez le code comme suit :
réponse.addCookie(cookie);
2. Lire les cookies
Cette méthode peut lire tous les objets Cookie du chemin actuel et du "chemin parent direct". S'il n'y a pas de cookies, elle renverra null.
Copiez le code comme suit :
Cookie[] cookies = request.getCookies();
3.Supprimer les cookies
Copiez le code comme suit :
Cookie cookie = new Cookie("clé", null);
cookie.setMaxAge(0);
Réglez sur 0 pour supprimer le cookie immédiatement
Copiez le code comme suit :
cookie.setPath("/test/test2");
Supprimer les cookies sur le chemin spécifié. Si le chemin n'est pas défini, la valeur par défaut est de supprimer les cookies sur le chemin actuel.
Copiez le code comme suit :
réponse.addCookie(cookie);
4. Remarque : supposons que la structure du chemin est la suivante
Copiez le code comme suit :
test/test2/test345/test555/test666
a. Les cookies avec le même nom de clé (les valeurs peuvent être identiques ou différentes) peuvent exister dans des chemins différents.
b. Lors de la suppression, s'il n'y a pas de cookie avec la clé "key" sous le chemin actuel, tous les chemins parents seront interrogés et l'opération de suppression sera effectuée après la récupération (un seul cookie du chemin parent le plus proche de lui peut être supprimé à une fois)
FF. Vous devez spécifier le même chemin que celui utilisé pour configurer le cookie afin de supprimer le cookie, et le chemin doit être spécifié pour le nom de la clé du cookie, quelles que soient les tailles majuscules, minuscules ou mixtes.
IE Lorsque le nom de la clé est en minuscules, si le chemin actuel est /test/test2, s'il est introuvable, interrogez /test, /test555, /test345, et s'il n'est toujours pas trouvé, interrogez /. (/test555/test666 n'est pas interrogé)
Lorsque le nom de la clé est en casse mixte ou en majuscule, si le chemin n'est pas spécifié, le chemin actuel sera supprimé par défaut et aucune requête ascendante ne sera effectuée.
c. Lors de la lecture d'un Cookie, seul le Cookie du chemin parent direct peut être lu.
Si le chemin actuel est /test/test2, la clé à lire est "key". Une fois le chemin actuel lu, /test doit également être lu, et après la lecture de /test, / doit également être lu.
d. Lorsque vous travaillez sur des projets Web Java, étant donné que les serveurs Web généraux (tels que Tomcat ou Jetty) utilisent le contexte pour gérer différentes applications Web, chaque contexte a un chemin différent.
Soyez particulièrement prudent lorsqu'il y a plusieurs applications Web sur un serveur. Ne définissez pas de cookie avec un chemin de /, car cela pourrait entraîner un mauvais fonctionnement. (Bien sûr, le principe est que les noms de domaine sont les mêmes)