#024 요청과 응답
01. 서블릿이 되어 보자.
서블릿은 컨테이너가 관리합니다.
Request, Response 객체를 생성하고, 서블릿의 새로운 스레드를 만들어 서블릿 service() 메소드를 호출하고, Request와 Response 객체에 대한 참조를 인자로 넘긴다는 내용입니다.
1. 사용자가 서블릿에 대한 링크(URL)을 클릭합니다.
2. 컨테이너는 요청된 Request가 서블릿이라는 것을 간파하고는 다음 두개의 객체를 생성합니다.
1)HttpServletResponse
2)HttpServletRequest
3. 접수한 요청의 URL을 분석하여 어떤 서블릿을 요청했즌지 파악합니다. 그다음 해당 서블릿 스레드를 생성하여 Request, Response 객체참조를 넘깁니다.
4. 컨테이너는 서블릿 Service() 메소드를 호출합니다. 브라우저에서 지정한 방식에 따라 doget()을 호출할지 doPost()를 호출할지 결정합니다.
클라이언트가 HTTP GET 메소드를 날렸다면, service() 메소드는 서블릿의 doGet(0 메소드를 호출합니다. 호출할때 Request와 Response객체를 인자로 넘깁니다.
5. 서블릿 클라이언트에게 응답을 작성하기 위하여 response 객체를 사용합니다. 이작업을 완료하면 Response에 대한 제어는 컨테이너에게 넘깁니다.
6. service() 메소드가 끝나면, 스레드를 소멸하거나 아니면 컨테이너가 관리하는 스레ㅐ드 풀로 돌려보냅니다. 그다음 Requset와 Response 객체는 가비지 컬렉션이 될 준비를 할 것이며, 이 객체에 댛나 참조는 이제 범위...