Heim  >  Artikel  >  Java  >  So lösen Sie das Problem, dass Servlet Cookie den Wert in Java nicht abrufen kann

So lösen Sie das Problem, dass Servlet Cookie den Wert in Java nicht abrufen kann

怪我咯
怪我咯Original
2017-06-30 10:39:182011Durchsuche

In diesem Artikel werden hauptsächlich relevante Informationen zu den Gründen vorgestellt, warum Servlet Cookie den Wert in Java nicht erreichen kann

Lösung für den Grund, warum Servlet Cookie den Wert in Java nicht abrufen kann

Phänomene:

Beim Testen der HTTP-Anfrage mit Cookie wurde es gefunden dass der Server request.geter("cookie") den Wert abrufen kann, request.getCookies() jedoch nicht (Except)

 Cookie mycookies[] = request.getCookies();
Grund:

Ich habe den spezifischen Cookie-Wert des Browsers überprüft und festgestellt, dass

http://localhost: 8080/

Beim Zugriff das Cookie Der Wert wird unter „localhost“ platziert und die vom Server automatisch generierte SESSIONID wird ebenfalls unter dem Localhost-Pfad gespeichert. http://127.0.0.1:8080/
Beim Zugriff wird der Cookie-UID-Wert unter 127.0.0.1:8080 und das Cookie unter 127.0.0.1:8080 platziert Das Servlet auf der Serverseite kann es nie abrufen und die vom Server automatisch generierte SESSIONID liegt unter 127.0.0.1, was sich vom UID-Speicherort unterscheidet.

Wenn der Server also Cookies ausgibt, muss

in

String host=request.getHeader("host");
geändert werden oder die Einstellung

if(host.indexOf(":")>-1){
  host=host.split(":")[0];
  }
aufgegeben werden Dies Der Cookie-Wert wird ebenfalls unter 127.0.0.1 gespeichert und hat nichts mit der Portnummer zu tun

mycookie.setDomain(host);
Wenn der Server bereits einen Domänennamen hat, gibt es natürlich keinen Cookie-Wert, der nicht abgerufen werden kann unter der Portnummer


Lösung:

Fügen Sie die vorherige Zeile hinzu, um sie zu erhalten,

Das obige ist der detaillierte Inhalt vonSo lösen Sie das Problem, dass Servlet Cookie den Wert in Java nicht abrufen kann. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn