Implicit Object


  • 프로그래밍 단순화시키기 위해 별다른 선언없이 내장된 객체
  • JSP 컨테이너 (catalina) 제공

객체 종류

  • request
    • 사용자 요청에 대한 정보 처리하기 위한 객체
    • javax.servlet.http.HttpServletRequest
  • response
    • 서버의 응답에 대한 정보 처리하기 위한 객체
    • javax.servlet.http.HttpServletResponse
    • HTTP 프로토콜의 단점을 보안하기 위해 cookiesession을 사용
      • cookie : 사용자단 저장 정보
      • session : 서버단 저장 정보
  • out
    • JSP 페이지에 출력할 내용을 가지고 있는 출력 스트림 객체
    • javax.servlet.jsp.jsp.jspWriter
    • out.print(), out.println()
  • exception
    • JSP 페이지에서 예외가 발생한 경우 예외 처리 객체
    • java.lang.Throwable
  • application
    • 웹 어플리케이션 Context의 정보 가지고 있는 객체
    • java.servlet.ServletContext
  • session
    • 하나의 웹 브라우저의 정보를 유지하기 위해 세션 정보 저장하는 객체
    • javax.servlet.http.HttpSession
  • pageContext
    • JSP 페이지에 대한 정보를 저장하고 있는 객체
    • javax.servlet.jsp.PageContext
  • page
    • JSP 페이지를 구현한 자바 클래스 객체
    • java.lang.Object
    • this를 통해 접근 가능
  • config
    • JSP 페이지에 대한 설정 정보를 저장하고 있는 객체
    • javax.servlet.ServletConfig

객체 영역

  • page 영역
    • 한 번의 클라이언트 요청이 오면, 하나의 JSP 페이지가 응답
    • page 영역은 이 때 하나의 JSP 페이지 내에서만 객체를 공유하는 영역 의미 ( JSP only )
      • JSP 파일에는 pageContext가 내장됨
      • 이 객체는 page 영역에서만 유효함
      • JSP 파일에 <% %> 안에 변수를 사용하면 이 변수는 해당 JSP 파일 내에서만 유효한데, page 스코프에 정의된 객체이기 때문
  • request 영역
    • 요청을 받아서 응답하기까지 객체가 유효한 영역
    • Servlet에서 forward 또는 include를 사용하면 request 요청 객체가 공유되어서 request 영역
    • request 객체 사용 예시
      • Servlet에서는 reqeust.setAttribute("이름", 객체); 로 전달하고
      • JSP에서는 Obejct obj = request.getAttribute("이름"); 으로 받음
  • session 영역
    • 하나의 브라우저 당 1개의 session 객체가 생성딤
    • 즉, 같은 브라우저 내에서 요청되는 페이지들은 같은 객체를 공유하게 되는데, 이를 세션 영역이라고 함
    • 세션이 종료되면 객체 반환
    • requset.getSession() 메서드를 호출하여 세션 영역의 객체를 얻음
  • application 영역
    • 하나의 웹 어플리케이션 당 1개의 application 객체가 생성
    • 즉, 같은 웹 어플리케이션 내에서 요청되는 페이지들은 같은 객체를 공유하게 되는데 이를 애플리케이션 영역이라고 함
    • 웹 어플리케이션 종료되면 객체는 반환
  • scope 범위 - page < request < session < application
profile
github : https://github.com/kiaeh2323 , email : kiaeh9269@gmail.com

0개의 댓글