본문 바로가기

Servlet&JSP

Scope

웹 어플리케이션은 page, request, session application 이라는 4개의 영역이 있다.

- 각 영역은 데이터를 공유할 수 있는 유효범위가 다르다.

- 각 영역의 객체에는 속성(Attribute) 이라는 공유 데이터와 데이터를 공유할 수 있는 유효범위(Scope)가 있다.

 

1. Application

하나의 웹 어플리케이션과 관련된 영역으로 웹 어플리케이션이 실행되고 있는 동안에 속성을 사용할 수가 있다.

속성을 추가하고 나면 서버가 꺼지기 전까진 속성이 유지된다. 속성은 공유데이터로서 모든 서블릿이 사용할 수 있다.

모든 서블릿이 공유할 수 있기 떄문에 4개의 영역 중 가장 큰 영역을 가진다.

 

interface SevletContext 에 있는 setAttribute(String, Object)함수를 이용해서 속성을 추가할 수 있다.

속성이 필요하다면 getAttribute(String)함수를 사용하면 해당 속성이 Object형으로 반환된다.

 

2. Session

Session 영역은 브라우저가 켜져 있는 동안에 유지되는 영역이다. 브라우저가 켜져서 실행되는 동안은 속성값이 유지되지만

브라우저를 종료하는 순간에 메모리에서 삭제되기 때문에 다시 브라우저를 켰을 때에는 이전 세션이 삭제된다.

브라우저마다 다른 세션을 가진다. 하나의 브라우저를 여러개를 실행해도 같은 세션을 가진다.

 

3. Request

Request 영역은 클라이언트의 요청부터 서버가 응답하는 순간까지 유지되는 영역이다. 서블릿의 service() 메소드 시작부터 그 메소드가

끝날때까지라고도 볼 수 있다.

 

4. Page

현재 페이지에서만 쓸 수 있는 데이터가 저장된다. 객체를 하나의 페이지에서만 공유한다.

 page영역은 Object 타입으로 자기 자신을 저장하는 변수이다. 값을 다루기 위해선 pageContext를 이용해야한다.

JSP에서만 지원되는 객체이다.

'Servlet&JSP' 카테고리의 다른 글

Cookie  (0) 2016.04.15
ServletOutputStream  (0) 2016.04.14