Maison >Java >javaDidacticiel >Comment résoudre le problème selon lequel Servlet Cookie ne peut pas obtenir la valeur en Java

Comment résoudre le problème selon lequel Servlet Cookie ne peut pas obtenir la valeur en Java

怪我咯
怪我咯original
2017-06-30 10:39:182067parcourir

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/

Lors de l'accès, la valeur de l'uid du cookie est placée sous 127.0.0.1:8080, et le cookie sous 127.0.0.1:8080 Le servlet côté serveur ne peut jamais l'obtenir ; et le SESSIONID généré automatiquement par le serveur est inférieur à 127.0.0.1, ce qui est différent de l'emplacement de stockage de l'UID.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn