WAS == Servlet 기반의 웹 애플리케이션 프레임워크를 실행하고,
클라이언트 요청을 처리하는 핵심 요소DispatcherServlet을 중심으로 동작하는 Spring MVC 에서,
WAS는 이 서블릿을 실행하는 환경을 제공한다.
WAS는 DispatcherServlet을 실행하는 서블릿 컨테이너 역할을 하며,
요청을 적절한 컨트롤러로 연결하는 핵심 기능을 수행한다.
| 역할 | 설명 |
|---|---|
| 서블릿 컨테이너 제공 | DispatcherServlet, Filter, Listener 실행 환경 제공 |
| HTTP 요청 처리 | 클라이언트 요청을 받고 적절한 컨트롤러로 전달 |
| 세션 관리 | 사용자 로그인 유지 및 세션 쿠키 관리 |
| 보안 처리 | Spring Security 등과 연동하여 인증 및 인가 처리 |
| 멀티스레딩 | 다수의 요청을 처리하기 위해 여러 개의 스레드 실행 |
| 로드 밸런싱 | 여러 WAS 서버를 운영하여 트래픽을 분산 처리 |
| 데이터 소스 관리 | Connection Pool(JDBC, HikariCP) 등을 통해 DB 연결 관리 |
Spring MVC 어플리케이션과 WAS가 함께 동작하는 구조
[클라이언트]
↓ (HTTP 요청)
[웹 서버: Nginx, Apache]
↓ (정적 리소스 처리, WAS 전달)
[WAS: Tomcat, JBoss, WebLogic]
↓ (DispatcherServlet 실행)
[Spring MVC 컨트롤러]
↓ (Service -> Repository)
[DB]