Untitled

Untitled

Untitled

Java로 작성한 프로그램을 CGI로 실행시킬 경우, CGI 프로그램의 특성 상 매 요청마다 새로운 프로세스가 띄워지게 되고, 이에 따라서 서버 부하가 증가한다.

Web Container(Servlet Container)에 의해 매 요청 시 새로운 프로세스가 아닌 JVM 스레드로 처리가 되고, 이는 CGI 방식과 비교하여 더 나은 서버 부하 효율을 제공한다.

Untitled

대표적인 Servlet Container에는 Tomcat이 있다. Servlet Container는 Web Server로부터 요청을 전달받고, 요청 URL과 비교하여 web.xml에 정의된 적절한 Servlet을 찾아 service() 메소드를 호출한다. 만약 해당하는 Servlet이 아직 메모리에 로드되지 않았다면, 먼저 init() 메소드를 호출한다.

Untitled

Untitled

service() 메소드는 템플릿 메소드 패턴으로 작성되었으며, 요청에 따라 doGet() 이나 doPost() 메소드를 호출한다.

CGI (Common Gateway Interface)

Filter