서블릿이란
ㄱ. HttpServletRequest 역할
HTTP 요청 메시지를 개발자가 직접 파싱해서 사용해도 되지만, 매우 불편하다.
서블릿은 개발자가 HTTP 요청 메시지를 편리하게 사용할 수 있도록 개발자 대신 HTTP 요청 메시지를 파싱한다.
그리고 그 결과를 HttpServletRequest 객체에 담아서 제공한다.
HttpServletRequest를 사용하면 다음과 같은 HTTP 요청 메시지를 편리하게 조회할 수 있다.
HttpServletRequest 객체에서 얻을 수 있는 정보
1. START LINE 정보
- HTTP 메소드
- URL
- 쿼리 스트링
- 스키마, 프로토콜
2. 헤더 정보
- 헤더 조회
3. 바디 정보
- form 파라미터 형식 조회
- message body 데이터 직접 조회
+ 세션 관리 기능 등의 부가기능
HTTP 요청 데이터
1. GET - 쿼리 파라미터
2. POST - HTML Form
3. HTTP message body
ㄴ. HttpServletResponse 역할
서블릿은 HTTP 응답 메시지를 작성하는 메서드를 지원한다
제공하는 기능은 아래와 같다
- HTTP 응답코드 지정
- 헤더 생성 바디 생성
- 편의 기능 제공 : Content-Type, 쿠키, Redirect
HTTP 응답 데이터
1. 단순 텍스트, HTML
HTTP 응답으로 HTML을 반환할 때는 content-type을 text/html 로 지정해야한다
content-type: text/html
2. API JSON
HTTP 응답으로 JSON을 반환할 때는 content-type을 application/json 으로 지정해야한다
content-type: application/json
응답으로 반환할 객체 정보를 라이브러리 (스프링의 경우 Jackson) 을 사용해서
직렬화 하여 JSON 데이터로 변환할 수 있다
'백엔드 > 강의' 카테고리의 다른 글
[MVC 1편] 섹션 4. MVC 프레임워크 만들기 (0) | 2023.08.01 |
---|---|
[MVC 1편] 섹션 3. 서블릿, JSP, MVC 패턴 (0) | 2023.07.25 |
[MVC 1편] 섹션 1. 웹 애플리케이션 이해 (0) | 2023.07.25 |
[기본편] 섹션 9. 빈 스코프 (0) | 2023.07.25 |
[기본편] 섹션 8. 빈 생명주기 콜백 (0) | 2023.07.25 |