◽ Spring, SpringBoot

[Spring, Spring boot] 서버와 클라이언트의 동작 이해하기 - 수정1

 이

1. 클라이언트 요청( /, root 페이지 요청)
2. web.xml에서 dispatcherServlet가 클라이언트 요청을 핸들링
3. servlet-context.xml에서 해당 클래스의 웹요청을 처리하는 컨트롤러를 사용
    (HandlerMapping으로 Controller를 검색)
4. 해당 Controller가 요청을 처리후, home을 리턴
5. View에 출력

 

 

 

 

* DispatcherServlet ( web.xml )
  위의 그림이 "Dispatcher-Servlet" 흐름이다. 


  Servlet Container에서 HTTP프로토콜을 통해 들어오는 모든 요청을 프레젠테이션 계층의 제일앞에 둬서 중앙집중식으로 처리해주는 프론트 컨트롤러(Front Controller)라고 이해하면 된다.

  클라이언트로부터 어떠한 요청이 오면 Tomcat(톰캣)과 같은 서블릿컨테이너가 요청을 받는데, 이때 제일 앞에서 서버로 들어오는 모든 요청을 처리하는 프론트 컨트롤러를 Spring에서 정의하였고, 이를 Dispatcher-Servlet이라고 한다. 그래서 공통처리 작업을 Dispatcher 서블릿이 처리한 후, 적절한 세부 컨트롤러로 작업을 위임해주는 것이다.

  WAS (Web Application Server)(여기서는 Tomcat)이 최초 구동될 때, WEB-INF 디렉토리에 존재하는 web.xml을 읽고, 그에 해당하는 웹 애플리케이션 설정을 구성한다.

 

* HandlerMapping ( servlet-context.xml )

서블릿 설정으로 prefix(접두사)와 suffix(접미사)를 붙여주는 역할을 담당한다.  즉, 우리가 일일이 전체경로와 .jsp를 붙이지 않아도 되도록 도와준다.

그 다음은 <context:component-scan base-package="com.test.test" /> 이다. 이 부분은 스프링에서 사용하는 bean을 일일이 xml에 선언하지 않고도 필요한 것을 어노테이션(Annotation)을 자동으로 인식하게 하는 역할을 한다.

 

 

 

 

원글 : 19.07.16
수정 : 19.11.23.

푸터바