2024. 3. 5. 20:23ㆍ[Way to PM] 백 엔드
Over View
해당 글은 스프링부트 프레임워크 사용시 작동하는 WAS, SERVLET, TOMCAT에 대한 내용을 다룹니다.
스프링부트는 자바를 이용한 웹서버 구축을 위해 여러가지 편의를 지원하는 프레임워크입니다. 클라이언트로부터 요청을 받고, 응답을 보내는 당연하지만 복잡한 일련의 과정 또한 스프링부트에서 지원해줍니다.
사용자의 다양한 요청을 처리하기 위한 여러가지 비즈니스 로직이 모여있는 집합을 서버라고 할 수 있는데, 이러한 과정을 거쳐야하는 동적인 웹어플리케이션을 자바로 프로그래밍하기 위한 기술을 Servlet이라고 합니다.
하지만 이러한 Servlet기술을 실행하기 위해선 이를 실행할 환경인 Servlet Container가 필요하고, 이 Servlet Container를 구현한 것이 WAS 즉, 와스라고 부르는 웹어플리케이션 서버입니다.
WAS의 종류는 여러가지가 있는데, 통상적으로 스프링부트 내에 탑재되어 사용되는 것이 TOMCAT입니다.
클라이언트 사이드에서 요청이 오면 TOMCAT에 구현되어있는 Servlet Container가 스프링 MVC의 DispatcherServlet에 전달합니다.
그러면 DispatcherServlet은 해당 URL을 분석하고 이 요청을 처리할 수 있는 Controller(프레젠테이션 계층)에 요청을 보내 알맞은 비즈니스 로직을 처리할 수 있는 Service(비즈니스 계층)클래스에 보낸후, DB에서 부합하는 데이터를 가져와 클라이언트에 다시 보내게 됩니다.
*DispatcherServlet은 Controller보다 먼저 요청을 받아내기에 Front Controller라고도 불립니다.
정리하자면 아래와 같습니다.
- 서블릿은 웹 어플리케이션을 만들기 위한 클래스
- 서블릿 컨테이너는 서블릿을 실행하기 위한 그릇
- WAS는 서블릿 컨테이너를 구현한 것
이상 대략적인 WAS, Servlet, TOMCAT에 대한 내용이었습니다.
공부를하며 느낀 것은, 프로그래밍에서의 개념은 독립적으로 행동하지 않으며, 결국엔 다른 기능, 개념들과 유기적으로 관계가 맺어지기 때문에 일련의 과정을 이해하는 것이 중요하다고 느낍니다.
왜 작은 프로젝트라도 구현해보면서 공부하라고하는지 점차 알게됩니다.
'[Way to PM] 백 엔드' 카테고리의 다른 글
[Way to PM] 백엔드(스프링부트) - MVC (3) | 2024.03.09 |
---|---|
[Way to PM] 백엔드(스프링부트) - IoC, DI, Bean (0) | 2024.03.08 |
[Way to PM] 백 엔드 - Spring Boot 호환성 해결 (0) | 2024.02.28 |
[Way to PM] 백엔드(자바) - Collection(List, Set, Map)의 특성 (0) | 2024.02.21 |
[Way to PM] 백엔드(자바) - 람다식 dailyQuiz (0) | 2024.02.19 |