HttpServletResponse의 정의 Servlet에서 HTTP 서버가 클라이언트에게 응답을 보내는 데 사용되는 객체 HTTP 응답 상태 코드를 설정하고, 응답 헤더를 추가하거나 수정하며, 클라이언트로 보낼 데이터를 쓸 수 있습니다. HTTP 응답 설정 1. 상태 코드 설정 response.setStatus(HttpServletResponse.SC_OK); // 정상 상태코드(200)을 설정 2. 헤더 직접 설정 response.setHeader("Content-Type", "text/plain;charset=utf-8"); response.setHeader("Cache-Control", "no-cache, no-store, must-revalidate"); response.setHeader("Pragma", "no-cache"); response.setHeader("my-header","hello"); 3. Content 편의 설정 response.setContentType("text/plain"); response.setCharacterEncoding("utf-8"); 4. 쿠키 편의 설정 Cookie cookie = new Cookie("myCookie", "good"); cookie.setMaxAge(600); //600초 response.addCookie(cookie); 5. redirect 편의 설정 response.sendRedirect("/hello.html"); 데이터 응답 1. HTML 직접 응답 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>"); 2. JSON 응답 // 우선 해당 JSON 형태에 맞게 데이터 클래스를 생성 @Getter @Setter public class JsonData { private String username; private int age; } response.setHeader("content-type", "application/json"); response.setCharacterEncoding("utf-8"); JsonData data = new JsonData(); data.setUsername("kim"); data.setAge(20); //{"username":"kim","age":20} String result = objectMapper.writeValueAsString(data); response.getWriter().write(result);