본문 바로가기

IT/Java Spring

[Spring] Servlet의 동작 과정과 메모리 적재

어제 학습한 servlet에 대해 의문점이 생겼다.

 

Chrome에서 servlet을 1회 최초 호출하고, Safari에서 servlet을 1회 호출한 결과는 위 사진과 같이 나왔다.

2번 호출 했으니, init 매서드가 2번 호출 될 것이라고 생각했었는데 아니었다.

 

 

 

그 이유는 다음과 같다.

서블릿의 동작과정을 한눈에 보기 쉽게 다이어그램으로 정리해보았다.

 

 

 

 

Servlet는 최초 호출이 되면 해당 selvlet은 메모리에 적재됩니다. 그 이후로 다른곳에서도 중복 호출 하게 되면, 똑같이 Servlet를 불러오는 것이 아니라, 메모리에 적재된 Servlet을 재사용해서 사용자와의 인터페이스를 제공한다고 한다.  Servlet는 메모리에 이미 init()이 실행된 채로 메모리에 적재되어 있기 때문에 또 다시 같은 Servlet을 쓰지 않고도 일반 호출보다 더 빠르게 인터페이스를 제공 할 수 있게 된다.

 

 

다시 한번 정리하면, Servlet는 메모리에 적재된 Servlet을 재사용하기 때문제 일반 웹보다 훨씬 빠르고 효율적으로 인터페이스를 제공 할 수 있도록 도움을 준다.