본문 바로가기

기타

JSP에서 지원하는 내장객체

출처 : http://seoys1026.blog.me/50139167522

1.Request

  • 클라이언트(웹 브라우저)와 관련된 정보 읽기 기능
  • 서버와 관련된 정보 읽기 기능
  • 클라이언트가 전송한 요청 파라미터 읽기 기능
  • 클라이언트가 전송한 요청 헤더 읽기 기능
  • 클라이언트가 전송한 쿠키 읽기 기능
  • 속성 처리 기능


[1] 클라이언트 및 서버 정보 관련 메서드

 메서드

리턴 타입

설명 

 getRemoteAddr()

String

웹 서버에 연결한 클라이언트의 IP주소를 구한다.게시판이나 방명록 등에서 글 작성자의 IP주소가 자동으로 입력되기도 하는데, 이 때 입력되는 IP주소가 바로 이 메서드를 사용하여 구한 것이다. 

getContentLength()

long 

클라이언트가 전송한 요청 정보의 길이를 구한다. 전송된 데이터의 길이를 알 수 없는 경우 -1을 리턴한다. 

getCharacterEncoding() 

String 

클라이언트가 요청 정보를 전송할 때 사용한 캐릭터의 인코딩을 구한다. 

getContentType() 

String 

클라이언트가 요청 정보를 전송할 때 사용한 컨텐트의 타입을 구한다. 

getProtocol() 

String 

클라이언트가 요청한 프로토콜을 구한다. 

getMethod() 

String 

웹 브라우저가 정보를 전송할 때 사용한 방식을 구한다. 

getRequestURI() 

String 

웹 브라우저가 요청한 URL에서 경로를 구한다. 

getContextPath()

String 

JSP페이지가 속한 웹 어플리케이션의 컨텍스트 경로를 구한다.

getServerName()

String 

연결할 때 사용한 서버 이름을 구한다. 

getServerPort()

String 

서버가 실행 중인 포트 번호를 구한다. 


[2] 파라미터 읽기 메서드

 메서드

 리턴 타입

설명 

getParameter(String name)

String 

이름이 name인 파라미터의 값을 구한다. 

getParameterValues(String name) 

String[] 

이름이 name인 모든 파라미터의 값을 배열로 구한다.존재하지 않을 경우 null을 리턴한다. 

getParameterNames()

java.util.Enumeration 

웹 브라우저가 전송한 파라미터의 이름을 구한다. 

getParameterMap() 

java.util.Map 

웹 브라우저가 전송한 파라미터의 맵을 구한다. 맵은 파라미터의 <이름,값>의 쌍으로 구성된다. 


[3] 헤더 읽기 메서드

 메서드

리턴 타입 

설명 

getHeader(String name)

String 

지정한 이름의 헤더 값을 구한다. 

getHeaders(String name) 

java.util.Enumeration 

지정한 이름의 헤더 목록을 구한다. 

getHeaderNames()

java.util.Enumeration 

모든 헤더의 이름을 구한다. 

getIntHeader(String name)

int 

지정한 헤더의 값을 정수값으로 읽어온다. 

getDateHeader(String name)

long 

지정한 헤더의 값을 시간 값으로 읽어온다.(1/1000단위) 


[4] 속성 처리 메서드(request/pageContext/session/application 내장객체 공통 메서드)

 메서드

리턴 타입 

설명 

getAttribute(String name,Object value)

 void

이름이 name인 속성의 값을 value로 설정한다.

getAttribute(String name) 

Object 

이름이 name인 속성의 값을 구한다. 지정한 이름의 속성이 존재하지 않을 경우 null을 리턴한다. 

removeAttribute(String name)

void 

이름이 name인 속성을 삭제한다. 

getAttributeNames()

java.util.Enumeration 

속성의 이름 목록을 구한다.(PageContext기본 객체는 제공하지않음) 




[덧붙임]@ Enumeration을 반환하는 메서드의 일반적 사용법

 01

<%@ page contentType="text/html; charset=EUC-KR" %>

 02

<%@ page import="java.util.Enumeration" @> 

 03

<html>

 04

<head><title>Enumeration의 사용 예</title></head> 

 05

<body>

 06

<%

 07

 Enumeration attrEnum = application.getAttributeNames();

 08

 while(attrEnum.hasMoreElements()) {

 09

 String name = (String)attrEnum.nextElement();

 10

 Object value = application.getAttribute(name);

 11

 %>

 12

 application 속성: <b><%= name%></b> = <%= value %><br>

 13

 <%

 14

 }

 15

 %>

 16

 </body>

 17

 </html>



2.Response

  • 헤더 정보 입력기능
  • 페이지 리다이렉션 기능


[1] 헤더 추가 메서드

 메서드

리턴 타입

설명 

addDateHeader(String name,long date)

