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();
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
inString host=request.getHeader("host");
if(host.indexOf(":")>-1){ host=host.split(":")[0]; }
mycookie.setDomain(host);
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!