JSP

제3장. 내장객체(기본객체) request, response

십억10 2009. 3. 20. 18:14
 

▶ 기본 객체

● request : 웹 브라우저가 전송한 요청 정보를 담는다.

※ 클라이언트 정보 및 서버 정보 읽기 메소드

메소드

리턴타입

설명

getRemoteAddr()

String

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

getContentLength()

long

클라이언트가 전송한 요청 정보의 길이를 구한다. 실제로 전송하는 데이터가 존재하는 경우

getCharacterEncoding()

String

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

getContentType()

String

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

getProtocol()

String

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

getMethod()

String

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

getRequestURI()

String

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

getContextPath()

String

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

getServerName()

String

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

getServerPort()

int

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

※ HTML 폼과 요청 파라미터의 처리 메소드

메소드

리턴타입

설명

getParameter

(String name)

String

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

getParameterValues

(String name)

String[]

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

getParameterNames()

java.util.

Enumearation

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

getParameterMap()

java.util.Map

웹 브라아주가 전송한 파라미터의 맵을 구한다.

※ 요청 헤더 정보의 처리 메소드

메소드

리턴타입

설명

getHeader(String name)

String

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

getHeaders(String name)

java.util.Enumeration

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

getHeaderNames()

java.util.Enumeration

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

getIntHeader(String name)

int

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

getDateHeader

(String name)

long

지정한 헤더의 값을 시간값으로 읽어 온다.(이때 시간은 1970년 1월1일 이후로 흘러간 1/1000초 단위의 값을 가진다.)


● response : 웹 브라우저에 보내는 응답 정보를 담는다.

※ 웹 브라우저에 헤더 정보 전송하기 메소드

메소드

리턴타입

설명

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를 리턴한다.

※ 리다이렉트를 이용해서 페이지 이동하기

  - sendRedirect(String location) : 웹 서버가 웹 브라우저에게 다른 페이지로 이동하라고 지시하는 것

respons.sendRedirect(http://www.asdf.com/)


● GET 방식 전송과 POST 방식 전송

※ 전송방식 선언

<form action="/asdf/asdf.jsp" method="post">

※ GET 방식

  - URL에 파라미터에 붙여서 전송

  - 웹 브라우저, 웹 서버 또는 웹 콘테이너에 따라서 전송할 수 있는 파라미터 값의 길이에 제한이 있을 수 있다.

http://www.asdf.com/?이름1=값1&이름2=값2&...&이름n=값n

※ POST 방식

  - 스트림 방식으로 데이터를 전송

  - 웹 브라우저나 웹 서버 등에 상관없이 전송할 수 있는 파라미터의 길이에 제한이 없다.

'JSP' 카테고리의 다른 글

제5장. 쿠키  (0) 2009.03.24
제4장. 필수 이해 요소  (0) 2009.03.23
제2장. page 디렉티브와 스크립트  (0) 2009.03.20
제1장. JSP 기본개념  (0) 2009.03.20
[펌] jsp 함수  (0) 2009.03.09