[TOMCAT] 세션에 setAttribute 한 값이 null 인 경우 (ex : userId null)

[TOMCAT] 세션에 setAttribute 한 값이 null 인 경우 (ex : userId null)

세션에 setAttribute 한 값을 getAttribute 했을 때 null인 경우 발생.

예를 들어 로그인하고 사용자 아이디를 세션에 담았는데 userId 가 null 인 경우.

크게 두 가지 케이스가 있다.

1. setAttribute 한 이후 곧바로 getAttribute한 경우

setAttribute 하고, 페이지를 한 단계 건너가야 getAttribute 할 수 있음.

2. 같은 아이피(또는 같은 도메인)로 톰캣을 2개 띄운 경우

쿠키값을 덮어써서 올바른 세션을 찾지 못할 수 있다.

포트가 달라도 동일한 아이피를 사용하면 쿠키값을 덮어쓴다.

문제 해결은 톰캣 2개의 JSESSIONID 를 다르게 설정하면 된다.

아니면 톰캣 1은 아이피로 접속, 톰캣 2는 도메인으로 접속하면 쿠키값을 유지할 수 있다.

* 참고 : 세션은 쿠키에 기반한 기술이다. 세션 데이터는 서버에 있지만, 그것을 찾아가기 위한 세션 아이디는 브라우저 쿠키에 담아둔다.