서블릿이란

서블릿과 서블릿 컨테이너

 

ㄱ. HttpServletRequest 역할

HTTP 요청 메시지를 개발자가 직접 파싱해서 사용해도 되지만, 매우 불편하다.

서블릿은 개발자가 HTTP 요청 메시지를 편리하게 사용할 수 있도록 개발자 대신 HTTP 요청 메시지를 파싱한다.

그리고 그 결과를 HttpServletRequest 객체에 담아서 제공한다.

 

HttpServletRequest를 사용하면 다음과 같은 HTTP 요청 메시지를 편리하게 조회할 수 있다.

 

HttpServletRequest 객체에서 얻을 수 있는 정보

1. START LINE 정보

  • HTTP 메소드
  • URL
  • 쿼리 스트링
  • 스키마, 프로토콜

2. 헤더 정보

  • 헤더 조회

3. 바디 정보

  • form 파라미터 형식 조회
  • message body 데이터 직접 조회

+ 세션 관리 기능 등의 부가기능

 

HTTP 요청 데이터

주로 다음 3가지 방법을 사용한다

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 데이터로 변환할 수 있다

+ Recent posts