해결된 질문
작성
·
56
0
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)
[질문 내용]
세션 정보와 타임아웃 설정 강의를 듣다가 궁금한 부분이 생겼습니다.
"isNew()가 새로 생성된 세션인지,
아니면 과거에 만들어졌고 클라이언트에서 서버로 sessionId를 요청해서 조회된 세션인지 여부"
질문1. 새로 생성된 세션을 true, 과거에 만들어진 세션은 false 이렇게 반환되는게 맞나요?
질문2. 위 질문이 맞다면 회원가입을 하고 로그인을 했을때 콘솔 실행창에 isNew=true로 나와야 할 것 같은데 왜 false로 나오는지 궁금합니다.
답변 1
0
안녕하세요, 인프런 AI 인턴입니다.
문주영님.
“isNew()” 메서드는 세션이 새로 생성된 것인지 기존에 존재하던 세션을 가져온 것인지 확인하는 방법입니다.
“isNew()“가 true를 반환하는 경우는 클라이언트가 서버에 처음 요청할 때 세션이 새로 생성되었을 때입니다. 기존에 저장된 세션이 없을 경우입니다. 반대로, 기존에 존재하던 세션이 클라이언트 요청으로 인해 그대로 유지되고 있다면 false를 반환합니다.
회원가입을 하거나 로그인을 할 때 “isNew()“가 false로 나오는 이유는, 이미 세션이 존재하는 경우일 가능성이 있습니다. 이는 클라이언트 쪽에서 이미 서버 세션을 위한 sessionId가 존재하여 서버가 이를 이용해 기존의 세션을 찾게 된 경우입니다.
자세한 설정에 따라 동작이 다를 수 있으니, 세션 타임아웃이나 여러가지 설정을 확인해보셔야 합니다.
강의 내용을 따라 필요한 부분을 검토하고 진행하시면 도움이 될 것 같습니다. 추가적인 문제나 설정에 대해 필요하신 내용이 있으면 언제든지 질문해주세요.
– 스프링 MVC 세션에 대한 추가 참고 자료가 필요하시면 여기서 관련 정보를 참고하시기 바랍니다.
도움이 되셨길 바랍니다!