JAVA
세션을 이용한 웹 페이지 연동 기능
정숙씨의 쏠쏠한 코딩
2021. 8. 21. 00:24
- 세션이란
- 웹 페이지들 사이의 공유 정보를 서버에 저장해 두고 웹 페이지들을 매개해 주는 방법 쿠키와 같은 기능
- 쿠키와 다르게 서버 메모리에 생성되기 때문에 보안성에 적합
- 세션은 각 브라우저당 한개 즉 사용자당 한개가 생성된다.
- 세션 특징
- 세션의 정보는 서버의 메모리에 저장된다.
- 브라우저의 세션 연동은 세션 쿠키를 이용한다.
- 쿠키보다 보안에 유리하다.
- 서버에 부하를 줄수있다.
- 브라우저(사용자)당 한개의 세션(세션id)가 생성된다.
- 세션은 유효시간을 가진다(기본 유효 시간은 30분 입니다.)
- 로그인 상태 유지 기능이나 쇼핑몰의 장바구니 담기 기능등에 주로 사용된다
- 세션 API의 특징과 기능
- 서블릿에서 세션 이용시 HttpSession 클래스 객체를 생성해서 사용 해야 한다.
- getSession() 메서드 종류
- getSession()
- 기존의 세션 객첼가 존재하면 반환을 하고 없으면 새로 생성된다
- getSession(true)
- 기존의 세션 객체가 존재하면 반환하고 없으면 새로 생성된다.
- getSession(false)
- 기존의 세션 객체가 존재하면 반환하고 없으면 null을 반환한다.
- getSession()
- HttpSession 클래스 메서드
- getAttribute(String name)
- 속성 이름이 name인 속성 값을 Object 타입으로 반환한다, 해당되는 속성 이름이 없을경우 null값을 반환한다.
- geteAttributeNames()
- 세션 속성 이름들을 Enumeration 객체 타입으로 반환
- getCreationTime()
- 1970년 1월 1일 0시 0초를 기준으로 현재 세션이 생성된 시간까지 경과한 시간을 계산하여 1/1000초 값으로 반환 한다
- getId()
- 세션에 할당된 고유 식별자를 String 타입으로 반환
- getMaxInactiveInterval()
- 현재 생성된 세션을 유지하기 위해 설정된 세션 유지 시간을 int 타입으로 반환한다.
- invalidate()
- 현재 생성된 세션을 소멸한다.
- isNew()
- 최초로 생셩된 세션인지 기존에 생성되어 있었던 세션인지 판별
- removeAttribute(String name)
- 세션 속성 이름이 name인 속성을 제거한다.
- setAttribute(String name, Object value)
- 세션 이름이 name인 속성에 속성 값으로 value를 할당한다.
- setMaxInactiveInterval(int interval)
- 세션을 유지하기 위한 세션 유지 시간을 초 단위로 설정
- getAttribute(String name)