자바 에서 Servlet Cookie 가 값 을 얻 지 못 하 는 원인 해결 방법
현상:
쿠키 가 있 는 HTTP 요청 을 테스트 할 때 서버 에서 request.getHeader("쿠키")로 값 을 찾 을 수 있 음;하지만 request.getCookies()로 는 안 됩 니 다.
Cookie mycookies[] = request.getCookies();
uid 의 값 을 영원히 가 져 올 수 없습니다.(80 포트 번호 제외)원인:
브 라 우 저의 구체 적 인 쿠키 값 을 찾 아 보 니
http://localhost:8080/ 방문 할 때 쿠키 값 은 localhost 아래 에 두 고 서버 가 자동 으로 생 성 하 는 SESSIONID 도 localhost 경로 에 저 장 됩 니 다.
http://127.0.0.1:8080/방문 할 때 쿠키 uid 값 은 127.0.0.1:8080 에 두 고 127.0.0.1:8080 에 있 는 쿠키 서버 의 Servlet 는 영원히 얻 을 수 없습니다.반면 서버 가 자동 으로 생 성 하 는 SESSIONID 는 127.0.0.1 로 uid 저장 위치 와 다르다.
그래서 서버 에서 쿠키 를 보 낼 때,
String host=request.getHeader("host");
수정
if(host.indexOf(":")>-1){
host=host.split(":")[0];
}
설정 을 포기 하거나
mycookie.setDomain(host);
이러한 쿠키 값 도 127.0.0.1 에 저장 되 어 포트 번호 와 관련 이 없습니다.물론 서버 에 도 메 인 이름 이 있 으 면 포트 번호 에서 쿠키 값 을 얻 지 못 합 니 다.
해결 방법:
String cookie=request.getHeader("cookie");
Cookie mycookies[] = request.getCookies();
앞 줄 을 더 하면 뒤쪽 에서 찾 을 수 있 습 니 다.읽 어 주 셔 서 감사합니다. 여러분 에 게 도움 이 되 기 를 바 랍 니 다.본 사이트 에 대한 여러분 의 지지 에 감 사 드 립 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Is Eclipse IDE dying?In 2014 the Eclipse IDE is the leading development environment for Java with a market share of approximately 65%. but ac...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.