2013. 8. 16. 09:54

JSP 페이지의 내부 객체

 : 내부 객체는  JSP 페이지가 사용자의 브라우저에게 요청될 때 자동으로 생성되는 객체로 특정한 자

바 클래스 또는 인터페이스의 형태를 가지고 있다.


기본 객체 (implicit object, 내장 객체)

■ request : 클라이언트의 요청 정보를 담고 있는 객체

⋅스코프  :  request

⋅실제 타입  :  javax.servlet.http.HttpServletRequest 또는  javax.servlet.ServletRequest


■ response : 요청에 대한 응답 정보를 담고 있는 객체

⋅스코프  :  page

⋅실제 타입  :  javax.servlet.http.HttpServletResponse 또는  javax.servlet.ServletResponse


■ out : 페이지 내용을 담고 있는 출력 스트림 객체

⋅스코프  :  page

⋅실제 타입  :  javax.servlet.jsp.JspWriter


■ pageContext : JSP 페이지 실행에 필요한 Context 정보를 담고 있는 객체

⋅스코프  :  page

⋅실제 타입  :  javax.servlet.jsp.PageContext


■ session : 세션 정보를 담고 있는 객체

⋅스코프  :  session

⋅실제 타입  :  javax.servlet.http.HttpSection


■ application : Context의 모든 페이지가 공유할 데이터를 담고 있는 객체

⋅스코프  :  application

⋅실제 타입  :  javax.servlet.ServletContext


■ config : JSP 페이지의 서블릿 설정 데이터 초기화 정보 객체 

⋅스코프  :  page

⋅실제 타입  :  javax.servlet.ServletConfig


■ page : JSP 페이지를 구현한 자바 클래스 객체

⋅스코프  :  page

⋅실제 타입  :  java.lang.Object


■ exception : JSP 페이지의 서블릿 실행 시 처리하지 못한 예외 객체

⋅스코프  :  page

⋅실제 타입  :  java.lang.Throwable




Scope, 스코프

 : 웹 어플리케이션은  page,  request,  session,  application 이라는  4개의 영역을 가지고 있으며 기본

객체의 영역은 객체의 유효기간이라고도 불리며, 객체를 누구와 공유할 것인가를 나타낸다.

■ page 영역

 한 번의 웹브라우저(클라이언트)의 요청에 대해 하나의  JSP 페이지가 호출되며 웹브라우저의 

 요청이 들어오면 이때 단 한 개의 페이지만 대응 된다. 

 생성된 객체는 PageContext 에 저장된다.

 쉽게 말해 service()를 벗어나면 죽는다. 

 servlet → jsp 으앙 주금 //void service()


■ request 영역

 한 번의 웹브라우저(클라이언트)의 요청에 대해 같은 요청을 공유하는 페이지가 대응되며 

 웹브라우저가 한 번의 요청에 단지 한 개의 페이지만 요청될 수 있고, 같은  request 영역이면 

 두개의 페이지가 같은 요청을 공유 한다.  include 액션 태그,  forward 액션 태그를 사용 시 공유가능

 생성된 객체는 HttpServletRequest 에 저장


■ session 영역

 하나의 웹브라우저 당 1 개의 session 객체가 생성된다. 

 같은 웹브라우저 내에서는 요청되는 페이지 들은 같은 객체를 공유한다.

 생성된 객체는 HttpSession 에 저장된다.

 동일한 클라이언트만 사용가능


■ application 영역

 하나의 웹 어플리케이션 당  1개의  application 객체가 생성된다. 같은 웹 어플리케이션에 

 요청되는 페이지들은 같은 객체를 공유한다.

 생성된 객체는 실질적으로는  ServletContext 에 저장된다.




내부 객체의 속성

  : request,  session,  application,  pageContext 내부 객체는 임의 속성(attribute) 값을 저장하고 읽을  

수 있는 다음의 메소드를 제공 한다.

■ 메소드

⋅void setAttribute(String  key, Object  value)

  주어진  key속성의 값을  value로 지정한다.


⋅Enumeration getAttributeNames()

  모든 속성의 이름을 구한다.


⋅Object getAttribute(String  key)

  주어진  key속성의 값을 얻어낸다.


⋅void removeAttribute(String  key)

  주어진  key속성의 값을 제거한다.

'JSP > Jsp 내장객체' 카테고리의 다른 글

HTML 문서에서 인자로 사용  (0) 2013.08.16
EL 개요  (0) 2013.08.16
Session  (0) 2013.07.29
Request  (0) 2013.07.29
JSP 개요  (0) 2013.07.29
Posted by 1+1은?