JSP에서는 개발자가 선언하지 않아도 사용할 수 있는 미리 선언된 변수가 존재합니다. 이를 내장객체라고 합니다. 개발자가 선언하지 않았음에도 어떻게 JSP에서 내장객체를 사용할 수 있는지, 또한 어떻게 사용해야하는지 알아보겠습니다.
JSP 내장 객체란?
JSP는 Servlet 으로 변환된 다음에 Servlet이 실행되는 것이라고 배웠습니다. JSP에 입력한 대부분의 코드는 생성되는 서블릿 소스의 _jspService( ) 메서드 안에 삽입되는 코드로 생성된다. 이때 _jspService( ) 메서드 선언부에 함께 객체들이 있는데, 해당 객체들은 jsp 에서도 사용 가능합니다. response, request, application, session, out 과 같은 인스턴스를 내장객체라고 합니다.
JSP 내장 객체 종류
JSP 내장 객체 실습
JSP 내장 객체들을 어떻게 이용하는지 실습을 통해서 알아보겠습니다. request 의 getRequestURL( ) 메서드를 사용했습니다. 그런데 이상합니다. Java 코드 안에 request 라는 변수나 객체가 있나요? 없는데도 불구하고 오류가 발생하지 않고 있는 것을 확인할 수 있습니다. 코드를 조금 더 작성하였는데요. 위의 코드에서 오류가 발생하지 않는 이유는현재 우리가 사용하고 있는 request 라는 객체가 우리가 현재 배우고 있는 내장객체이기 때문에 그렇습니다. 실행된 화면을 보면 request 라는 내장객체를 사용하여 성공적으로 클라이언트의 요청 URL 을 출력한 것을 확인할 수 있습니다.
다시 한번 말하지만 JSP의 핵심 내용은 JSP가 Servlet으로 변환된 다음 실행된다는 것입니다. 그런 점에 착안하면 내장 객체도 좀 더 쉽게 이해할 수 있습니다.