Java
Java | HttpRequestHandler란?
이진유진
2024. 2. 29. 10:12
반응형
HttpRequestHandler Interface?
Apache HttpComponents 에서 제공하는 HTTP 서버에서 사용되는 Handler Interface 입니다.
public interface HttpRequestHandler {
void handle(HttpRequest request, HttpResponse response, HttpContext context)
throws HttpException, IOException;
}
handle 메서드를 살펴보면, HTTP 요청을 처리하는 로직을 구현해야합니다.
클라이언트의 요청을 받아 어떻게 응답할지를 정의합니다.
- request : 클라이언트로부터 받은 HTTP 요청 객체입니다.
- response : 서버에서 클라이언트로 응답을 보낼 때 사용하는 HTTP 응답 객체입니다.
- context : 현재 요청에 대한 컨텍스트 정보를 제공합니다.
import org.apache.http.HttpException;
import org.apache.http.HttpRequest;
import org.apache.http.HttpResponse;
import org.apache.http.HttpStatus;
import org.apache.http.entity.StringEntity;
import org.apache.http.protocol.HttpContext;
import org.apache.http.protocol.HttpRequestHandler;
import java.io.IOException;
public class HelloWorldHandler implements HttpRequestHandler {
@Override
public void handle(HttpRequest request, HttpResponse response, HttpContext context)
throws HttpException, IOException {
// HTTP 응답 상태 설정
response.setStatusCode(HttpStatus.SC_OK);
// 응답 헤더 설정 (Content-Type)
response.setHeader("Content-Type", "text/plain; charset=UTF-8");
// 응답 본문 설정
StringEntity entity = new StringEntity("Hello, World!", "UTF-8");
response.setEntity(entity);
}
}
간단한 "Hello, World!" 문자열을 HTTP 응답으로 보내는 예제입니다.
실제로는 여러 종류의 요청을 처리하거나, 데이터베이스와 통신하여 동적인 응답을 생성하는 등의 복잡한 로직을 구현할 수 있습니다.
반응형