HttpSession
The servlet container uses this interface to create a session between an HTTP client and an HTTP server. The session persists for a specified time period, across more than one connection or page request from the user.
서블릿 컨테이너는 javax.servlet.http의 HttpSession 인터페이스를 사용하여 세션 기능을 제공하는데 일반적으로 HttpServletRequest의 getSession()을 호출하면 세션을 가져오거나 옵션에 따라 없을 경우 생성해서 반환해준다.
서블릿 컨테이너의 세션 저장소는 Map 형태로 되어 있는데 HttpSession 인스턴스가 value에 저장이 되고 httpSession 또한 내부적으로 Map 형태로 생성이 된다. 그래서 setAttribute()로 로그인 정보를 저장할 수 있다.
로그아웃을 할 때 로그인 세션 정보를 제거하기 위한 방법으로는 HttpSession의 removeAttribute()와 invalidate() 메서드가 있다,
invalidate()는 세션 자체를 무효화하고 제거하고 removeAttribute()는 현재 세션에서 특정 key-value만 제거를 한다.
removeAttribute()로 키만 제거를 하면 httpSession 인스턴스는 WAS의 세션 저장소에 남아있어서 invalidate()를 사용하는 것이 좋다.
[참고]
'꿀팁' 카테고리의 다른 글
[MySQL] 단일값 IN vs equals 차이점 (0) | 2024.01.16 |
---|---|
[AWS] CodeDeploy 사용시 주의점 (0) | 2024.01.10 |
[Jira] git commit 지라 티켓번호 자동화 (0) | 2022.12.27 |
[Mockito] ArgumentMathchers 사용 시 주의 (any) (0) | 2022.10.25 |
[Java] String '+' 연산자와 StringBuilder (0) | 2022.10.22 |