[Session]_Session 개념, 간단한 사용 방법
2022. 6. 29. 11:15ㆍ[Spring]_
728x90
반응형
개념
일정 시간동안 같은 사용자(브라우저) 부터 들어오는 일련의 요구들을 하나의 상태로 보고, 그 상태를 일정하게 유지시키는 기술이다.
사용자가 웹 브라우저를 통해 웹 서버에 접속한 시점으로부터 종료하여 연결이 끝나는 사이의 기간을 말한다.
방문자가 웹서버에 접속, 종료까지의 상태를 하나의 단위로 보고 이를 세션이라고 한다.
쿠키 와 비교
웹브라우저에 사용자의 상태를 유지하기 위한 정보를 저장한다. = 방문자의 컴퓨터 메모리에 저장
세션은 웹 서버 쪽의 웹 컨테이너에 상태를 유지하기 위한 정보를 저장한다. = 서버에 저장
쿠키와 달리 세션은 사용자들의 로그인 정보에 대한 보안이 업그레이드 되어 웹사이트의 로그인 정보를 담는데 자주 사용한다.
동작방식
- 클라이언트가 서버로 접속 요청한다 (HTTP_통신)
- 서버는 접근한 클라이언트의 request-header 의 cookie를 확인해 클라이언트가 해당 session-id 를 담아서 보내왔는지 확인한다.
- 만약 클라이언트로 부터 발송된 session-id가 없다면, 서버는 session-id를 생성하여 클라이언트에게 session-id를 발생한다.
- 이렇게 각각의 클라이언트의 세션이 생성되고 접속 종료시 해당 세션은 만기된다.
간단 사용 예제
HttpSession 생성
HttpSession session = request.getSession(true);
해당 세션이 loginCheck 라는 속성 설정
세션의 속성값은 객체 형태만 올수 있다.
session.setAttribute("loginCheck", "Y");
세션의 속성을 사용하려면 getAttribute() 메소드 사용
단 getAttribute 메소드의 반환값은 Object 라 String 으로 변환해줘야 한다.
String loginCheck = (String)session.getAttribute("loginCheck");
세션의 속성을 삭제할 때는 removeAttribute() 메소드를 사용한다.
session.removeAttribute("loginCheck");
감사합니다.
728x90
반응형
'[Spring]_' 카테고리의 다른 글
[Spring]_Maven 의 Profiles 기능 구현,사용하기_(pom.xml) (0) | 2022.06.22 |
---|---|
[Spring]_HTTP 통신 개념,설명 (0) | 2022.06.21 |
[Spring]_Scheduler 설정 및 사용 (0) | 2022.06.17 |
[Dispatcher-Servlet]_디스패처 서블릿 이란 (0) | 2022.06.17 |
[Exception]_Spring 예외처리 (0) | 2022.06.16 |