쿠키가 이미 응답에 추가되었는지 확인해야합니다.존재하지 않는 경우에만 응답에 쿠키를 추가하십시오.
내 응답에 Set-Cookie
헤더가 두 번 수신되는 이상한 문제가 있습니다.
Set-Cookie:foo=bar; Domain=dev.mysite.com; Expires=Fri, 05-May-2062 04:05:43 GMT; Path=/
Set-Cookie:foo=bar; Domain=dev.mysite.com; Expires=Fri, 05-May-2062 04:05:43 GMT; Path=/
2- 헤더
정확히 동일하다. 스택을 디버깅 할 때이 코드를 두 번 호출합니다. 이 코드의 두 배는 내가 사용하고있는 웹 스택 때문이며 변경할 수 없습니다.요청에 어떤 쿠키가 전송되었는지는 신경 쓰지 않지만이 헤더를 두 번 보내지 않습니다.
addHeader
방법을 통해 추가 된 쿠키를 찾는 쉬운 방법이없는 것처럼 보입니다.
response.addCookie(myCookie);
호출 후 응답 개체의 헤더를 검사하면 이상하게도 Set-Cookie
헤더가 표시되지 않습니다.
동일한 이름의 쿠키가 이미 응답으로 전송되지 않은 경우에만 응답에 쿠키를 추가 할 수 있습니까?
저는 표준 접근법을 잘 모릅니다. HttpServletResponseWrapper를 사용하여이 문제를 해결하고 쿠키를 기억해야 할 수도 있습니다. – home
예, 응답이 클라이언트에 전송 될 때까지 (요청의 일부로 다시 수신 될 때까지) "home"- (및 AFAIR)에서 언급 한 것처럼 쿠키는 프로그램에 액세스 할 수 없습니다. 유일한 옵션은 응답 생성에서 이미 설정 한 쿠키를 "기억"하는 것입니다. –