JSP # 4가지스코프 개념

 

스코프(scope)란?

 

사전적 의미

컴퓨터 프로그래밍에서 변수 영역은 변수가 유효성을 갖는 영역을 가리킨다. 프로그램은 영역을 벗어난 변수를 가리킬 수 없다.

 

내가 공부하고있는 jsp에서의 의미와 개념

 

스코프(객체 범위)의 구성

웹프로그래밍을 하다보면 여러 객체들이 있다. 
이러한 객체들이 존재하는 범위가 4가지가 있다.
크기는 page < session < request <application  순으로 크다. 구조를 이해하기 그려 보았다.

 

 

Scope의 각각 특징 ( JSP의 내장객체 )

1. Application : 웹 어플리케이션이 시작되고 종료될때까지 변수가 유지될 경우 사용. 

  - 하나의 애플리케이션 당 1개의 application 객체가 생성된다.
  - 같은 애플리케이션 내의 요청되는 페이지들은 같은 객체를 공유하게 된다.
  - 애플리케이션이 종료되면 객체는 반환된다.
  - 모든 영역에서 공유할 수 있는 데이터 ( 제일 크니까. )
   
 
2. Session : 웹 브라우저 별로 변수가 관리되는 경우 사용 ( 해당 객체가 소멸될때까지 사용 가능).

  - 서로 다른 페이지(리소스) 여도 객체(데이터)들을 공유 할 수 있음.
  - 하나의 브라우저 당 1개의 session 객체가 생성된다(다른 브라우저에서 작업시 휘발). 
  - 이 속성의 객체는 세션 종료되는 순간 반환.
  - 같은 브라우저 내에 요청되는 페이지들은 같은 객체를 공유하게 된다.

3. Request : http요청을 WAS(톰캣)가 받아서 웹 브라우저에게 응답할 때 까지 살아있는 변수

  - 가장 많이 사용 되는 스코프 
  - 페이지와 페이지 사이에 존재하고 하나의 관계에서만 사용 가능하다.
  - 요청을 받아 응답할때까지만 객체가 유효한 영역. 페이지 넘길 때 리퀘스트 영역에 값을 올리고 그 올린 값을 누군가
  다른애가 requset.parmeter 등으로 값을 뽑아 갈 수 있다( 다른 페이지에서는 사용 불가 ).
  - forward 또는 include 방식을 이용할 경우 여러 페이지에서도 요청정보가 유지되므로 여러 페이지에서 공유가능.

4. Page : 페이지 내에서 지역변수 처럼 사용

  - 위 세가지 영역과는 다르게 page내장 객체가 아닌  JSP파일에 내장되어있는 pageContext객체를 통해 접근 할 수        있는 영역 page 내에서만 유효하다.
  - JSP파일에는 pageContext가 내장되어있다으며 이 객체는 page내에서만 유효하다.
  - pageContext는 모든 영역의 속성에 대한 접근이 가능 
  - JSP 파일 내에 <% %> 안에 변수를 사용하면 해당 JSP 파일에서만 유효한데 page 스코프에 정의된 객체이기 때문

 

'JSP' 카테고리의 다른 글

[JSP] HttpServlet 서블릿  (0) 2021.07.20
[JSP] 이클립스와 톰캣 연동  (0) 2021.07.19
[JSP] 프로젝트 생성  (0) 2021.07.17
[JSP] JSP프로젝트에 ojdbc 라이브러리 추가방법  (0) 2020.09.21
JSP #웹에서 발생하는 오류들!  (0) 2020.08.25

댓글

Designed by JB FACTORY