본문 바로가기
컴퓨터과학[3-2]/J.S.P

JSP - [제6강] 내장 객체와 Scope

by boolean 2016. 7. 21.
728x90

JSP - [제6강] 내장 객체와 Scope

내장 객체, pageContext 객체, application 객체, out 객체, Scope

JSP 용어정리

  • 내장객체
    JSP의 내장 객체(implicit object)는 웹 컨테이너가 만들어 제공하는 객체로 JSP 페이지 안에서 선언을 하지 않고 사용할 수 있는 객체이다. 스크립트릿, 표현식, 표현 언어에서 사용된다.
  • 영역(scope)
    JSP 페이지에서 사용되는 객체들은, JSP 내장 객체이든 아니면 페이지 내에서 만들어졌던 간에, 모두 정해진 영역 안에서만 사용이 가능하다. 4개의 영역이 존재하며 page 영역은 하나의 페이지 내부, request 영역은 같은 요청을 처리하는 페이지들, session 영역은 같은 세션을 공유하는 페이지들, application 영역은 같은 웹 어플리케이션에 속하는 페이지들을 의미한다.
  • 속성
    같은 영역에 속하는 페이지들은 작업을 위해 데이터를 공유할 필요가 있다. 이러한 데이터는 영역을 표현하는 객체인 request, session, application에 속성으로 저장된다. 속성은 <이름, 값>의 형태를 가진다. 속성 이름은 String 유형이며, 값은 임의 유형의 객체이다.

요점정리

  1. 내장 객체는 웹 컨테이너가 만들어 자동으로 제공하는 객체로서 JSP 프로그래밍에 필요한 정보를 가지고 있고 조작 기능을 제공한다.
  2. pageContext 객체는 하나의 JSP 페이지와 1:1로 대응되는 객체로서 JSP 페이지에서 사용될 수 있는 내장 객체들을 리턴하는 메서드를 제공한다.
  3. application 객체는 웹 어플리케이션의 정보를 저장하고 관리하는 객체이다. 따라서 특정 웹 어플리케이션에 포함된 모든 JSP 페이지는 하나의 application 객체를 공유하게 된다.
  4. JSP 페이지에서 데이터 출력을 위해 out 객체를 이용한다. out 객체는 웹 브라우저에 데이터를 전송하는 출력 스트림으로 JspWriter 유형의 객체이다.
  5. JSP 페이지 내에서 사용되는 HTML 태그나 텍스트들은 서블릿 프로그램으로 번역될 때 out.print()에 문자열 인자로 전달되며, 표현식에서는 수식이 인자로 전달된다.
  6. request 영역은 웹 브라우저의 요청 한번을 영역으로 한다. 즉, 하나의 요청을 처리하는 동안에 사용되는 JSP 페이지들은 하나의 request 영역에 속한다.
  7. session 영역은 웹 브라우저가 살아있는 동안의 범위를 나타낸다. 일단 세션이 생성되면 웹 브라우저를 종료할 때 까지 모든 요청들은 하나의 session 영역에 포함된다.
  8. application 영역은 웹 어플리케이션이 살아있는 동안의 범위를 나타낸다. 따라서 웹 컨테이너가 구동되고 같은 웹 어플리케이션에 속해 있는 모든 페이지들은 하나의 application 영역에 포함된다. application 영역은 웹 컨테이너가 종료되거나 재시작될 때 사라진다.
  9. 영역을 표현하는 내장 객체에 속성을 저장할 수 있다. 속성은 같은 영역에 속하는 JSP 페이지들 사이에서 정보를 공유하기 위한 목적으로 사용된다.

연습문제

  • 연습문제1
    내장 객체에 대한 설명이다. 잘못된 것은?
    답을 체크하세요
    정답 :
    해설 :
    JSP에서 사용되는 모든 객체는 scope가 정해져 있다. 내장 객채를 implicit 객체라고 하고, 액션 태그 <jsp:useBean>를 사용하여 생성된 객체를 explicit 객체라고 한다.
  • 연습문제2
    하나의 웹 어플리케이션에 포함되어 있는 JSP 페이지들에서 공유되는 내장 객체로 ServletContext 유형의 객체는 무엇인가?
    답을 체크하세요
    정답 :
    해설 :
    Happlication 객체는 웹 어플리케이션 전반에 걸쳐 사용되는 정보를 관리하기 위한 객체이다. web.xml 파일에 저장된 초기 파라미터 설정, 웹 컨테이너에 대한 정보, 웹 어플리케이션의 폴더 정보를 읽거나 로그 메시지를 기록할 때 사용한다.
  • 연습문제3
    이 영역에 속하는 객체들은 같은 요청을 처리하는 페이지들에서 사용이 가능하다. 이 영역의 객체들은 내장 객체 request에 객체의 참조 값이 저장되며, 요청의 처리가 끝나면 사라진다. 이것은 어떤 영역인가?
    답을 체크하세요
    정답 :
    해설 :
    요청이 포워딩되는 경우, 포워딩을 보내고 받는 두 페이지는 하나의 request 영역에 속한다.
  • 연습문제4
    JspWriter 유형의 내장 객체로 웹 브라우저에 데이터를 출력하기 위한 출력 스트림은 무엇인가?
    답을 체크하세요
    정답 :
    해설 :
    out 객체를 통해 HTML 태그, 텍스트 및 표현식의 결과를 출력할 수 있다. 또 버퍼 정보를 리턴하거나 버퍼를 제어하는 메소드를 제공한다.
  • 연습문제5
    영역을 나타내는 내장 객체에 속성을 저장할 수 있다. 이것에 관한 설명으로 잘못된 것은?
    답을 체크하세요
    정답 :
    해설 :
    서블릿 컨테이너가 지정하는 속성이 있으며, 프로그램 상에서도 <이름, 값> 형태의 속성을 추가할 수 있다.



댓글