Web Programming/JSP

[JSP] 내부 객체

IT수정 2024. 10. 4. 10:44

내부 객체(Implicit Object)

JSP 페이지 내에서 제공하는 특수한 레퍼런스 타입의 변수(특정 객체의 위치를 가리키는 변수 또는 객체)로 사용하고자 하는 변수와 메서드로 접근한다. JSP 페이지에서 사용하게 되는 특수한 레퍼런스 타입의 변수는 선언과 객체 생성 없이 사용할 수 있다. 왜냐하면 JSP 페이지가 서블릿으로 변환될 때 JSP 컨테이너(톰캣)가 자동적으로 제공하기 때문이다. 선언이나 객체 생성 없이 request, out이라는 객체를 사용하는 게 JSP 페이지에서 내부적으로 지원이 되는 내부객체이기 때문에 바로 사용할 수 있다.

 

예) String name = request.getParameter("name");

name이라는 파라미터 변수의 값을 얻어내는 getParameter() 메서드는 request 기본객체의 메서드이다.

 

내부 객체 종류

내부 객체 객체 리턴 타입 설명
request javax.servlet.http.HttpServletRequest
또는 javax.servlet.ServletRequest
파라미터를 포함한 요청을 담고 있는 객체
response javax.servlet.http.HttpServletResponse
또는 javax.sevlet.ServletResponse
요청에 대한 응답을 담고 있는 객체
out javax.servlet.jsp.JspWriter 페이지 내용을 담고 있는 출력 스트림 객체
session javax.servlet.http.HttpSession 세션 정보를 담고 있는 객체
application javax.servlet.ServletContext 어플리케이션 Context의 모든 페이지가 공유할 데이터를 담고 있는 객체
pageContext javax.servlet.jsp.PageContext 페이지 실행에 필요한 Context 정보를 담고 있는 객체
page javax.servlet.jsp.HttpJspPage
또는 java.lang.Object
jsp 페이지의 서블릿 객체
config javax.servlet.ServletConfig jsp 페이지의 서블릿 설정 데이터 초기화 정보 객체
exception java.lang.Throwable jsp 페이지의 서블릿 실행 시 처리하지 못한 예외 객체

 

내부 객체의 속성을 저장하고 읽어내는 공통 메서드

메서드 설명
setAttribute(key, value) 주어진 key에 속성값을 연결
getAttributeNames() 모든 속성의 이름을 얻어냄
getAttribute(key) 주어진 key에 연결된 속성값을 얻어냄
removeAttribute(key) 주어진 key에 연결된 속성값을 제거

 

request, session, application, pageContext 내부 객체는 임의 속성 값을 저장하고 읽을 수 있는 상단의 메서드를 제공한다.

메서드의 파라미터 값으로 value는 Object 타입이므로 객체의 모든 타입을 저장할 수 있다.

key는 String 타입의 객체 형태를 가진다.

 

스크립트 요소와 내부 객체 변수 선언

스크립트릿(<% %>)

내부 객체명과 같은 이름으로 변수를 선언할 수 없다.

만약 9개의 내부객체의 이름과 동일한 이름으로 선언하면 에러가 발생한다.

 

선언문(<%! %>)

내부 객체명과 같은 이름으로 변수를 선언할 수는 있지만 가급적이면 사용하지 않는 편이 좋다.

'Web Programming > JSP' 카테고리의 다른 글

[JSP] 외부 환경 정보 제공 내부 객체  (0) 2024.10.04
[JSP] 입출력 관련 내부 객체  (1) 2024.10.04
[JSP] 액션 태그  (1) 2024.10.02
[JSP] 기본 제어문  (0) 2024.10.02
[JSP] taglib Directive  (1) 2024.09.30