[작성일: 2024. 06. 26]
HttpServletResponse 역할
- HTTP 응답 메시지 생성
- HTTP 응답 코드 지정
- 헤더 생성
- 바디 생성
- 편의 기능 제공
- Content-Type
- 쿠키
- Redirect
package hello.servlet.basic.response; import jakarta.servlet.ServletException; import jakarta.servlet.annotation.WebServlet; import jakarta.servlet.http.Cookie; 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 = "responseHeaderServlet", urlPatterns = "/response-header") public class ResponseHeaderServlet extends HttpServlet { @Override protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // [status-line] response.setStatus(HttpServletResponse.SC_OK); // 200 // = response.setStatus(200); // [response-headers] 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!"); // [Header 편의 메서드] content(response); cookie(response); redirect(response); // [message body] PrintWriter writer = response.getWriter(); writer.println("ok"); } private void content(HttpServletResponse response) { // Content-Type: text/plain; charset=utf-8 // Content-Length: 2 // response.setHeader("Content-Type", "text/plain;charset=utf8"); response.setContentType("text/plain"); response.setCharacterEncoding("utf-8"); // response.setContentLength(2); // 생략 시 자동 생성 } private void cookie(HttpServletResponse response) { // Set-Cookie: myCookie=good; Max-Age=600; // response.setHeader("Set-Cookie", "myCookie=good; Max-Age=600"); Cookie cookie = new Cookie("myCookie", "good"); cookie.setMaxAge(600); // 600초 response.addCookie(cookie); } private void redirect(HttpServletResponse response) throws IOException { // Status Code 302 // Location: /basic/hello-form.html // response.setStatus(HttpServletResponse.SC_FOUND); // 302 // response.setHeader("Location", "/basic/hello-form.html"); response.sendRedirect("/basic/hello-form.html"); } }
🐣 출처: 인프런 김영한님 강의
이 글은 인프런의 김영한님 스프링 강의를 보고 작성한 글입니다.
강의를 들으면서 정리한 글이므로 틀린 내용이나 오타가 있을 수 있습니다.