Cet article présente principalement les informations pertinentes sur les solutions aux raisons pour lesquelles Servlet Cookie ne peut pas obtenir la valeur en Java. Les amis dans le besoin peuvent se référer à
. Solution à la raison pour laquelle Servlet Cookie ne peut pas obtenir la valeur en Java
Phénomènes :
Lors du test de la requête HTTP avec Cookie, elle a été trouvée que le serveur utilise request.getHeader("cookie") peut obtenir la valeur ; mais request.getCookies() ne peut pas excepter)
Cookie mycookies[] = request.getCookies();
Raison :
J'ai vérifié la valeur spécifique du cookie du navigateur et j'ai constaté que
http://localhost: 8080/
Lors de l'accès, le cookie La valeur est placée sous localhost, et le SESSIONID généré automatiquement par le serveur est également stocké sous le chemin localhost.
http://127.0.0.1:8080/
Ainsi, lorsque le serveur émet des cookies,
doit être remplacé par
String host=request.getHeader("host");
ou abandonner le paramètre
if(host.indexOf(":")>-1){ host=host.split(":")[0]; }
comme ceci La valeur du cookie est également stockée sous 127.0.0.1 et n'est pas liée au numéro de port
mycookie.setDomain(host);
Bien entendu, si le serveur possède déjà un nom de domaine, il n'y aura aucune valeur de cookie qui ne puisse être obtenue sous le numéro de port
Solution :
Ajoutez la ligne précédente pour l'obtenir,
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!