JSP

서블릿 요청에 대한 컨테이너의 요청처리 순서

denisOh 2013. 10. 10. 22:41

요청 처리 순서

1. 웹서버가 HTTP request를 컨테이너에게 전달

2. 컨테이너가 HttpServletRequest, HttpServletResponse 객체 생성

3. DD를 참고하여 URL을 분석 후 해당 서블릿 스레드를 생성
    (HttpServletRequest, HttpServletResponse 객체를 인자로 넘김)

4. 컨테이너가 서블릿 service() 메소드를 호출하면, doGet() 또는 doPost()가 호출됨

5. 서블릿의 doGet() 메소드는 동적인 페이지를 생성한 다음, 
    HttpServletResponse 객체에 실어 컨테이너에게 보냄

6. 컨테이너는 HttpServletResponse 객체를 HTTP response 로 전환하여 웹서버로 보냄

7. 컨테이너는 전환이 끝나면 HttpServletRequest, HttpServletResponse 객체 소멸시킴

 

컨테이너의 역할

통신 지원 : 웹서버와 통신하기 위해

라이프사이클 관리 : 서블릿의 생성과 소멸을 위해

멀티스레딩 지원 : 다중 요청 처리를 위해

선언적인 보안 관리 : XML 기반 보안 관리를 위해

JSP 지원 : JSP 코드를 자바 코드로 변환하기 위해

 

DD(Deployment Descriptor)의 역할

2013-10-10 오후 9-34-45

요청에 대한 서블릿 연결
오류 페이지 설정
접근 제어 목록 설정
보안 역할 설정