작성
·
230
0
안녕하세요 !
간단하게 질문이 있습니다.
1.
6:51초 그림을 보면 요청이 오면 스레드풀에서 스레드를 할당받아 servlet으로 가게 되는데
이 servlet이 dispatcher servlet 인가요??
2.
프론트 컨트롤러 패턴 도입 전에는 요청마다 서블릿을 정의하고 요청을 수행할 때마다 매번 스레드를 생성했지만,
프론트 컨트롤러 패턴이 도입되면서는 하나의 서블릿만 정의하고 이 서블릿이 모든 요청을 수행하게 된다고 알고 있습니다.
도입 후 서블릿이 한개만 정의해도 되는 이점과 다른 이점들이 있겠지만,
쓰레드 측면에서 봤을 때는 도입 후에 이점이 되는 측면이 있나요?
답변 1
1
안녕하세요. 최준성님, 공식 서포터즈 David입니다.
.
1. 6:51초 그림을 보면 요청이 오면 스레드풀에서 스레드를 할당받아 servlet으로 가게 되는데
이 servlet이 dispatcher servlet 인가요??
=> 해당 그림은 WAS의 기본 동작에 대해서 설명한 것이며 스프링MVC를 특정하여 설명한 것은 아닙니다. 만약 스프링MVC를 기준으로 설명하신 것이라면 그림 상의 servlet은 dispatcher servlet이 됩니다.
2. 프론트 컨트롤러 패턴 도입 전에는 요청마다 서블릿을 정의하고 요청을 수행할 때마다 매번 스레드를 생성했지만, 프론트 컨트롤러 패턴이 도입되면서는 하나의 서블릿만 정의하고 이 서블릿이 모든 요청을 수행하게 된다고 알고 있습니다. 도입 후 서블릿이 한개만 정의해도 되는 이점과 다른 이점들이 있겠지만, 쓰레드 측면에서 봤을 때는 도입 후에 이점이 되는 측면이 있나요?
=> 프론트 컨트롤러 패턴 도입과 무관하게 WAS는 스레드 풀을 이용하여 스레드를 미리 확보하고 요청을 처리합니다. 프론트 컨트롤러 패턴을 도입하게 됨으로써 하나의 서블릿(스프링 MVC의 경우 dispatcher servlet)으로 모든 요청을 처리할 수 있게 됩니다. 스레드 측면에서는 프론트 컨트롤러 도입 이전과 이전과 동일한 것 같습니다.
.
감사합니다.