Tomcat 5에서 실행되는 완벽하게 작동하는 웹 Java 1.5 웹 응용 프로그램이 있습니다. 응용 프로그램은 세션에 의존하므로 세션 쿠키가 전달되거나 JSESSIONID가 컨텍스트의 끝에 오는 한 모든 것이 잘 작동합니다 이 같은 경로 "; JSESSIONID = ..."를JSESSIONID를 사용하여 특정 세션을 어떻게 설정할 수 있습니까?
지금과 같이 작동 환경에서, 내 응용 프로그램 작업을해야 :
- 내 응용 프로그램에 대한 모든 요청이 POST 것 하나에 URL, 매개 변수 없음 whatsover (그래서 나는 컨텍스트 경로에서 jsessionid를 설정할 수 없습니다).
- 리디렉션이 허용되지 않습니다. 내 응답과 함께 HTTP 상태 200을 반환해야합니다.
- POST의 본문은 특정 XML입니다 (사용자 지정 매개 변수를 추가 할 수 있습니다).
내 응용 프로그램이 오래되어 잘 작동하므로 모든 것을 변경하지 않고이 작업을 수행하려고했습니다. 필자는 XML 본문의 매개 변수 중 하나 인 실제 URL을 추가 한 다음 해당 URL에 대한 응답을 전달하고 나머지 매개 변수를 추가하여 단일 URL을 작동하도록 만들 수있었습니다.
http://server.com/realPage.do?param1=value1¶m2=value2
그리고 작동 : 다음 앞으로 이것에
POST http://server.com/singleUrl.do
<xml>
<parameters>url=realPage.do&param1=value1&param2=value2</parameters>
</xml>
예를 들면 다음과 같습니다. 방금 애플리케이션에 추상화 레이어를 추가했는데 모든 것이 잘 작동합니다. 세션을 제외하고 ...
세션 쿠키가 전송되지 않으므로 POST 간의 세션이 끊어집니다. 나는이 같은 XML에서 사용자 정의 매개 변수 중 하나로서 JSESSIONID를 추가 :
<xml>
<parameters>url=realPage.do&param1=value1&param2=value2&jsessionid=ABC121312</parameters>
</xml>
그리고에 전달 시도 :
http://server.com/realPage.do;jsessionid=ABC121312?param1=value1¶m2=value2
그러나 그것은 작동하지 않습니다. 같은 일이 리디렉션과 함께 작동합니다. 물론 새로운 요구 사항에서는 리디렉션이 허용되지 않습니다.
마지막으로, 내 질문. JSESSIONID에 해당하는 세션을 어떻게 설정할 수 있습니까? 나는 "실제"응용 프로그램으로 보내기 전에 요청을 처리하는 동일한 추상화 계층에서이 작업을 수행하려고합니다.
쿠키가 요청 헤더에 설정됩니다. 주어진 제약 조건으로 인해 동일한 세션을 유지할 수 없으면 변경해야합니다. – EJP
나를 믿어 라. 나는 이것에 대해 뜨거운 논쟁을했다. 그들의 플랫폼은 변경할 수 없습니다. 그 중 하나가 클라이언트가되거나 잃는 것입니다. – manugarciac