ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • JSP | 내장 객체 개요 & Method &객체 영역
    JAVA/JSP 2020. 2. 19. 16:54

    내장 객체

    • 스크립트릿 안에서만 사용 가능
    • 스크립트릿에 내장 객체와 같은 이름의 변수를 선언할 수 없음
      선언문에서는 사용 가능하나 가급적 사용하지 않는 것이 좋음
    • 서블릿 컨테이너가 해당 JSP 페이지 실행 시 자동으로 생성
      jsp가 변환된 fileName_jsp.java 파일을 열어보면
      _jspService() 메소드 내부에 선언되어 있음

    내장 객체 종류

    내장 객체 반환값 타입 설명
    request javax.servlet.http.httpServletRequest
    또는 javax.servlet.ServletRequest
    웹 브라우저의 요청 정보를 저장하고 있는 객체
    response javax.servlet.http.httpServletResponse
    또는 javax.servlet.ServletResponse
    웹 브라우저의 요청에 대한 응답 정보를 저장하는 객체
    out javax.servlet.jsp.JspWriter JSP 페이지의 출력할 내용을 가지고 있는 출력 스트림 객체
    session javax.servlet.http.HttpSession 하나의 웹 브라우저 내에서 정보를 유지하기 위한 세션 정보를 저장하고 있는 객체
    application javax.servlet.ServletContext 웹 애플리케이션 Context의 정보를 담고 있는 객체
    pageContext javax.servlet.jsp.PageContext JSP 페이지에 대한 정보를 저장하고 있는 객체
    page java.lang.Object JSP 페이지를 구현한 자바 클래스 객체
    config javax.servlet.ServletConfig JSP 페이지에 대한 설정 정보를 담고 있는 객체
    exception java.lang.Throwable JSP 페이지에서 예외가 발생한 경우 사용하는 객체

    ※ 자주 사용되는 내장 객체는 굵은 글씨로 표기


    setAttribute() & getAttribute

    request, session, application, pageContext 내장 객체는
    속성(attribute)값을 저장하고 읽을 수 있는 메소드 제공

    속성값을 저장하고 읽을 수 있는 기능은
    JSP 페이지 및 서블릿 간 정보를 주고받을 수 있도록 함

    메소드 설명
    void setAttribute(String key, Object value) 해당 내장 객체의 속성값을 설정하는 메소드
    key 속성명에 value 속성값을 지정
    java.util.Enumeration getAttributeNames() 해당 내장 객체의 속성명을 읽어오는 메소드
    모든 속성의 이름을 얻어옴
    Object getAttribute(String key) key 속성명에 해당하는 속성값 반환
    void removeAttribute(String key) key 속성명에 해당하는 속성 제거

    ※ 내장 객체 영역에 해당하는 범위 내에서 데이터 공유 가능


    내장 객체 영역

    웹 애플리케이션은 page, request, session, application 4개의 영역(scope)을 가짐
    내장 객체의 영역은 객체 유효기간이라고도 불리며
    객체를 누구와 공유할 것인가를 나타냄


    page 영역

    • 한 번의 웹 브라우저(클라이언트)의 요청에 대해 하나의 JSP 페이지가 호출됨
    • page 영역은 객체를 하나의 페이지 내에서만 공유
    • pageContext 내장 객체 사용

    request 영역

    • 한 번의 웹 브라우저의 요청에 대해 같은 요청을 공유하는 페이지가 대응됨
    • 같은 request 영역인 경우 두 개의 페이지가 같은 요청을 공유할 수 있음
    • 객체를 하나 또는 두 개의 페이지 내에서 공유 가능
    • include, forward 액션 태그 사용시 request 내장 객체를 공유하게 되며
      그에 따라 같은 request 영역이 됨
    • 주로 페이지 모듈화에 사용
    • request 내장 객체 사용

    session 영역

    • 하나의 웹 브라우저당 1개의 session 객체 생성
    • 같은 웹 브라우저 내에서 요청되는 페이지들은 같은 객체 공유
    • 주로 회원 관리(인증)에 사용되며 session 내장 객체 사용

    application 영역

    • 하나의 웹 애플리케이션(프로젝트)당 1개의 application 객체 생성
    • 같은 웹 애플리케이션에 요청되는 페이지들은 같은 객체 공유
      /Project_Name 웹 애플리케이션에서는 같은 application 객체 공유
    • 애플리케이션 전체에서 공유하는 객체이므로
      메모리에 부담이 갈 수 있어서 자주 사용되지는 않음
    • application 내장 객체 사용

    JSP 내장 객체에 대해 간단히 살펴보고 set/getAttribute 메소드와 내장 객체의 영역에 대해 알아보았습니다.

    set/getAttiribute 메소드를 사용하면 내장 객체 영역 내에서 페이지(또는 서블릿) 간 데이터를 공유할 수 있습니다.

    이에 대한 자세한 예제 및 중요한 내장 객체는 앞으로 따로 다룰 예정입니다.

    'JAVA > JSP' 카테고리의 다른 글

    JSP | Response 내장 객체  (0) 2020.02.19
    JSP | Request 내장 객체  (2) 2020.02.19
    JSP | Page Directives_< %@include% >  (0) 2020.02.19
    JSP | Servlet  (0) 2020.02.18
    JSP | Page Diretives_<%@ page %>  (0) 2020.02.18

    댓글

Designed by Tistory.