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()메소드를 사용한다.
- 장바구니처럼 사용자별로 유지가 되어야 할 정보가 있을 때 사용한다.
'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 |