[java] 서블릿의 요청과 응답 객체
서블릿은 웹 애플리케이션에서 HTTP 요청을 처리하는 역할을 담당합니다. 이때 요청(request)과 응답(response) 객체는 서블릿과 클라이언트 간의 상호작용을 가능하게 해줍니다. 이번에는 서블릿의 요청과 응답 객체에 대해 알아보겠습니다.
요청 객체 (HttpServletRequest)
HttpServletRequest는 클라이언트로부터 받은 HTTP 요청에 대한 정보를 담는 객체입니다. 서블릿에서 이 객체를 사용하여 클라이언트의 요청을 분석하고 필요한 작업을 수행할 수 있습니다. 요청 객체에서 주로 사용되는 메서드들은 다음과 같습니다.
getMethod()
: 클라이언트의 HTTP 메서드를 반환합니다. (GET, POST, PUT, DELETE 등)getParameter(String name)
: 요청 파라미터의 값을 가져옵니다. (GET 또는 POST 방식으로 전달된 파라미터)getRequestURL()
: 요청 URL을 반환합니다. (쿼리 스트링 포함)getHeaders(String name)
: Request Header에서 지정된 이름에 해당하는 모든 값을 반환합니다.
import javax.servlet.http.HttpServletRequest;
public void doGet(HttpServletRequest request, HttpServletResponse response) {
String method = request.getMethod();
String parameter = request.getParameter("key");
StringBuffer requestURL = request.getRequestURL();
// 요청 처리 로직
}
응답 객체 (HttpServletResponse)
HttpServletResponse는 서블릿에서 클라이언트에게 응답을 보내는 역할을 합니다. 이 객체를 사용하여 클라이언트에게 요청에 대한 결과를 전달할 수 있습니다. 응답 객체에서 주로 사용되는 메서드들은 다음과 같습니다.
setStatus(int sc)
: 응답에 대한 상태 코드를 설정합니다.setHeader(String name, String value)
: 응답 헤더에 값을 추가합니다.getWriter()
: 응답에 출력하기 위한 Writer 객체를 반환합니다.
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {
response.setStatus(HttpServletResponse.SC_OK);
response.setHeader("Content-Type", "text/html; charset=UTF-8");
PrintWriter out = response.getWriter();
out.println("<html><body>");
out.println("<h1>응답 결과입니다.</h1>");
out.println("</body></html>");
}
참고 자료
이상으로 서블릿의 요청과 응답 객체에 대해 알아보았습니다. 요청 객체를 통해 클라이언트로부터 받은 요청을 처리하고, 응답 객체를 통해 결과를 클라이언트에게 전달할 수 있습니다.