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 |