Web

Session Scope에 대해

BEOKS 2020. 1. 18. 16:22

Session Scope

사용이유:

접속한 웹 브라우저별로 정보를 관리 하고 싶을 때 세션 scope를 사용합니다.

이번 시간엔 이러한 세션 스코프에 대해서 좀 더 자세히 알아보도록 하겠습니다.

 

정의:

session scope 웹브라우저 별로 관리하는 변수범위를 의미합니다.

쉽게 예를 든다면 같은 페이지를 보더라도 다른 아이디로 로그인했다면 브라우저 마다 각각

다른정보가 표현될 수 있습니다.(장바구니, 구매목록 등) 이를 관리해주기 위해서 서로다른 브라우저가 각각접속할때

각 브라우저에 따라서 관리를 하기위한 변수범위가 바로 session scope입니다.

 

Session scope가 Request scope보다 범위가 넓은 이유:

request scope는 url을 요청(페이지에 접속)할 때 서버에 request 변수를 보낸다는 사실을 알 것입니다.

그리고 request변수는 서버가 요청을 다 처리하고 response 값을 클라이언트에게 전송했을때(페이지가 나타날 때)

사라집니다.

 

그러나 session scope의 값은 남아있습니다. 예를 들어 쿠팡에서 로그인하고 장바구니 페이지로 이동했다고 합시다.

그러면 로그인, 장바구니 두 개의 페이지를 두 번 접속하면 request변수를 두 번 사라집니다.

그러나 session scope는 두번 접속 한다고 해도 같은 회원이 접속하기 때문에 로그인 정보를 가지고 있어 사라지지 않습니다.

 

따라서 session scope는 request scope보다 더 긴 유효시간은 가지기에 넓다고 할 수 있습니다.

 

Session scope의 특징:

 

 

  • 웹 브라우저별로 변수를 관리하고자 할 경우 사용한다.
  • 웹 브라우저간의 탭 간에는 세션정보가 공유되기 때문에, 각각의 탭에서는 같은 세션정보를 사용할 수 있다.
  • HttpSession 인터페이스를 구현한 객체를 사용한다.
  • JSP에서는 session 내장 변수를 사용한다.
  • 서블릿에서는 HttpServletRequest의 getSession()메소드를 이용하여 session 객체를 얻는다.
  • 값을 저장할 때는 session 객체의 setAttribute()메소드를 사용한다.
  • 값을 읽어 들일 때는 session 객체의 getAttribute()메소드를 사용한다.
  • 장바구니처럼 사용자별로 유지가 되어야 할 정보가 있을 때 사용한다.

 

 

출처:https://www.edwith.org/boostcourse-web/lecture/16711/

'Web' 카테고리의 다른 글

Ajax 통신 정의, 필요성, 예제  (0) 2020.01.18
JSP(Java Server Page) - 정의, 문법  (0) 2020.01.18
Scope (유효변수)에 대하여  (0) 2020.01.18
Page scope  (0) 2020.01.18
Request Scope  (0) 2020.01.18