Spring
[Spring] HttpServletResponse를 이용해 바디에 데이터 넣기
Dong's Universe
2023. 11. 11. 20:49
크게 세가지 방법이 있다.
1. text/plain으로 넣기
writer.println으로 넣어주면 된다.
2. text/html으로 넣기
콘텐트타입과 인코딩을 설정하고 html 형식으로 writer.println을 작성한다.
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>");
3. json으로 넣기
ObjectMapper를 사용한다.
json의 경우 캐릭터인코딩은 스펙상 utf-8이라서 따로 지원하지 않는다.
response.getWriter()를 이용하면 자동으로 charset을 붙여버리는데 이를 방지하기 위해서는 response.getOutputStream()을 사용한다.
response.setContentType("application/json");
// response.setCharacterEncoding("utf-8");
HelloData helloData = new HelloData();
helloData.setUsername("kim");
helloData.setAge(20);
//{"username":"kim", "age":20}
String result = objectMapper.writeValueAsString(helloData);
response.getOutputStream().println(result);
Reference
https://www.inflearn.com/course/lecture?courseSlug=%EC%8A%A4%ED%94%84%EB%A7%81-mvc-1&unitId=71177