JSP # 4가지스코프 개념
- JSP
- 2020. 8. 26.
스코프(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 |