dispatcherservlet 3

코드로 살펴보는 DispatcherServlet과 Servlet 인터페이스 (2)

이전 글에서 DispatcherServlet이 Aware 인터페이스를 활용해 어떤 역할을 하는지 알아봤다.이번에는 Servlet 인터페이스로부터 파헤쳐 보자. Servlet 인터페이스로부터 시작하는 DispatcherServlet먼저 서블릿(Servlet)이라는 개념을 찾아보면 '자바 웹 애플리케이션에서 HTTP 요청을 처리하기 위한 서버 측 컴포넌트'라고 정의되어 있다. 그러니까 Java에서 웹 요청을 처리하는 기술이자 구성 요소(오브젝트)라는 말인데.. 주로 Spring으로 웹 개발을 했었던 나에겐 당연한듯 익숙했던 Servlet이라는 대명사의 의미에 왜 Java라는 특정 언어에 종속된 단어가 포함되어 있는 거지? 싶어서 더 찾아봤다.결론적으로 Servlet이라는 개념은 Java에만 해당하는 개념으로..

Spring 2024.10.06

코드로 살펴보는 DispatcherServlet과 Aware (1)

DispatcherServlet의 역할과 계층 구조클라이언트로부터 웹 요청이 들어왔을 때 WAS는 Spring Container가 가진 Object한테 요청에 대한 처리를 위임한다. 그리고 Spring에서 이 역할을 하는 것이 정확히는 DispatcherServlet인데, 위 행동을 하기 위해 어떤 Object가 어떤 요청 처리를 담당하고 있는지 알 수 있는 '매핑 정보'를 필요로 한다.즉 Spring 애플리케이션이 실행되면 DispatcherServlet이 빈으로 등록될 때 매핑 정보를 주입해 줘야 하는데, 어떻게 이게 가능한 걸까? 상속과 구현 계층 구조를 확인해 보자. Aware로 시작하는 DispatcherServlet내부 소스를 보면 가장 안쪽에 Aware이라는 마커 인터페이스(Marker In..

Spring 2024.09.26

Servlet Container란? 그리고 Spring과의 관계

Servlet과 Servlet ContainerServlet은 URI정보 및 클라이언트의 요청 정보를 분석하는 기능을 담당하는 Java 표준 기술이다. 그리고 이 표준 기술을 이용한 Servlet Container 중 가장 대표적인 예로 Tomcat이 있다. 다시 말해, 우리가 많이 사용하는 Tomcat이라는 WAS는 (Servlet) Container 기술을 구현한 라이브러리 중의 하나이며, Tomcat 자체가 Java의 표준이 아니다. 이외에도 종류가 많은데 특히 Springboot에서는 Tomcat 과 Jetty, undertow(언더토우) 이 3가지의 Container를 Standalone하게 동작할 수 있도록 지원하고 있다(쉽게 변경 및 선택이 가능하다) Spring Boot Reference ..

Spring 2024.09.17