-
[김영한 스프링] 07. 서블릿 - HttpServletResponseSpring/스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 2023. 6. 16. 23:22
HTTP 응답 메시지 생성
- HTTP 응답 코드 지정
- 헤더 생성
- 바디 생성
편의 기능 제공
- Content-Type, 쿠키, Redirect
main/java/hello.servlet/basic/response/ResponseHeaderServlet 생성
ResponseHeaderServlet
Status Code
실행
http://localhost:8080/response-header
ResponseHeaderServlet - Content 편의 메서드
실행
ResponseHeaderServlet - 쿠키 편의 메서드
실행
ResponseHeaderServlet - redirect 편의 메서드
package hello.servlet.basic.response;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.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);
// [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);
PrintWriter writer = response.getWriter();
writer.println("ok");
}
private void redirect(HttpServletResponse response) throws IOException {
response.sendRedirect("/basic/hello-form.html");
}
private void cookie(HttpServletResponse response) {
Cookie cookie = new Cookie("myCookie", "good");
cookie.setMaxAge(600); // 600초
response.addCookie(cookie);
}
private void content(HttpServletResponse response) {
response.setContentType("text/plain");
response.setCharacterEncoding("utf-8");
}
}실행
출처 : https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-mvc-1
'Spring > 스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술' 카테고리의 다른 글
[김영한 스프링] 09. 회원 관리 웹 애플리케이션 요구사항 (0) 2023.06.17 [김영한 스프링] 08. 서블릿 - HTTP 응답 데이터(HTML, API JSON) (0) 2023.06.17 [김영한 스프링] 06. 서블릿 - HTTP 요청 데이터(API 메시지 바디) (0) 2023.06.16 [김영한 스프링] 05. 서블릿 - HTTP 요청 데이터(GET 쿼리 파라미터, POST HTML Form) (0) 2023.06.15 [김영한 스프링] 04. 서블릿 - HttpServletRequest (0) 2023.06.14