Jsessionid는 단지 Tomcat의 sessionid 이름일 뿐이며 실제로는 sessionid입니다. 다른 컨테이너에서는 jsessionid라고 부르지 않을 수도 있습니다.
우선 웹 개발 시 세션 개체 생성과 sessionId를 생성하여 클라이언트에 반환하는 작업 메커니즘에 대해 이야기해 보겠습니다. 🎜#
클라이언트가 처음으로 세션 객체에 액세스하면 새로운 세션 객체가 생성되며, 동시에 sessionId가 생성되고 이 응답에서 sessionId가 클라이언트 브라우저 메모리로 반환됩니다. 응답 메시지 형식으로 전송하거나 URL을 다시 작성하여 전송합니다. 서버 측 세션 객체가 파괴되지 않는 한 향후 request.getSession()이 호출되면 클라이언트로 돌아갑니다. 서버 측에서 생성된 세션 개체는 클라이언트의 sessionId를 기반으로 직접 검색되어 반환됩니다. 이 세션 개체를 기반으로 검색되지 않으면 다시 생성되지 않습니다.다음은 IE에서 테스트되었습니다. IE6.0의 버그는 모든 쿠키가 차단된 경우에도 IE의 개인 정보 보호 설정이 여전히 세션 쿠키를 사용하여 sessionId를 저장한다는 것입니다. 따라서 다음은 모두 다음을 기반으로 합니다. 세션 쿠키에 대해 논의합니다.
(1) 서버가 닫히지 않은 상태에서 세션 객체 파기 시간 내에 클라이언트가 서버측 서블릿이나 jsp를 다시 요청하면 첫 번째 요청에서 생성된 sessionId는 다음과 같습니다. 요청 헤더에 첨부하여 서버로 전송합니다. 서버는 sessionId를 수신한 후 이 sessionId를 기반으로 서버에 해당하는 세션 객체를 검색하고(이 프로세스는 투명합니다.) 이때 세션 객체를 직접 반환합니다. 새 세션 개체를 생성하지 않습니다.
(2) 서버가 닫히거나(이전에 생성된 세션 개체도 종료됨) 세션 개체가 소멸 시간을 지나면 브라우저 창이 닫히지 않습니다. 그리고 이 브라우저 창에서 다시 서버 측의 서블릿 및 jsp를 요청하면 sessionId(서버가 닫히거나 세션이 파괴될 때 생성되는 세션 ID)도 서버 측으로 전송됩니다. sessionId를 기반으로 해당 세션 객체를 찾지만 이때 세션 객체는 더 이상 존재하지 않습니다. 이때 새로운 세션 객체가 재생성되고 새로운 sessionId가 생성되며 새로 생성된 sessionId도 생성됩니다. 응답 메시지 형태로 브라우저 메모리에 전송됩니다.
# 🎜🎜#(3) 서버가 닫히지 않았고 세션 객체가 소멸 시간 내에 있을 때 jsp 페이지가 클라이언트에 다시 요청될 때 , 브라우저 창이 닫히고 해당 메모리의 sessionId도 삭제됩니다. 서버 측에서 서블릿이나 jsp를 다시 요청하면 sessionId가 클라이언트 브라우저에 다시 생성되어 탐색 메모리에 저장됩니다.요약하면 jsessionid의 작업 흐름은 다음 그림으로 간단히 표현할 수 있습니다. 관련 학습 권장 사항: #🎜 🎜#java기본
위 내용은 jsessionid를 생성하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!