[JSP/SERVLET] JSP 기본객체와 영역, 속성

Posted by 신희준 on September 20, 2017


2017 - 09 - 20 (수)

  • out 기본객체
  • pageContext 기본 객체
  • application 기본 객체
  • JSP 기본객체와 영역
  • JSP 기본 객체의 속성

  • 기본사항 정리


    1 . out 기본 객체

    out 객체의 메서드는 print(), println(), newLine() 을 제공한다.

    out 기본객체의 버퍼 관련 메서드
    - getBufferSize() : 버퍼 크기를 구함
    - getRemaining() : 남은 버퍼크기
    - clear() : 버퍼의 내용을 비움
    - clearBuffer() : 버퍼의 내용을 비운다. 버퍼가 이미 플래쉬 된경우 IOException발생
    - flush()
    : 버퍼에 있는 내용을 클라이언트에게 전달.
    - isAutoFlush() : 버퍼가 다 찼을 때 자동으로 플러시 할 경우 true를 리턴한다.


    2 . pageContext 기본 객체

    pageContext객체가 하는 기능은 기본객체를 구하는 것이다. 지원하는 메소드 들은 어렵지 않다. get + 얻고자 하는 기본 객체() [ex)getRequest(),getResponse(),getSession(),etc..]


    3 . application 기본 객체

    application 기본 객체는 Web App 전반에 걸쳐서 사용되는 정보를 담는다.

    - 기능 1 : Web App의 초기화 파라미터를 읽어옴.

    <context-param>
      <description>파라미터 설명</description>
      <param-name>파라미터 이름</param-name>
      <param-value>파라미터 값</param-value>
    </context-param>
    

    context-param 를 이용하여 파라미터를 web.xml파일에 저장한다. 이 파라미터를 불러오는 메소드로는 특정 이름을 가진 파라미터의 값을 읽어오는 getInitParameter(String name) 메소드와 파라미터의 이름 목록을 불러오는 getInitParameterNames() 메서드가 있다.


    <p>- 기능 2 : 서버 정보 읽어오기</p>

    서버 정보를 읽어오는 application 기본 객체의 메소드는 getServerInfo() 가 있다.

    - 기능 3 : 로그 메시지 기록

    \log 폴더에 날짜에 맞춰서 로그 메시지가 기록이된다.



    - 기능 4 : 웹 어플리케이션 자원 구하기

    getRealPath(String path) : 자원의 시스템상 경로를 반환
    getResource(String path) : 자원에 접근할 수 있는 URL 객체 반환
    getResourceAsStream(String path) : 데이터를 읽어올 수 있는 inputStream 반환

    4 .JSP 기본 객체와 영역

    PAGE, REQUEST, SESSION, APPLICATION 영역 4가지로 구성되어 있다고 합니다.

    PAGE 영역에서는 pageContext 기본객체를 가지고 있다. 웹브라우저가 실행되고 요청이들어와 JSP 파일이 하나 실행되는데 이때 이 JSP 페이지 하나가 PAGE의 영역이된다.

    REQUEST 영역에서는 request 기본객체를 가지고 있는데 REQUEST영역은 PAGE영역과 달리 요청되는 모든 JSP페이지가 영역이 된다.

    SESSION 영역에서는 session기본 객체를 가지고 있다. 예를들어 어떤 회원이 로그인을 했을 때 Session기본 객체에는 그 유저의 정보를 담고 있어야한다. 즉, SESSION은 모든 JSP페이지 영역을 가져야한다.

    APPLICATION 영역에서는 application기본 객체를 가지고 있다. APPLICATION의 영역은 WEB APP과 관련된 모든 영역이다. 생각해보면 session을 APPLICAION 영역에 저장할 수 도 있을 것이다. 하지만 앞선 사례에 빗대어 말하면 개인 유저마다 권한이 다를 수도 있고 다른 화면을 비출 수 있기 때문에 APPLICAION영역에 넣지 않는다.

    5 .JSP 기본 객체의 속성

    속성 처리 메소드


    setAttribute(String name, Object value) : 이름이 name인 속성의 값을 value로 지정

    getAttribute(String name) : 이름이 name인 속성의 값을 구한다. 지정한 이름의 속성이 존재하지 않으면 null 리턴

    removeAttribute(String name) : 이름이 name인 속성을 삭제한다.

    getAttributeNames() : 속성의 이름 목록을 구한다.

    중요하다고 하니 잘 기억해두기...