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 응답으로 보내는 예제입니다. 

실제로는 여러 종류의 요청을 처리하거나, 데이터베이스와 통신하여 동적인 응답을 생성하는 등의 복잡한 로직을 구현할 수 있습니다. 

 

 

반응형