본문 바로가기
Today I Learned/Spring

[Spring] getSession(), getSession(true), getSession(false)

by dbs_ 2023. 3. 6.

상황

회사 솔루션 맨 처음 설치 할 때 session에서 데이터를 가져오는 로직을 타는데 항상 설치 페이지가 나와야하는데 에러페이지가 떴다. 뭔가 봤더니 session이 null 이라서 nullpoint가 뜨고 있었다.. 어떻게 보면 정말 단순한 에러였는데 나는 왜 false로 해두었던걸까? 그런김에 다시 정리해보자..

해결

getSession(), getSession(true), getSession(false)

  • getSession(), getSession(true) : HttpSession이 존재하면 현재 HttpSession을 반환하고 존재하지 않으면 새로운 세션을 생성
  • getSession(false) : HttpSession이 존재하면 현재 HttpSession을 반환하고 존재하지 않으면 새로운 세션을 생성하는게 아니라 그냥 null을 반환

request.getSession(true)로 수정하니 해결되는 심심한 에러였다. 그리고 또 session 관련 메서드 중에 내가 잘 몰랐던 거 추가로 적어보면.

  • session.invalidate() : 세션 종료 시 메서드 사용