Tech/Web
컨테이너가 Http Request를 다루는 방법. 동작 순서
소라소라잉
2020. 3. 4. 13:06
컨테이너가 Http Request를 다루는 방법. 동작 순서
1. 사용자가 브라우저 주소창에 URL을 입력한다. (=HTTP request를 보낸다)
2. 컨테이너는
- 두개의 서블릿 객체를 만들고.(HttpServletRequest, HttpServletResponse)
- URL을 분석하여 어떤 서블릿에 대한 요청인지 찾아낸다.(이때 web.xml를 참조한다.)
- 해당 서블릿의 스레드를 생성하고 2.에서 생성한 두 객체를 매개변수로 넘긴다.
- 해당 서블릿의 service() 메서드를 호출한다.
3. service()메서드는 request의 method(GET/POST...)에 따라 doGet(), doPost()의 호출을 결정한다.
4. 해당 메서드는 동적인 페이지를 생성한 후, 이를 HttpServletResponse객체에 싣는다.
5. 스레드 작업이 끝나면 컨테이너는 HttpServletResponse객체를 HTTP Response로 전환하여 클라이언트로 보내고, 두 객체를 소멸시킨다.