인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

chinggin님의 프로필 이미지
chinggin

작성한 질문수

스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술

Servlet Service 메소드의 Argument

해결된 질문

작성

·

187

0

안녕하세요 김영한 개발자님의 Spring MVC강의를 듣다가 질의사항이 생겼습니다.

강의에서 서블릿은  HTTP 요청을 처리하기 위한 클래스로 자바 개발자가 쉽게 HTTP 요청을 처리할 수 있도록 만들어진 객체라고 이해를 했으며, WAS가 HTTP 메시지를 파싱해서 HttpServletRequest와 HttpServletResponse를 생성해 우리가 만든 서블릿의 service 메서드의 인자로 넘겨준다고 하셨는데,  제가 생각한 이 흐름이 맞는지 궁금합니다. 

 

HTTP 요청 ->  WAS에 등록된 url에 매핑된 servlet 확인 -> 해당 서블릿의 service()호출 , arguments로 request,response객체에 요청 HTTP 메시지 파싱해서 생성한 후 인자로 넣어줌.

어떻게 WAS에서 HTTP 메시지를 해석하여 HttpServletRequest, Response객체로 어떻게 만들어 주는 것 일까요 ?

 

답변 1

1

김영한님의 프로필 이미지
김영한
지식공유자

안녕하세요. chinggin님

HTTP 메시지는 단순히 문자나 byte로 이루어진 데이터 입니다. 이 데이터를 TCP/IP 통신 과정을 통해서 획득할 수 있습니다. 쉽게 이야기해서 소켓으로 연결한 다음 소켓에서 메시지를 꺼내는 것이지요. WAS는 해당 메시지를 파싱한 다음 객체로 만들어줍니다.

감사합니다.

chinggin님의 프로필 이미지
chinggin
질문자

안녕하세요~!  새해 복 많이 받으세요! 

was에 전달된 메시지를 파싱한 다음 만들어주는 객체는 HttpServletRequest, HttpServletResponse인가요? 

 

김영한님의 프로필 이미지
김영한
지식공유자

안녕하세요. WAS에 따라서 다릅니다. 각각 파싱하는 클래스들이 있습니다.

물론 HttpServletRequest의 구현체가 파싱할 수도 있습니다.

감사합니다.

chinggin님의 프로필 이미지
chinggin

작성한 질문수

질문하기