[Servlet] 세션 : Session
세션 : session
- 둘이상의 page request에서 사용자를 식별하거나, 웹 사이트를 방문하고 해당 사용자에 대한 정보를 저장하는 방법을 제공한다.
- Servlet Container 는 HttpSession를 사용하여 HTTP client- HTTP server 간의 세션을 생성한다.
- 세션은 한 명의 사용자에 해당한다.(브라우저 당 하나의 세션 객체가 생성된다.)
- 서버는 Cookie, rewriting URL와 같은 방법으로 세션을 유지하면서 관리할 수 있다.
- 객체를 세션에 바인딩하여 사용자 정보를 유지할 수 있다.
주요 메소드
주요 메소드 | 설명 |
String getId() | 세션에 할당된 고유 실별자가 포함된 문자열을 반환 |
long getCreationTime() | 세션이 생성된 시간을 반환 |
long getLastAccessedTime() | 클라이언트가 1970년 1월 1일 0시 부터의 밀리초 단위로 세션과 관련된 요청을 보낸 마지막 시간을 반환 |
int getMaxInactiveInterval() | 서블릿 컨테이너의 세션을 유지할 시간을 초 단위 반환한다. |
void setMaxInactiveInterval(int interval) | 서블릿 컨테이너가 세션을 유지할 시간을 인터벌에 저장된 초 값으로 설정한다. 기본 30분 |
void invalidate | 현재 세션을 무효화하고 세션에 바인드된 모든 객체의 바인딩을 해제한다. |
boolean isNew() | 클라이언트 세션ID를 할당하지 않은 경우 true값을 리턴한다. false를 반환한다면 이미 세션이 설정되어 있는 경우다. |
void setAttribute(String key, Object value) | 지정된 이름을 사용하여 세션에 주어진 객체를 바인딩한다. |
Object getAttribute(String key) | 세션에 지정된 이름으로 바인드된 객체를 반환하며, 주어진 이름으로 바인드된 객체가 없으면 null을 반환한다. |
void removeAttribute(String key) | 세션에 저장된 주어진 이름으로 바인드된 객체를 제거한다. |
세션 객체
- 세션 객체 받아오기
- HttpServletRequest의 getSession() 메소드에서 HttpSession 객체를 생성하거나 반환 받는다.
- 인수에 true를 지정하면 세션이 설정되어 있지 않는 경우 새로운 세션을 생성하며, 설정된 경우에는 현재의 세션을 돌려준다.
- 인수에 false를 지정하면 세션이 설정되어 있지 않는 경우는 null를 돌려준다.
- 인수를 지정하지 않으면 getSession() 메소드는 인수에 true를 지정했을 경우와 같은 동작을 한다.
- JSP에서 세션 객체
- session이라는 내장 객체를 사용한다.
- Servlet에서의 세션 객체 받아오기 예
- HttpSession session = request.getSession();
'Web > JSP&SERVLET' 카테고리의 다른 글
[Servlet] GET & POST (1) | 2020.11.24 |
---|---|
[Servlet] 필터 : Filter (0) | 2020.11.11 |
[Servlet] 쿠키 : Cookie (0) | 2020.11.10 |
[Servlet] 서블릿 이란? (0) | 2020.11.06 |
[WEB] URL과 URI (0) | 2020.10.28 |
댓글