저는이 문제를 2 일 동안 지금 작업하고 있으며 여기에있는 누구나 비슷한 문제와 해결책이 있기를 기대합니다.Tomcat이 모든 요청에 대해 새 세션을 만듭니다.
문제 : 그것은 시작 페이지가 (HTML의 메타 새로 고침 태그를 사용하여)를 JSP 페이지로 고객을 리디렉션 요청되면 톰캣 6 에서 실행되는 스프링 MVC (2.5.6.) 웹 응용 프로그램,의 많은 Ajax 요청 (Framework : Prototype)으로 내용을로드합니다. 문제는 Tomcat이 모든 AJAX 요청 (약 67 세션)에 대해 새로운 세션을 생성한다는 것입니다. 내 첫번째 생각은 시작 페이지가로드 된 후 세션 쿠키가 저장되고 Ajax 요청은 새로운 세션을 생성하기 위해 Tomcat을 강제이었다. 내 접근 방식은 손으로 세션 쿠키를 만드는 것이지만 아무런 차이가 없었습니다. 재미있는 점은 다른 tomcat 인스턴스에서는 작동하지만 통합 테스트에서는 원하는 환경에서는 작동하지 않는다는 것입니다. 제 의견으로는 Tomcat 구성 문제입니다.
Request Header 1:
Cookie JSESSIONID=F3206CBF2C961E125821FF22FA31A02D
Response Header 1:
Set-Cookie JSESSIONID=49E000B4D6880F4F94531AB9C78DB667; Path=/JOCA-Music-Portal JSESSIONID=50B5EA0BCFE811C744CE9C1F9EDE0097; Path=/JOCA-Music-Portal
Request Header 2:
Cookie JSESSIONID=50B5EA0BCFE811C744CE9C1F9EDE0097
Response Header 2:
Set-Cookie JSESSIONID=DCCA2D1B98D11223A6B8855800276E27; Path=/JOCA-Music-Portal
UPDATE : 추가 조사가 문제를 격리
파이어 버그와 추가 조사 후, 나는 톰캣 오른쪽 JSESSIONID가 여기에 옮겨진 경우에도 모든 요청에 대해 새로운 세션 (50B5EA0BCFE811C744CE9C1F9EDE0097)을 생성 것을 발견 Tomcat 영역 구성. 우리는 로그인을 위해 JDBC 영역을 사용합니다. 로그인이 비활성화되면 하나의 세션 만 생성됩니다. 활성화 된 경우 Tomcat은 유효하지 않거나 만료 된 세션을 생성하므로 각 요청마다 새 세션이 생성됩니다. 하지만 Tomcat이 왜 이런 식으로 행동합니까?
저는 정말 절망적입니다. 그래서 어떤 생각/힌트/해결책도 높이 평가됩니다.
당신이 클라이언트와 서버 사이의 analyze the HTTP traffic에 시도 할 수
에서 상속받은 클래스의 생성자에서 명시 적으로 해제하는 것이 었습니다. –