Servlet 2

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

어제 학습한 servlet에 대해 의문점이 생겼다. Chrome에서 servlet을 1회 최초 호출하고, Safari에서 servlet을 1회 호출한 결과는 위 사진과 같이 나왔다. 2번 호출 했으니, init 매서드가 2번 호출 될 것이라고 생각했었는데 아니었다. 그 이유는 다음과 같다. 서블릿의 동작과정을 한눈에 보기 쉽게 다이어그램으로 정리해보았다. Servlet는 최초 호출이 되면 해당 selvlet은 메모리에 적재됩니다. 그 이후로 다른곳에서도 중복 호출 하게 되면, 똑같이 Servlet를 불러오는 것이 아니라, 메모리에 적재된 Servlet을 재사용해서 사용자와의 인터페이스를 제공한다고 한다. Servlet는 메모리에 이미 init()이 실행된 채로 메모리에 적재되어 있기 때문에 또 다시 같은..

IT/Java Spring 2019.11.19

[Spring] Servlet과 web.xml의 관계

기본적인 프로젝트를 생성하면 다음과 같은 web.xml이 생성되어 있을 것이다. 기본적으로 "/"경로를 호출할 때, 쓰일 수 있는 페이지의 형식을 로 정의해 놓았다. servlettest index.html index.htm index.jsp default.html default.htm default.jsp 앱을 외부로 디플로이 하기 위해 자신의 프로젝트를 톰캣에 추가 하였을 것이다. web.xml에 매핑을 하지 않았을 경우, Servlet을 호출 할 때 http://// 과 같이 매우 긴 주소로 호출 할 것이다. 하지만 이러한 형식은 클래스 이름이 그대로 노출되기 때문에 보안상 좋지 않습니다. 따라서 이런 방식으로 사용하지 않고, 서블릿 클래스에 대해 대응하는 매핑된 이름으로 실제 서블릿을 요청한다. ..

IT/Java Spring 2019.11.18