JSP(JavaServer Pages)에는 암시적 객체(Implicit Objects)라고 불리는 미리 정의된 변수들이 존재합니다. 개발자는 이 객체들을 별도로 선언하거나 인스턴스화할 필요 없이 스크립틀릿이나 표현식 안에서 바로 사용할 수 있으며, JSP 페이지가 서블릿으로 변환되는 과정에서 자동으로 생성됩니다.
JSP의 9가지 암시적 객체
아래 표는 JSP에서 지원하는 9가지 암시적 객체와 각 객체의 역할을 정리한 것입니다.
| 번호 | 객체 및 설명 |
|---|---|
| 1 | request 현재 클라이언트 요청과 연결된 HttpServletRequest 객체입니다. 요청 파라미터, 헤더 정보, 쿠키 등을 읽어올 때 사용됩니다. |
| 2 | response 클라이언트로 전송되는 응답과 연결된 HttpServletResponse 객체입니다. 응답 헤더 설정이나 리다이렉트 처리에 활용됩니다. |
| 3 | out 클라이언트에게 출력을 전송하는 데 사용되는 PrintWriter 타입의 객체입니다. HTML 콘텐츠를 브라우저에 출력할 때 쓰입니다. |
| 4 | session 요청과 연결된 HttpSession 객체입니다. 사용자별 상태 정보를 세션 단위로 유지·관리할 수 있습니다. |
| 5 | application 애플리케이션 컨텍스트와 연결된 ServletContext 객체입니다. 웹 애플리케이션 전체에서 공유되는 정보를 저장하는 데 사용됩니다. |
| 6 | config 해당 JSP 페이지와 연결된 ServletConfig 객체입니다. 페이지별 초기화 파라미터에 접근할 수 있습니다. |
| 7 | pageContext 고성능 JspWriter처럼 서버 고유 기능의 사용을 캡슐화하는 객체입니다. 네 가지 스코프(page, request, session, application)에 모두 접근할 수 있어 속성 관리에 유용합니다. |
| 8 | pagethis의 동의어로, 변환된 서블릿 클래스 내부에서 정의한 메서드를 호출하는 데 사용됩니다. |
| 9 | exception 오류 발생 시 예외 데이터에 접근할 수 있게 해주는 Exception 객체입니다. 주로 isErrorPage="true"로 지정된 에러 처리용 JSP 페이지에서 사용됩니다. |
정리
이처럼 JSP의 암시적 객체는 요청·응답 처리부터 세션 관리, 예외 처리까지 웹 애플리케이션 개발에 필수적인 기능들을 손쉽게 사용할 수 있도록 도와줍니다. 각 객체의 타입과 용도를 정확히 이해해 두면 JSP 페이지 작성이 한결 효율적이 됩니다.