티스토리 뷰
JSP 기본객체
JSP는 9개의 기본 객체를 제공하고 있습니다.
기본객체 |
실제 타입 |
설명 |
request |
javax.servlet.http.HttpServletRequest |
클라이언트의 요청 정보를 저장한다. |
response |
javax.servlet.http.HttpServletResponse |
응답 정보를 저장한다. |
pageContext |
javax.servlet.jsp.PageContext |
JSP 페이지에 대한 정보를 저장한다. |
session |
javax.servlet.http.HttpSession |
HTTP 세션 정보를 저장한다. |
config |
javax.servlet.ServletConfig |
JSP 페이지에 대한 설정 정보를 저장한다. |
out |
javax.servlet.jsp.JspWriter |
JSP 페이지가 생성하는 결과를 출력할 때 사용하는 출력 스트림 |
page |
java.lang.Object |
JSP 페이지를 구현한 자바 클래스 인스턴스 |
exception |
java.lang.Throwable |
에러 페이지에만 사용한다 |
application |
javax.servletServletContext |
웹 애플리케이션에 대한 정보를 저장한다. |
JSP 내에서 선언하지 않고 사용할 수 있는 변수가 있는데 그러한 변수들을 내장변수(implicit variable)라고 합니다..
이러한 내장변수는 웹 컨테이너가 JSP를 서블릿 클래스로 변환할 때 자동으로 선언해 주기 때문에 선언하지 않고 사용할 수 있습니다.
exception 객체를 제외한 8개 기본 객체는 모든 JSP 페이지에 사용할 수 있습니다. exception 객체는 오직 에러 페이지에서만 사용할 수 있습니다.
out 기본객체
JSP가 생성하는 모든 내용은 out 기본 객체를 통해서 전송됩니다.
<% out.println("<html>") %>
<% out.println("<header>") %>
<% out.println("</header>") %>
<% out.println("</html>") %>
사실 out 객체를 사용해서 직접 출력할 일은 많지 않습니다. 하지만 <% %> 스크립틀릿 안에서 출력할 값이 있을경우 사용하면 유용합니다.
<% if(score > 10) { %>
<%= scoreA %>
<% } else if(score > 5) { %>
<%= scoreB %>
<% } %>
<%
if(score > 10) {
out.println(scoreA);
} else if(score > 5) {
out.println(scoreB);
}
%>
지원 메서드
- print() : 데이터를 출력한다.
- println() : 데이터를 출력하고 줄바꿈한다.
- newLine() : 줄바꿈을 출력한다.
out이 page 지시자에서 사용한 buffer를 직접 사용하기 때문에 밀접한 관계가 있습니다. out 에서 buffer에 대한 정보를 얻을 수 있는 메서드를 제공합니다.
getBufferSize() | int | 버퍼의 크기를 구한다. |
getRemaining() | int | 현재 버퍼의 남은 크기를 구한다 |
clear() | void | 버퍼의 내용을 비운다. 만약 버퍼를 이미 플러시했다면 IOException을 발생한다. |
clearBuffer() | void | 버퍼의 내용을 비운다. clear() 메서드와 달리 버퍼를 플러시한 경우에도 IOException을 발생하지 않는다. |
flush() | void | 버퍼를 플러시한다. 즉 클라이언트에게 버퍼의 내용을 전송한다. |
isAutoFlush() | boolean | 버퍼가 다 찼을 때 자동으로 플러시 할 경우 true를 반환한다. |
pageContext 기본객체
getRequest() | ServletRequest | request 기본 객체를 구한다 |
getResponse() | ServletResponse | response 기본 객체를 구한다 |
getSession() | HttpSession | session 기본 객체를 구한다 |
getServletContext() | ServletContext | application 기본 객체를 구한다 |
getServletConfig() | ServletConfig | config 기본 객체를 구한다 |
getOut() | JspWriter | out 기본 객체를 구한다 |
getException() | Exception | exception 기본 객체를 구한다 |
getPage() | Object | page 기본 객체를 구한다 |
Exception 객체는 에러페이지에서만 의미가 있습니다.
getRequest, getResponse가 반환하는 객체는 실제로는 HttpServletRequest, HttpServletResponse 입니다.
application 기본객체
application은 웹 어플리케이션 전반에 걸쳐 사용되는 정보를 담고있습니다. application은 초기 설정 정보를 읽어올 수 있으며, 서버, 웹 어플리케이션이 제공하는 자원을 읽어올 수 있습니다.
웹 어플리케이션이 사용할 수 있는 초기 파라미터는 web.xml에 context-param 태그를 이용하여 추가합니다.
초기 파라미터 읽어오기
getInitParameter(String name) | String | 이름이 name인 웹 어플리케이션 초기화 파라미터 값을 읽어온다. 존재하지 않으면 null을 리턴한다. |
getInitParameterNames() | Enumeration<String> | 웹 어플리케이션 초기화 파라미터 이름 목록을 리턴한다. |
서버 정보 읽어오기
getServerInfo() | String | 서버 정보를 구한다 |
getMajorVersion() | String | 서버가 지원하는 서블릿 규약의 메이저 버전을 리턴한다(서버의 정수부분) |
getMinorVersion() | String | 서버가 지원하는 서블릿 마이너 버전을 리턴한다 (서버의 소수부분) |
로그 메시지 기록하기
log(String msg) | void | msg를 로그로 남긴다 |
log(String msg, Throwable throwable) | void | msg를 로그로 남긴다. 익셉션 정보도 함께 로그에 기록한다. |
자원 접근 메서드
getRealPath(String path) | String | 지정한 경로에 해당하는 자원의 시스템상에서의 경로를 리턴한다 |
getResource(String path) | java.net.URL | 자원에 접근할 수 있는 URL 경로를 리턴한다 |
getResourceAsStream(String path) | java.io.InputStream | 해당 자원으로부터 데이터를 읽어얼 수 있는 InputStream을 리턴한다 |
'JSP &Servlet' 카테고리의 다른 글
JSP tomcat 에서 GET방식 URI 인코딩 처리 (0) | 2021.04.24 |
---|---|
JSP request 기본객체 (0) | 2021.04.24 |
페이지 모듈화와 요청 흐름 제어 (0) | 2018.08.04 |
지시자(Directive) 디렉티브 (0) | 2018.08.01 |
스크립틀릿(scriptlet) (0) | 2018.08.01 |