HttpServletRequest 역할

- HTTP 를 직접 파싱하는 경우

: 메시지를 개발자가 직접 파싱해서 사용해도 되지만, 매우 할 일이 많아집니다.

 

- 서블릿 필요 이유

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

 

- HttpServletRequest 의 존재 이유

그 요청 메시지에 대한 결과를 HttpServletRequest 객체에 담아서 제공합니다.

 

 

 

HttpServletRequest 예시

- HTTP 요청 메시지

POST /save HTTP/1.1
Host : localhost: 8080
Content-Type : application/x-www-form-urlencoded

username=park&age=20

이와 같은 요청 메시지를 직접 매번 파싱한다는 의미입니다. 

 

각 문장에 대해 HttpServletRequest 가 하는 역할은

- 첫 번째 줄 : START LINE [ HTTP 메소드, URL, 스키마 ]

- 두, 세 번째 줄 : 헤더 [ 헤더 조회 ]

- 바디 : 한 줄 띄우고 나머지 부분 [ form 피라미터 형식 조회, 메세지 바디 데이터 직접 조회 ]

 

 

 HttpServletRequest 객체의 여러가지 기능

- 임시 저장소 기능

HTTP 요청이 시작부터 끝날 때 까지 유지되는 임시 저장소 기능

request.setAttribute ( name, value )

request.getAttribute ( name )

 

- 세션 관리 기능

request.getSession ( create: true )

 

 

HTTP Request 해보기

PostMan 설치 후 HTTP 메서드를 테스트 해봤습니다.

위와 같이 Request 메서드에 대해 print 할 수 있는 메서드를 작성하였습니다.

 

그 후 POST 로 메세지를 보내면

위와 같이 요청 메시지가 정상적으로 들어옴을 확인할 수 있습니다.

+ Recent posts