작성
·
2.6K
답변 2
3
제 생각에는 원질문자님이 댓글달아주신 것처럼 차후 기능 확장될 때를 고려해서 null체크를 추가하신 것 같습니다.
당장은 로그인 상태에서 세션이 없는 경우가 없지만, 나중에 시간이 지나서 만료되는 기능을 추가하면 null값이 반환될 수 있으니까요
실제 개발환경에서도 지금 당장은 문제가 되지 않더라도 시간이 지나 기능을 확장할 때 문제가 될 수 있는 부분에 대해서는 미리 체크하고 넘어가는 느낌으로 이해하시면 될 것 같습니다.
0
안녕하세요, 우디 님. 공식 서포터즈 codesweaver 입니다.
.
로그아웃의 경우 1) 사용자의 세션을 삭제하고, 2) 화면을 루트로 포워딩하는 작업을 진행합니다.
1) 에서 만약 사용자가 세션이 없을 경우 2)만 진행하면 됩니다. 그래서 getSession()의 파라미터로 false를 전달한 것입니다. 그런데 getSession(false);와 같이 호출하면, 이 함수는 null을 반환할 수 있기에 이에 대한 처리 코드를 추가한것입니다.
.
보통 로그아웃은 로그인 한 뒤 작동하는것이 일반적이기에, 세션이 없는 경우는 거의 없다고 봐도 무방하나, getSession()의 스펙이 null을 반환할 수 있다고 명시되어 있으므로 이에 대한 처리 코드를 담는것이 좋습니다.
.
감사합니다.