이 글은 김영한 님의 스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 강의를 수강하며 정리한 글입니다.
단순 텍스트 응답
writer.println("ok");
HTML 응답
📄 ResponseHtmlServlet
HTTP 응답으로 HTML을 반환할 때는 content-type을 text/html 로 지정해야 한다.
//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>");
HTTP API
메시지 바디 JSON
📄 ResponseJsonServlet
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 helloData = new HelloData();
helloData.setUsername("jang");
helloData.setAge(22);
//{"username":"jang", "age":22}
String result = objectMapper.writeValueAsString(helloData);
response.getWriter().write(result);
application/json은 utf-8 형식을 사용하도록 정의되어 있다. 그래서 추가 파라미터를 지원하지 않는다.
application/json;charset=utf-8으로 전달하는 것은 의미 없는 파라미터를 추가한 것이 된다.
response.getWriter()를 사용하면 추가 파라미터를 자동으로 추가하는데,
이때는 response.getOutputStream()으로 출력하면 그런 문제가 없다.
'Back-End > Spring' 카테고리의 다른 글
[Spring MVC] MVC 패턴 (0) | 2022.04.20 |
---|---|
[Spring MVC] 서블릿, JSP - 회원 관리 웹 애플리케이션 (0) | 2022.04.19 |
[Spring MVC] 서블릿 - HttpServletResponse (0) | 2022.04.18 |
[Spring MVC] 서블릿 - HTTP 요청 데이터의 종류 (0) | 2022.04.16 |
[Spring MVC] 서블릿 - HttpServletRequest (0) | 2022.04.15 |
댓글