프로그래밍 언어/자바 웹

내장 객체(내장 변수) 기능

· 코딩마이데이

JSP 페이지의 내장 객체(내장 변수)란 JSP가 서블릿으로 변환될 때 컨테이너가 자동으로 생성시키는 서블릿 멤버 변수를 말합니다. 즉, 서블릿으로 구현 시 자주 사용했던 객체를 개발자가 일일이 만드는 것이 아니라 서블릿으로 변환 시 컨테이너가 자동으로 생성하여 사용하게끔 제공하는 것입니다.

 

JSP 파일이 서블릿으로 변환되었을 때 _jspService() 메서드에 생성된 내장 객체를 저장하는 내장 변수가 선언된 코드입니다.

 

JSP 페이지에서 제공하는 여러 가지 내장 객체를 정리한 것입니다.

 

JSP에서 제공하는 내장 객체들

내장 객체 서블릿 타입 설명
request javax.servlet.http.HttpServletRequest 클라이언트의 요청 정보를 저장합니다.
response javax.servlet.http.HttpServletResponse 응답 정보를 저장합니다.
out javax.servlet.http.jsp.JspWriter JSP 페이지에서 결과를 출력합니다.
session javax.servlet.http.HttpSession 세션 정보를 저장합니다.
appliation javax.servlet.ServletContext 컨텍스트 정보를 저장합니다.
pageContext javax.servlet.jspPageContext JSP 페이지에 대한 정보를 저장합니다.
page java.lang.Object JSP 페이지의 서블릿 인스턴스를 저장합니다.
config java.servlet.ServletConfig JSP 페이지에 대한 설정 정보를 저장합니다.
exception java.lang.Exception 예외 발생 시 예외를 처리합니다.

 

이 중 application, request, response, session은 이미 서블릿에서 사용해본 객체들입니다. 따라서 앞에서 동일한 기능을 제공합니다.

표 12-2는 자주 사용되는 내장 객체들의 스코프를 정리한 것입니다. request, session, application은 서블릿의 스코프와 같습니다. page는 요청하는 해당 JSP 페이지에서 대해서만 공유할 수 있습니다.

 

내장 객체들의 스코프

내장 객체 서블릿 스코프
page this 한 번의 요청에 대해 하나의 JSP 페이지를 공유합니다.
request HttpServletRequest 한 번의 요청에 대해 같은 요청을 공유하는 JSP 페이지를 공유힙니다.
session HttpSession 같은 브라우저에서 공유합니다.
application ServletContext 같은 애플리케이션에서 공유합니다.

 

먼저 session 내장 객체의 바인딩 기능을 사용해 보겠습니다.