본문 바로가기

IT 서비스 바라보기/Programming

SESSION 객체에 대해서



세선은 클라이언트와 서버 간의 연결 단위를 지칭하는 용어입니다. 하나의 세션이 형성 되었다는 말은 클라이언트와 서버간에 하나의 연결이 이루어졌다는 의미입니다.

대개 "세션이 있다, 없다"는 식으로 표현을 합니다. 이것은 "현재 연결이 되어 있다, 아니다"를 말하는 것입니다.


Session 객체

getAttribute()  현재의 세션에 포함되어 있으면서 특정 이름을 가진 object 형의 객체를 반환합니다. 만일 해당 이름을 가진 객체가 존재하지 않는다면 null 값을 반환합니다 .
getAttributeNames()  현재의 세션에 포함되어 있는 객체의 이름들을 Enumeration  객체 집합으로 반환합니다.
getCreationTime()  현재의 세션이 생성된 시간을 반환합니다. 이 값은 밀리세컨드 단위이며, 기준은 유닉스 시간, 즉 1970년 1월 1일 GMT를 기준으로 해서 계산된 값입니다.
getId()  현재 세션의 유일한 구분값을 반환합니다. 세션은 사용자 별로 식별 가능한 값들을 가지고 있는데, 이 값들을 얻기 위해서 이 메소드를 이용하게 됩니다. 이 값은 JSP 개발자가 직접 다룰 일은 거의 없으며, 대부분 웹 컨테이너에서 세션 객체를 구분할 경우에 사용합니다.
getLastAccessedTime()  사용자가 현재 세션과 관련된 요청을 전송한 최종 시간을 반환합니다. 이 값은 밀리세컨드 이며, getCreationTime과 마찬가지로 유닉스 시간을 사용합니다.
 getMaxInactiveInterval() 하나의 요청과 그 뒤의 요청 사이의 시간 간격을 얼마 동안 유효하게 볼 것인지에 대한 값을 반환합니다. 이 시간을 넘겨 요청하게 되면 해당 세션은 무효화됩니다.
 getServletContext()  현재 세션과 연관되어 있는 ServletContext 객체를 반환합니다.
 invalidate()  현재 세션을 무효화시키고, 세션에 있는 모든 객체들을 제거합니다.
 isNew()  클라이언트에서 전송한 요청이 세션과 연관되지 않은 최초의 요청일 경우는 true를, 이미 세션과 연관되어 있다면 false를 반환합니다.
 removeAttribute()  현재 세션에 저장되어 있는 객체 중 특정 이름을 가지고 있는 객체를 제거합니다.
 setAttribute()  현재의 세션 객체에 특정 이름의 객체를 추가합니다.
 setMaxInactiveInterval() 요청과 요청 사이에 세션 정보를 유지시킬 수 있는 시간을 설정합니다. 만일 이 시간을 넘어선 상태에서 요청을 하게 되면 세션은 무효화됩니다.