HTTP Response 메시지는 주로 다음 내용들을 담아 응답한다.
- 단순 텍스트 응답 -> writer.println("ok")
- HTML 응답
- HTTP API 응답 -> 바디에 JSON 응답
HTML 응답
import jakarta.servlet.ServletException;
import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
@WebServlet(name = "responseHtmlServlet", urlPatterns = "/response-html")
public class ResponseHtmlServlet extends HttpServlet {
@Override
protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// Content-Type : text/html:charset=utf-8
response.setContentType("text/html");
response.setCharacterEncoding("utf-8");
PrintWriter writer = response.getWriter();
writer.println("<html>");
writer.println("<body>");
writer.println(" <div>안녕하세요</div>");
writer.println("</body>");
writer.println("</html>");
}
}
중요 : HTML 을 반환할 때는 반드시 타입을 text/html로 지정해야 한다!!!

API - JSON 응답
응답을 담을 객체는 이전에 사용했던 HelloData 클래스를 이용하였다.
import com.fasterxml.jackson.databind.ObjectMapper;
import hello.servlet.basic.HelloData;
import jakarta.servlet.ServletException;
import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
@WebServlet(name = "responseJsonServlet", urlPatterns = "/response-json")
public class ResponseJsonServlet extends HttpServlet {
private ObjectMapper objectMapper = new ObjectMapper();
@Override
protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//Content-Type : application/json
response.setContentType("application/json");
response.setCharacterEncoding("utf-8");
HelloData data = new HelloData();
data.setUsername("Lim");
data.setAge(26);
//{"username":"Lim", "age":26}
String result = objectMapper.writeValueAsString(data);
response.getWriter().write(result);
}
}

HTTP 응답으로 JSON 을 반환할 때는 타입을 application/json으로 지정해줘야 하고, Jackson 라이브러리에 writeValueAsString() 메서드를 통해 객체를 JSON 문자로 변경할 수 있다.
'Spring > MVC' 카테고리의 다른 글
| [Spring] 회원 관리 웹 애플리케이션 JSP 리팩토링 (0) | 2025.06.22 |
|---|---|
| [Spring] 회원관리 웹 애플리케이션 요구 사항 및 Servlet 구현 (A.K.A 타자연습) (0) | 2025.06.21 |
| [Spring] HttpServletResponse와 제공 메서드 (0) | 2025.06.21 |
| [Spring] HTTP Request 데이터를 처리하는 3가지 방법 (0) | 2025.06.21 |
| [Spring] HttpServletRequest과 제공 메서드 (0) | 2025.06.20 |