본문 바로가기

Advance I/Spring MVC

22.08.03

HttpServletResponse

HTTP 응답 메시지 생성

  • HTTP 응답코드 지정
  • 헤더 생성
  • 바디 생성

편의 기능 제공

Content-Type, 쿠키, Redirect

HTTP 응답 메세지

[status line]

response.setStatus(HttpServletResponse.SC_OK) : 200

 

[response-headers]

response.setHeader(name, value) : 직접 문자열로 초기화

response.setName(value) : 편의 메서드 사용하여 초기화 

  ex. setContentType("text/plain"), setCharacterEncoding("utf-8")

response.addCookie(cookie) : javax.servlet.http.Cookie cookie

response.sendRedirect(경로) : setStatus(HttpServletResponse.SC_FOUND) 를 포함

HTTP 응답 데이터 - 단순 텍스트, HTML

단순 텍스트 응답

content-type: text/plain

PrintWriter writer = response.getWriter();

writer.println("ok");

 

HTML 응답

content-type: text/html

웹 브라우저가 렌더링하여 사용 -> 페이지 소스보기를 사용하면 결과 HTML을 확인할 수 있다.

HTTP 응답 데이터 - API JSON

MessageBody JSON 응답

content-type: application/json

ObjectMapper로 자바 객체를 json으로 변환

objectMapper.writeValueAsString(data); //값이나 객체 -> String (json도 결국 문자열)

response.getWriter().write(result);

 

참고: application/json 은 스펙상 utf-8 형식을 사용하도록 정의되어 있다. 그래서 charset=utf-8 과 같은 추가 파라미터를 지원하지 않는다. 따라서 application/json 이라고만 사용해야지 application/json;charset=utf-8 이라고 전달하는 것은 의미 없는 파라미터를 추가한 것이 된다. response.getWriter()를 사용하면 charset 정보를 자동으로 추가해버린다. 이때 response.getOutputStream()으로 출력하면 그런 문제가 없다.

서블릿, JSP, MVC 패턴

같은 웹 애플리케이션을 서블릿, JSP, MVC 패턴 순으로 만듦

 

회원 관리 웹 애플리케이션 요구사항

-회원 정보 이름: username

-나이: age

 

기능 요구사항

-회원 저장

-회원 목록 조회

 

 

 

'Advance I > Spring MVC' 카테고리의 다른 글

22.08.09  (0) 2022.08.09
22.08.06  (0) 2022.08.06
22.08.04  (0) 2022.08.04
22.08.01  (0) 2022.08.01
22.07.26 :: 스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술  (0) 2022.07.26