Request Scope

사용이유:

웹 브라우저로부터 WAS가 요청을 받은 후, 포워드 되는 동안 유지하고 싶은 정보가 있을 경우 request scope를 사용합니다.

이번 시간에는 request scope에 대해 알아보도록 하겠습니다.

 

정의: 

request scope는 서블릿 기준으로 클라이언트가 서버에 요청하는 HttpServletRequest객체를 의미합니다.

쉽게 말해서 클라이언트가 서버에 전달하는 변수라고 생각하시면 좋습니다.

 

Request Scope가 Page_scope보다 넓은 범위인 이유:

우선 Request Scope는 페이지에 관한 모든 정보를 가지고 있습니다. 그리고 request는 단순히 요청에만 쓰이는 변수가 아니라

서버 내에서 포워딩( 하나의 페이지 처리 프로세스가 다른 프로세스를 호출 )을 할 때 사용되는 변수입니다.

따라서 Request Scope = Page_scope + 프로세스간 전달 이기에 pageScope보다 큰 영역입니다.

 

Request Scope의 특징

 

  • http 요청을 WAS가 받아서 웹 브라우저에게 응답할 때까지 변수값을 유지하고자 할 경우 사용한다.
  • HttpServletRequest 객체를 사용한다.
  • JSP에서는 request 내장 변수를 사용한다.
  • 서블릿에서는 HttpServletRequest 객체를 사용한다.
  • 값을 저장할 때는 request 객체의 setAttribute()메소드를 사용한다.
  • 값을 읽어 들일 때는 request 객체의 getAttribute()메소드를 사용한다.
  • forward 시 값을 유지하고자 사용한다.
  • 앞에서 forward에 대하여 배울 때 forward 하기 전에 request 객체의 setAttribute() 메소드로 값을 설정한 후, 서블릿이나 jsp에게 결과를 전달하여 값을 출력하도록 하였는데 이렇게 포워드 되는 동안 값이 유지되는 것이 Request scope를 이용했다고 합니다.

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

'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
Session Scope에 대해  (0) 2020.01.18

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

+ Recent posts