[서블릿] 서블릿 동작 과정

hoonak·2023년 8월 9일
0

서블릿

목록 보기
4/16
  • 서블릿 실행 구조

클라이언트 1이 요청하면 톰캣은 FirstServlet이 메모리에 로드돼 있는지 확인함. 최초의 요청이므로 init() 메서드를 호출해 FirstServlet 인스턴스를 메모리에 로드함. 그런 다음 doGet()이나 doPost() 메서드를 호출해 서비스를 함.

클라이언트 2가 다시 동일한 서블릿을 요청하면 톰캣은 다시 FirstServlet이 메모리에 로드돼 있는지 확인함. 이번에는 메모리에 있는 것이 확인되므로 바로 doGet()이나 doPost() 메서드를 호출해 서비스를 함.

맨 처음 브라우저에서 /first로 요청하면 최초의 요청이므로 firstServlet 클래스의 init()를 호출해 초기화한 후 메모리에 로드돼 doGet() 메서드를 호출해 서비스를 함. 그러나 다른 브라우저에서 동일한 서블릿 매핑 이름인 /first로 요청하면 미리 메모리에 로드된 FirstServlet 클래스 서블릿이 재사용되므로 init()는 호출하지 않고 doGet() 메서드만 호출해 서비스를 함.

이처럼 동일한 작업의 경우 서블릿은 메모리에 존재하는 서블릿을 재사용함으로써 훨씬 빠르고 효율적으로 동작함.

profile
Hello World!

0개의 댓글