세션 관리하기

Hyunsoo Kim·2024년 5월 30일
0

스프링

목록 보기
8/13
post-thumbnail

세션(session)

세션은 HTTP 기반으로 동작하는 클라이언트가 서버에 정보를 요청할 때 생성되는 상태정보다. 둘 이상의 개체가 정보를 교환할 때, 이 개체들이 연결되어 있다는 것에 관한 정보를 '세션'이라고 한다.

HttpSession 객체는 서버에 생성되며, 클라이언트에는 세션 ID가 쿠키로 저장되어 각 클라이언트에 관해 생성되는 HttpSession 객체를 클라이언트마다 개별적으로 유지 및 관리한다.


HttpSession을 관리하기 위한 메소드는 다음과 같다.

1. getAttribute(String name)
HttpSession 객체에 등록된 정보 중 getAttribute() 메소드의 인자값으로 지정된 데이터 값을 반환한다.

2. getAttributeNames()
HttpSession 객체에 등록되어 있는 모든 정보의 이름만을 반환한다.

3. getId()
HttpSession 객체에 지정된 세션 ID를 반환한다.

4. getCreationTime()
HttpSession 객체게 생성된 시간을 밀리초 단위로 반환한다.

5. getLastAccessedTime()
클라이언트 요청이 마지막으로 시도된 시간을 밀리초 단위로 반환한다.

6. getMaxInactiveInterval()
클라이언트의 요청이 없을 때 서버가 현재의 세션을 언제까지 유지할지를 초 단위로 반환한다. 기본 유효 시간은 30분으로 지정되어 있다.

7. invalidate()
현재의 세션을 삭제한다.

8. isNew()
서버 측에서 새로운 HttpSession 객체를 생성한 경우에는 true를 반환하고, 기존 세션이 유지되고 있는 경우라면 false를 반환한다.

9. setAttribute(String namme, Object value)
HttpSession 객체에 name으로 지정된 이름으로 value 값을 등록한다.

10. removeAttribute(String name)
HttpSession 객체에서 name으로 지정된 객체를 삭제한다.

11. setMaxInactiveInterval(int second)
HttpSession 객체의 유지 시간을 설정한다. 지정된 시간이 지나면 HttpSession 객체는 자동 삭제된다.


Spring Session 공식 문서

profile
다부진 미래를 만들어가는 개발자

0개의 댓글