HiTHerE !

3. Spring Boot의 동작(2) 본문

Spring Boot/Basic

3. Spring Boot의 동작(2)

minju26 2023. 9. 2. 23:37

[3] web.xml (웹 배포서술자/ DD / Deployment Descritor)

: Tomcat 에 웹 어플리케이션을 배포하는 방법을 설명하는 파일
  WEB-INF 디렉토리 내부에 위치함

  *DD : a configuration file for an artifact that is deployed to some container or engine

  • ServletContext 의 초기 파라미터 설정
    : 웹 어플리케이션이 초기화될 때 전달할 정보를 정의
     서블릿에 대한 초기화 작업이 가능한 ServeltConfig 객체에 초기 파라미터(init-param), ServletContext 객체의 주소값 등이 저장됨
    *ServletContext 클래스 : 톰캣 컨테이너 실행 시 각 context(웹 어플리케이션) 마다 한 개의 ServletContext 객체 생성, 톰캣 컨테이너 종료 시 객체 소멸 / servlet 과 container 간 연동을 위해 사용
  • Session의 유효 시간 설정
    : 가장 최근에 접근한 시간으로부터 최대 어느정도의 시간까지 Session을 살려둘 것인지 지정
  • Servlet / JSP(Java Server Page)에 대한 정의 & 매핑
    : 요청 URL을 보고 어떤 서블릿이 처리할 것인지 설정
  • MIME Type Mapping
    : 파일 확장자와 MIME Type 사이 Mapping 구성
    *MIME(Multipurpose Internet Mail Extentions) : 파일 변환
  • Welcome File list 설정
    : welcome-file을 모아놓은 list 설정 / 서버를 구동할 때, 루트 경로로 접속하는 경우 가장 먼저 화면을 불러오는 것을 설정 / 위에서부터 아래로 순차적으로 조회하고 먼저 찾은 것을 클라이언트에게 보냄
  • Error Pages 처리
    : 404, 500 등의 응답 시 표시되는 에러 페이지 설정
  • Listener / Filter 설정
    *Filter : 클라이언트의 요청에 대하여 DispatcherServlet이 받기 전에 거쳐 어떤 작업이 선처리 되고 DispatcherServlet에게 필터링 된 데이터 전달
    *Listener : 어떤 이벤트 발생 시 해당 이벤트에서 listener 클래스에 있는 객체가 호출되면 그 호출을 처리하는 객체
  • 보안

 

[4] FrontController 패턴

: web.xml에 다 정의하기가 힘들기 때문에, 최초 앞단에서 request 요청을 받아 필요한 클래스에 넘겨줌

 이때, 새로운 요청이 생겨 request와 response가 새로 new 될 수 있으므로 RequestDispatcher가 필요

 

[5] RequestDispatcher

: 필요한 클래스의 요청이 왔을 때 FrontController에 도착한 request 와 response 정보를 그대로 유지시켜 줌

 

[6] DispatchServlet

: FrontController 패턴 + RequestDispatcher
 클라이언트의 요청을 전달받는 객체이며 클라이언트의 요청을 처리

 

 

::참고::

https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81%EB%B6%80%ED%8A%B8-%EA%B0%9C%EB%85%90%EC%A0%95%EB%A6%AC/dashboard

'Spring Boot > Basic' 카테고리의 다른 글

3. Spring Boot의 동작(3)  (1) 2023.09.02
3. Spring Boot의 동작(1)  (0) 2023.08.22
2. JPA  (0) 2023.08.22
1. Spring  (0) 2023.08.22