1 Qu'est-ce qu'un cookie
Le navigateur et le serveur Web communiquent à l'aide du protocole HTTP. Lorsqu'un utilisateur émet une demande de page, le serveur Web répond simplement, puis ferme la connexion avec l'utilisateur. Par conséquent, lorsqu'une demande est envoyée à un serveur Web, qu'il s'agisse de la première visite, le serveur le traitera comme la première fois. C'est une mauvaise chose qui peut être imaginée. Pour compenser ce défaut, Netscape a développé un cookie, un outil efficace pour enregistrer les informations d'identification d'un certain utilisateur, de sorte que les gens l'ont surnommé "cookies sucrés". Les cookies sont un moyen par lequel les serveurs Web stockent des informations sur le disque dur des visiteurs via un navigateur: Netscape Navigator utilise un fichier local appelé cookies.txt pour enregistrer les informations de cookies reçues de tous les sites; tandis que le navigateur IE enregistre les informations sur les cookies dans un répertoire similaire à C: / Windows / Cookies. Lorsque l'utilisateur visite à nouveau un site, le serveur demandera au navigateur de trouver et de retourner les informations sur les cookies envoyées précédemment pour identifier l'utilisateur.
2 Quatre attributs de cookies
Max-Age spécifie la durée de vie du Ccookie (en quelques secondes)! Par défaut, la valeur du cookie n'existe que pendant la session du navigateur, et ces valeurs disparaissent lorsque l'utilisateur quitte le navigateur!
Le chemin spécifie la page Web associée au cookie. Par défaut, le cookie est associé à la page Web qui le crée, ainsi qu'à la page Web du même répertoire que la page Web et les sous-répertoires du répertoire.
Définition du domaine Le domaine d'accès par exemple: le serveur situé sur ORDAND.example.com doit lire le cookie défini par catalog.example.com. Ici, vous devez introduire l'attribut de domaine. En supposant que le cookie créé par la page située sur catalogue.example.com définit son attribut de chemin à "/" et l'attribut de domaine à ".example.com", puis toutes les pages Web situées sur "Catalog.example.com" et toutes les pages Web situées sur "Orders.example.com" et toutes les pages Web situées sur "Orders.example.com" et tous les autres serveurs sur exemple.com peuvent accéder à ce cookie. Si la valeur de domaine du cookie n'est pas définie, la valeur par défaut de cet attribut est le nom d'hôte du serveur où la page Web où le cookie est créé. Remarque: Le domaine d'un cookie ne peut pas être défini sur un domaine à l'extérieur du domaine où réside le serveur.
Seure Spécifie comment la valeur d'un cookie est transmise sur le réseau
3 opération de cookies Java
Créer un cookie
// nouvel objet cookie, la paire de valeurs clés est le paramètre cookie cookie = new cookie ("key", "cookie value"); Si la valeur du cookie contient du chinois, le cookie doit être codé, sinon un code brouillé se produira. Utilisez UrLencoder.Encode ("Valeur du cookie", "UTF-8"); // Définissez le temps de survie maximal du cookie, en quelques secondes, si le nombre négatif est le processus du navigateur, fermez le cookie du navigateur disparaît cookie.setmaxage (* 24 * 60 * 60); // un jour // Ajouter le cookie à la réponse pour le faire prendre en vigueur la réponse.addcookie (cookie); // Après l'addcookie, si le cookie du même nom existe déjà, le dernier écrase l'ancien cookieRemarque: Dans Struts, vous pouvez utiliser servletActionContext.getResponse () pour obtenir l'objet de réponse
Lire les cookies
La lecture des cookies ne peut obtenir que tous les cookies à partir de la demande, puis itérer dans une boucle.
Dans Struts, vous pouvez utiliser servletActionContext.getRequest () pour obtenir l'objet de demande
// obtient le cookie de la demande, et vous obtenez une gamme de cookies cookies [] cookies = request.getCookies (); // alors itérer if (cookies! = Null && cookies.length> 0) {// Si vous n'avez pas réglé de cookie, il retournera null pour (cookie cookie: cookies) {...}} Supprimer les cookies
Si vous supprimez un cookie, il vous suffit de définir la durée de vie du cookie à 0.
Cookie [] cookies = request.getCookies (); if (cookies! = null && cookies.length> 0) {for (cookie cookie: cookies) {String name = cookie.getName (); // Trouvez le cookie qui doit être supprimé if (name.compareto ("cible-key") == 0) {// Définissez la durée de vie sur 0 cookie.setMaxage (0); // Revenez à la réponse.addcookie (cookie); }}}La méthode SetPath de 4 cookies est utilisée:
Les cookies normaux ne peuvent être partagés que dans une seule application, c'est-à-dire qu'un cookie ne peut être obtenu que par l'application qui l'a créé.
1. La méthode peut être partagée dans le même serveur d'applications: définir cookie.setpath ("/");
Il existe deux applications sous le Tomcat / WebApp natif: webapp_a et webapp_b.
1) Il s'avère que le cookie défini sous webapp_a ne peut pas être obtenu sous webapp_b. Le chemin est le chemin d'accès de l'application qui génère le cookie par défaut.
2) Si vous définissez un cookie sous webapp_a, ajoutez un cookie.setPath ("/"); ou cookie.setpath ("/ webapp_b /");
Vous pouvez obtenir le cookie défini par CAS sous WebApp_b.
3) Les paramètres ici sont relatifs au répertoire racine du dossier d'application stocké par le serveur d'applications (comme le WebApp sous Tomcat), donc cookie.setPath ("/"); Après cela, Cookie peut être partagé dans toutes les applications dans le dossier WebApp et cookie.setpath ("/ webapp_b /");
Cela signifie que le cookie défini par l'application CAS ne peut être obtenu que sous l'application WebApp_B, et même l'application WebApp_A qui génère ce cookie ne peut pas être utilisée.
4) Lorsque vous définissez cookie.setpath ("/ webapp_b / jsp") ou cookie.setpath ("/ webapp_b / jsp /"), le cookie ne peut être obtenu que sous webapp_b / jsp, mais les cookies ne peuvent pas être obtenus en dehors du dossier JSP.
5) Définir cookie.setpath ("/ webapp_b"); signifie que les cookies ne peuvent être utilisés que sous WebApp_b, afin que les cookies ne puissent pas être obtenus sous webapp_a qui génère des cookies.
6) Lorsqu'il y a plusieurs cookies.setPath ("xxx"); Les déclarations, la dernière prévaudra.
5 Cookie.SetDomain Méthode Conception Partage de domaine croisé
Le domaine où se trouve la machine A: home.langchao.com, A a une application webapp_a
Le domaine où se trouve la machine B: jszx.com, b a l'application webapp_b
1) Lorsque vous définissez des cookies sous webapp_a, ajoutez cookie.setdomain (". Jszx.com"); afin que vous puissiez obtenir des cookies sous webapp_b.
2) Lorsque vous saisissez URL pour accéder à WebApp_b, vous devez saisir le nom de domaine pour résoudre. Par exemple, lors de l'entrée: http://lc-bsp.jszx.com:8080/webapp_b dans la machine A, vous pouvez obtenir le cookie défini par webapp_a sur le client, tout en entrant: http: // localhost: 8080 / webapp_b, vous ne pouvez pas obtenir le cookie.
3) cookie.setdomain (". Jszx.com"); peut également être partagé sous la maison par défaut.langchao.com
Le cliché ci-dessus parle de l'utilisation des cookies en Java est tout le contenu que je partage avec vous. J'espère que cela pourra vous donner une référence et j'espère que vous pourrez soutenir Wulin.com plus.