[Spring] HttpServletResponse를 이용해 바디에 데이터 넣기

2023. 11. 11. 20:49Spring

크게 세가지 방법이 있다.

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

 

학습 페이지

 

www.inflearn.com