JSP 내장 객체

  • PageContext
    • JSP 페이지에 대한 정보를 포함하는 객체이다
  • ServletContext application
    • 웹 애플리케이션(프로젝트) 당 하나 생성되는 객체, 웹 애플리케이션에 대한 정보를 포함하고 있다
  • HttpSession session
    • 클라이언트 당 하나 생성되는 객체, 클라이언트의 정보를 저장하는 객체다
  • ServletConfig config
    • JSP에 대한 초기화 파라미터 정보를 포함한다. JSP 당 하나 생성되는 객체
  • JspWriter out
    • 출력 전용 스트림, HTML 컨텐츠를 클라이언트로 보낸다

속성과 스코프

  • 속성은 어느 객체에 저장했는지에 따라서 이용 범위지속 시간이 달라진다.
  • HttpServletRequest
    • 요청 파라미터 정보가 저장된다.
    • 폼 입력값, 쿼리스트링을 tomcat이 분석해서 request에 저장함
    • JSP에서 다른 JSP로 포워드이동(내부 이동) 했을 때, 다른 JSP에서도 사용 가능하다.
    • 응답이 완료되기 전까지 사용 가능하다.

  • HttpSession
    • 클라이언트 당 하나가 만들어지는 객체로, 특정 클라이언트 전용의 객체이다.
    • 최초 접속시, 혹은 사용자 인증 완료시에 자동으로 생성된다.
    • 일정시간 이상 요청이 없으면 사라진다.
    • 로그아웃 전까지 사용 가능하다.

  • ServletConfig
    • 서블릿과 관련된 설정 정보가 저장된 객체다.
    • jsp객체가 생성될 때 생성되고, jsp 객체 당 하나가 생성된다.

  • ServletContext
    • 웹서버가 중지될 때 사라진다.
    • 웹서버가 가동되는 동안은 언제나 사용 가능하다.
    • 초기화 파라미터와 속성을 저장할 수 있다.
    • 모든 클라이언트, 모든 JSP에서 접근 가능한 객체이다.

  • PageContext
    • 해당 JSP가 실행되는 동안만 사용 가능한 객체다.
    • JSP가 실행될 때 만들어져서 PageContext 객체 안에 저장된다. (즉 jsp마다 pageContext가 각각 다르다)
    • 해당 JSP에서만 사용 가능하다.

  • HttpServletRequest, HttpSession, PageContext, ServletContext에서 쓸 수 있는 메소드
    • Object getAttributes(String name)
      • 속성(값)에 저장된 객체를 조회할 수 있다
    • void setAttributes(String name, Object value)
      • 속성(값)에 저장할 수 있다