ServletRequest 인터페이스는 클라이언트로부터 온 요청에 대한 정보를 서블릿에게 전달하기 위해 사용되는 인터페이스이다. 서블릿 컨테이너는 클라이언트로부터 온 요청을 ServletRequest 인터페이스를 구현한 Request객체를 생성해 서블릿에게 전달해 준다. 따라서 Request 객체에 사용되는 메소드를 미리 정의해 놓은 인터페이스이다.
ServletRequest 인터페이스는 매개변수의 이름과 값, 매개변수의 속성, 입력 스트림을 얻을 수 있는 메소드를 미리 정의해 놓았다.
ServletRequest 인터페이스 메소드
메소드 |
설명 |
Enumeration getAttributeNames() |
요청이 갖는 속성들의 이름에 대한 Enumeration 객체 반환 |
Object getAttribute(String name) |
주어진 name의 속성 값을 반환 |
void setAttribute(String key, Object obj) |
주어진 이름의 속성을 설정 |
String getCharacterEncoding() |
요청에 사용된 문자인코딩을 반환 |
int getContentLength() |
요청에 포함되어 있는 데이터의 길이를 반환하며, 길이를 알 수 없는 경우 -1을 반환 |
String getContentType() |
요청에 포함되어 있는 내용에 대한 MIME 타입을 반환. 알수 없는 경우 null를 반환 |
Enumeration getParameterNames() |
매개변수들의 이름에 대한 Enumeration 객체를 반환 |
String[] getParameterValues(String name) |
주어진 이름으로 변수가 갖는 모든 값을 문자열 배열로 반환(HTML 입력요소가 리스트나, 선택박스 일 때 사용하는 메소드) |
String getProtocol() |
프로토콜 및 major/minor 버전을 반환 |
String getRemoteAddr() |
클라이언트의 IP주소를 반환 |
String getRemoteHost() |
클라이언트의 호스트 이름을 반환 |
String getServerName() |
요청을 받은 서버의 이름을 반환 |
int getServerPort() |
요청을 받은 포트 번호를 반환 |
BufferedReader getReader() |
요청 바디로부터 문자 인코딩에 따라 텍스트를 읽어 들이기 위한 BufferedReader객체를 반환 |
ServletInputStream getInputStream() |
요청 바디로부터 바이너리 데이터를 읽어들이기 위해 한 라인씩 읽을 수 있는 ServletInputStream객체를 반환 |
ServletInputStream 클래스
ServletInputStream 클래스는 클라이언트로 온 바이너리 데이터를 읽기 위한 입력 스트림(input stream)과 한번에 한 라인씩 읽을 수 있도록 해주는 readLine() 메소드를 제공합니다. 일반적으로 ServletRequest.getInputStream()메소드를 사용해 ServletInputStream객체를 얻는다.
int readLine(byte[] b, int off, int len): 입력 스트림에서 한번에 한 라인씩 읽어들인다. 만약, 반환값이 -1이면 더 이상 데이터가 존재하지 않는다는 것을 의미한다.
'자바(Java) > JAVA 2EE' 카테고리의 다른 글
HttpServlet 추상 클래스 (0) | 2010.12.08 |
---|---|
클라이언트에게 응답할 때 사용되는 ServletResponse 인터페이스 (0) | 2010.12.08 |
java.servlet 패키지의 ServletConfig와 ServletContext 인터페이스 (0) | 2010.12.08 |
HTTP 프로토콜을 위한 서블릿 클래스 HttpServlet 클래스 (0) | 2010.12.05 |
서블릿의 라이프 사이클과 기본 상속 관계 (0) | 2010.12.05 |