void 

name헤더에 date를 추가한다. date는 1970년 1월 1일 이후 흘러간 시간을 1/1000초 단위로 나타낸다. 

addHeader(String name, String value)

void 

name헤더에 value를 값으로 추가한다. 

addIntHeader(String name,int value) 

void 

name헤더에 정수값 value를 추가한다. 

setDateHeader(String name,long date) 

void 

name헤더의 값을 date로 지정한다. date는 1970년 1월 1일 이후 흘러간 시간을 1/1000초 단위로 나타낸다.

setHeader(String name,String value) 

void 

name헤더의 값을 value로 지정한다. 

setIntHeader(String name,int value) 

void 

name헤더의 값을 정수값 value로 지정한다. 

containsHeader(String name) 

boolean 

이름이 name인 헤더를 포함하고 있는 경우 true를 그렇지 않으면 false를 반환한다. 



[2] 페이지 리다이렉션 메서드

 메서드

리턴 타입 

설명 

sendRedirect(String location) 

void 

location에 지정한 위치로 페이지를 이동한다. 


4.pageContext

  • 다른 기본 객체 구하기
  • 속성 처리 기능
  • 페이지 흐름 제어
  • 에러 데이터 구하기


[1] 기본 객체 접근 메서드

 메서드

리턴 타입 

설명 

 getRequest()

ServletRequest 

request 기본 객체 반환. 

 getResponse()

ServletResponse 

response 기본 객체 반환. 

 getSession()

HttpSession 

session 기본 객체 반환. 

 getServletContext()

ServletContext 

application 기본 객체 반환. 

 getServletConfig()

ServletConfig 

config 기본 객체 반환. 

 getOut()

JspWriter 

out 기본 객체 반환.

 getException()

Exception

exception 기본 객체 반환. 

 getPage()

Object 

page 기본 객체 반환. 



[2] 웹 어플리케이션 초기화 파라미터 관련 메서드

 메서드

리턴 타입 

설명 

 getInitParameter(String name)

String 

 이름이 name인 웹 어플리케이션 초기화 파라미터의 값을 읽어온다. 존재하지 않을 경우 null을 반환한다.

 getInitParameterNames()

Enumeration 

웹 어플리케이션 초기화 파라미터의 이름 목록을 반환한다. 



[3] 서버 정보 관련 메서드

 메서드

리턴 타입 

설명 

 getServerInfo()

String 

서버 정보를 구한다. 

 getMajorVersion()

String 

서버가 지원하는 서블릿 규약의 메이저 버전을 리턴한다. 

 getMinorVersion()

String 

서버가 지원하는 서블릿 규약의 마이너 버전을 리턴한다.

버전의 소수 부분을 리턴한다. 


[4] 로그 기록 메서드

 메서드

리턴 타입 

설명 

 log(String msg)

void 

로그 메시지 msg를 기록한다. 

 log(String msg, Throwable throwable)

void 

로그 메시지 msg를 기록한다. 예외 정보도 함께 로그파일에 기록한다. 



[5] 자원 접근 메서드

 메서드

리턴 타입 

설명 

 getRealPath(String path)

String 

웹 어플리케이션 내에서 지정한 경로에 해당하는 자원의 시스템상에서의 자원경로를 반환한다. 

getResource(String path)

java.net.URL 

웹 어플리케이션 내에서 지정한 경로에 해당하는 자원에 접근할 수 있는 URL객체를 반환한다.

getResourceAsStream(String path)

java.io.InputStream 

웹 어플리케이션 내에서 지정한 경로에 해당하는 자원으로부터 데이터를 읽어 올 수 있는 InputStream을 반환한다. 

[출처]

3.Out

  • 데이터 출력 기능
  • 버퍼 조작 기능


[1] 데이터 출력 메서드

 메서드

리턴 타입

설명 

print(Object obj) 

void

 데이터를 출력한다.

println(Object obj)

void

데이터를 출력하고 개행문자 입력. (개행)

 newLine()

void

개행문자 출력(개행)


[2] 버퍼 관련 메서드

 메서드출

리턴 타입 

설명 

getBufferSize() 

int 

버퍼의 크기를 구한다. 

getRemaining() 

int 

현재 버퍼의 남은 크기를 구한다. 

clear()

void 

버퍼의 내용을 비운다.만약 버퍼가 플러시 되었다면 IOException을 발생시킨다. 

clearBuffer()

void 

버퍼의 내용을 비운다. clear()메서드와 달리 버퍼를 플러시 한경우에도 IOException을 발생시키지 않는다. 

flush()

void 

버퍼를 플러시한다. 

isAutoFlush()

boolean

버퍼가 다 찼을 때 자동으로 플러시 할 경우 true를 리턴한다. 


 JSP에서 지원하는 내장객체 (2) Response|작성자 Souris