[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
반응형