포스트

Implicit Object

Implicit Object

내장 객체 Implicit Object

내장 객체

  • JSP 페이지가 실행될 때 컨테이너가 자동으로 생성
  • 클라이언트와 서버가 통신할 때 JSP의 내장 객체는 요청과 응답 혹은 HTTP header 등의 정보를 쉽게 다룰 수 있도록 함

내장 객체의 특징

  • 컨테이너가 미리 선언해놓은 참조 변수를 이용해 사용
  • 별도의 객체 생성 없이 각 내장 객체의 메서드를 사용 가능
  • JSP 문서 안의 <%스크립틀릿%>과 <%=표현식%>에서만 사용 가능
  • <%!선언부%>에서는 즉시 사용하는건 불가능하고, 매개변수로 전달받아 사용

내장 객체의 종류

내장 객체타입설명
requestjakarta.servlet.http.HttpServletRequest클라이언트의 요청 정보를 저장
responsejakarta.servlet.http.HttpServletResponse클라이언트의 요청에 대한 응답 정보를 저장
outjakarta.servlet.jsp.JspWriterJSP 페이지에 출력할 내용을 담는 출력 스트림
sessionjakarta.servlet.ServletSession웹 브라우저 정보를 유지하기 위한 세션 정보를 저장
applicationjakarta.servlet.ServletContext웹 어플리케이션 관련 컨텍스트 정보를 저장
pageContextjakarta.servlet.jsp.PageContextJSP 페이지에 대한 정보를 저장
pagejava.lang.ObjectJSP 페이지를 구현한 자바 클래스의 인스턴스
exceptionjava.lang.Throwable예외가 발생한 경우에 사용

request 객체

  • 클라이언트와 서버에 대한 정보 읽기
  • 클라이언트가 전송한 요청 매개변수에 대한 정보 읽기
  • 요청 헤더 및 쿠키 정보 읽기

클라이언트와 서버의 환경정보 읽기

  • 클라이언트는 웹 브라우저를 통해 서버 측으로 요청
  • 이 때 요청은 GET 방식 혹은 POST 방식으로 구분
  • 요청 URL, 포트 번호, 쿼리스트링 등을 명시 가능
  • request 내장 객체를 이용해 정보 확보

클라이언트의 요청 매개변수 읽기

  • form 태그 하위 요소를 통해 입력한 값들도 서버로 전송
  • 전송된 값은 서버에서 읽은 후 변수에 저장
  • 적절한 처리를 위해 컨트롤러나 모델로 전달

HTTP 요청 헤더 정보 읽기

  • HTTP 프로토콜은 헤더에 부가적인 정보를 담음
  • 웹 브라우저의 종류나 선호하는 언어 등 일반적인 HTML 문서 데이터 외의 추가 정보를 서버와 클라이언트가 교환할 수 있도록 문서의 선두에 삽입

response 객체

  • 클라이언트의 요청에 대한 응답을 웹 브라우저로 보내주는 역할
  • 페이지 이동을 위한 redirect 와 HTTP 헤더에 응답 헤더 추가

out 객체

  • 웹 브라우저에 변수 등의 값을 출력할 때 주로 사용
  • 스크립틀릿 내에서 변수를 웹 브라우저에 출력 시 표현식보다 out 사용
  • 버퍼를 사용 –> 출력되는 모든 정보는 버퍼에 먼저 저장된 후 웹 브라우저에 출력

application 객체

  • 웹 어플리케이션당 하나만 생성
  • 모든 JSP 페이지에서 접근 가능
  • ServeletContext 타입
  • 웹 어플리케이션 전반에서 이용하는 정보를 저장하거나, 서버의 정보, 서버의 물리적 경로 등을 얻어오는데 사용
  • web.xml(deployment descriptor) : 웹 어플리케이션에 대한 여러 가지 설정을 저장하는 곳
이 기사는 저작권자의 CC BY-NC 4.0 라이센스를 따릅니다.