본문 바로가기

🌈 백엔드/스프링 MVC

스프링_Session 세션

반응형
SMALL

 

 

 

 

 

[1] Session 세션 


(1) Session 세션 

서로 관련된 요청을 쿠키를 이용하여 하나로 묶는 것 

브라우저마다 개별저장소(session객체)를 가지고 있으며 개별저장소는 서버에 저장된다 

로그인부터 로그아웃까지의 일련의 요청과 응답 과정 

서버에 저장된다

서버에 저장되기 때문에 서버에 부담이 된다

서버에 저장되기 때문에 보안에 유리하다 

서버간의 동기화가 필요하여 서버 다중화에는 불리하다 

 

(2) 세션 생성과정

 

(3) 브라우저 별 세션 

같은 id라도 브라우저가 다르면 쿠키가 다르기 때문에 

브라우저별 세션도 다르다 

 

(4) 세션 메서드 

String getId() 세션 id를 반환한다
long getLastAccessedTime() 세션 내에서 최근 요청받은 시간을 반환한다
boolean isNew() 새로 생성된 세션이 맞다면 true를 반환한다 
request.getSession()호출 후 사용한다 
void invalidate() 세션을 즉시 종료한다 (삭제한다)
void setMaxInactiveInterval(int interval) 0분초 후 세션을 예약종료한다 
int getMaxInactiveInterval() 예약된 세선종료시간이 몇인지 반환한다 
void setAttribute(String name, Object value) name , value 값을 저장한다
Object getAttribute(String name) name의 value값을 반환한다 
void removeAttribute(String name) name의 속성을 삭제한다 
Enumeration getAttributeNames() 세션 객체에 저장된 모든 속성 이름을 반환한다

 

(5) 세션 종료 

수동종료  자동종료 
세션을 즉시 종료한다
0분초 후 예약종료한다 
자동종료 한다 

코드를 수동으로 입력한다  web.xml 파일에 자동종료 내용을 포함시킨다  
HttpSession session = request.getSession();
session.invalidate()
session.setMaxInactiveInterval(30초*60초) 30분후
<session-config>
<session-timeout>30분</session-timeout>
</session-config>

반응형
LIST