어제 학습한 servlet에 대해 의문점이 생겼다.
Chrome에서 servlet을 1회 최초 호출하고, Safari에서 servlet을 1회 호출한 결과는 위 사진과 같이 나왔다.
2번 호출 했으니, init 매서드가 2번 호출 될 것이라고 생각했었는데 아니었다.
그 이유는 다음과 같다.
서블릿의 동작과정을 한눈에 보기 쉽게 다이어그램으로 정리해보았다.
Servlet는 최초 호출이 되면 해당 selvlet은 메모리에 적재됩니다. 그 이후로 다른곳에서도 중복 호출 하게 되면, 똑같이 Servlet를 불러오는 것이 아니라, 메모리에 적재된 Servlet을 재사용해서 사용자와의 인터페이스를 제공한다고 한다. Servlet는 메모리에 이미 init()이 실행된 채로 메모리에 적재되어 있기 때문에 또 다시 같은 Servlet을 쓰지 않고도 일반 호출보다 더 빠르게 인터페이스를 제공 할 수 있게 된다.
다시 한번 정리하면, Servlet는 메모리에 적재된 Servlet을 재사용하기 때문제 일반 웹보다 훨씬 빠르고 효율적으로 인터페이스를 제공 할 수 있도록 도움을 준다.
'IT > Java Spring' 카테고리의 다른 글
[Spring] 순차적 프로세스의 비동기식 프로세스로의 전환 삽질 (0) | 2020.10.14 |
---|---|
[HikariCP] Possibly consider using a shorter maxLifetime value (0) | 2020.08.12 |
[Spring] Factory Design Pattern (0) | 2020.08.06 |
[Spring] @RestController vs @Controller (0) | 2020.02.07 |
[Spring] Servlet과 web.xml의 관계 (0) | 2019.11.18 |