[스프링부트 핵심 가이드] Tomcat, Servlet, Layered Architecture

Created
Jun 11, 2024
Created by
Tags
Spring
Property
 

톰캣(Tomcat)

  • 자바 기반 웹 애플리케이션 서버.
  • 서블릿 컨테이너 역할도 한다.
    • 서블릿 객체 생성/초기화/호출/종료 까지의 생명주기 관리.
    • 서블릿 객체를 싱글톤으로 유지.
    • 멀티쓰레딩으로 다중 요청을 동시에 처리.
 

서블릿(Servlet)

  • 웹 서버 → 톰캣 통해 요청이 들어오면 앱으로 넘겨주고, 앱에서 반환하는 응답을 다시 웹 서버로 전달.
 

계층 아키텍쳐(layered architecture)

  • 애플리케이션 내에 각 컴포넌트를 비슷한 관심사끼리 묶은 구조.
계층
역할
컴포넌트
presentation
• 클라이언트의 요청 해석 및 응답
• 서블릿 • 뷰 & 뷰 리졸버 • 컨트롤러
business 또는 service
• 도메인 객체의 조합을 통해 비즈니스 로직 구현 • 비즈니스 처리 전 유효성 검사
domain (optional)
• 비즈니스에 필요한 각 도메인 정의
• Entity in JPA • django 모델과 유사)
data access 또는 persistence
• 데이터베이스 접근
• DAO 또는 Repository in JPA