본문 바로가기

프로그래밍/JSP

[JSP 요약 정리] 6. 기본 객체와 영역

6. 기본 객체와 영역

1) out 기본 객체

- JSP 페이지가 생성하는 모든 내용은 out 기본 객체를 통해 전송됨

- out 객체의 출력 메소드

print() : 데이터를 출력

println() : 데이터 출력 후 줄바꿈 문자 출력

newLine() 줄바꿈 문자 출력


- out 객체의 버퍼 관련 메소드

int getBufferSize() : 버퍼의 크기 반환

int getRemaining() : 버퍼의 남은 크기 반환

void clear() : 버퍼를 비움(만약 이미 플러시했으면 IOException을 발생시킴)

void clearBuffer() : 버퍼를 비움(Exception 없음)

void flush() : 버퍼를 클라이언트에 전송

boolean isAutoFlush() : autoflush 설정 여부 반환


2) pageContext 기본 객체

- JSP 페이지와 일대일로 연결된 객체

- 기능

기본 객체 구하기

속성 처리하기

페이지의 흐름 제어

에러 데이터 구하기


- pageContext 객체의 기본 객체 접근 메소드

ServletRequest getRequest() : request 기본 객체 반환

ServletResponse getResponse() : response 기본 객체 반환

HttpSession getSession() : session 기본 객체 반환

ServletContext getServletContext() : application 기본 객체 반환

ServletConfig getServletConfig() : config 기본 객체 반환

JspWriter getOut() : out 기본 객체 반환

Exception getException() : exception 기본 객체 반환

Object getPage() : page 기본 객체 반환


3) application 기본 객체

- 웹 어플리케이션과 관련된 기본 객체, 모든 JSP페이지는 하나의 객체를 공유


- 초기화 파라미터: web.xml 파일에 태그를 추가해서 파라미터 초기화 가능

<context-param>

<description>설명(미필수)</description>

<param-name>파라미터 이름</param-name>

<param-value>파라미터 값</param-value>

</context-param>


- 초기화 파라미터 관련 메소드

String getInitParameter(String name) : 초기화 파라미터 name의 값을 반환

Enumeration<String> getInitParameterNames() : 초기화 파라미터 이름 목록 반환


- 서버 정보 관련 메소드

String getServerInfo() : 서버 정보를 반환

String getMajorVersion() : 서버가 지원하는 서블릿 규약의 버전 반환(정수 부분)

String getMinorVersion() : 서버가 지원하는 서블릿 규약의 버전 반환(소수 부분)


- 로그 기록 메소드

void log(String msg) : msg를 로그로 남김

void log(String msg, Throwable throwable) : msg를 로그로 남김(Exception 포함)

*톰캣은 톰캣폴더\logs폴더에 로그를 저장


- 자원 접근 메소드

String getRealPath(String path) : 자원의 시스템상 경로 반환

URL getResource(String path) : 자원에 접근 가능한 URL객체 반환

InputStream getResourceAsStream(String path) : 자원의 데이터를 얻을 InputStream 반환


4) 기본 객체와 영역

- 웹 어플리케이션은 4가지 영역으로 구성

- 영역(scope): Page, Request, Session, Application


- 4가지 기본 객체의 속성 처리 메소드

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

Object getAttribute(String name) : name 속성의 값 반환

void removeAttribute(String name) : name 속성 제거

Enumeration<String> getAttributeNames() : 속성 목록 반환(pageContext 객체 미제공)


- 속성의 값은 Object타입이기 때문에 기본데이터 타입은 래퍼(wrapper) 클래스 사용