본문 바로가기

프로그래밍/웹

스프링 실행 과정 및 요청 처리 순서

반응형

스프링 실행 과정



web.xml
    •   web.xml 파일은 WAS 구동 시 맨 처음 로딩되는 웹 어플리케이션 환경 설정 파일이다.
    •   web.xml은 filter > root-context.xml > servlet-context.xml 순으로 실행된다.
        •   ContextLoaderListener
            •   ServletContextListener
                •   웹 어플리케이션 실행 시 필요한 초기화 작업, 사용 후 자원 반환 작업을 수행한다.
                •   ApplicationContext를 생성하여 오브젝트 생성, 관계 설정, 사용/제거 등의 작업을 한다.

root-context.xml
    • Service, Repository(DAO), DB등 비즈니스 로직과 관련된 설정을 처리한다.


servlet-context.xml
    • 서블릿(controller, 어노테이션, ViewResolver 등) 요청을 처리하고 브라우저로 결과를 전달한다.



스프링 요청 처리 순서



 DispatcherServlet

   클라이언트의 모든 요청과 응답을 처리하는 프론트 컨트롤러이다.
   요청 처리 후 각 세부 컨트롤러로 작업을 위임한다.
   DispatcherServlet은 web.xml 파일에 정의되며 사용할 Servlet과 요청을 전달할 url 패턴이 명시된다.

web.xml




 HandlerMapping
   servlet-context.xml 파일에서 세부 컨트롤러를 검색한다.
   url을 기준으로 컨트롤러(핸들러)를 선택한다. 
 
servlet-context.xml


스캔할 컴포넌트 패키지를 지정하면 세부 컨트롤러로 이동한다.

controller.java


@RequestMapping 어노테이션으로 일치하는 url의 메소드와 매핑된다.


 View
   controller 비즈니스 로직 처리 후 다시 servlet-context.xml 파일로 이동한다. 
   ViewResolver를 통해 View에 결과를 전송한다. 
   ViewResolver는 Controller가 전달한 View 이름을 실제 JSP 이름으로 변환하는 역할을 한다.

servlet-context.xml


   suffix에 View 이름을 붙이고 prefix와 연결하여 jsp를 실행한다. 
   view에 결과를 보낸 후 DispatcherServlet은 최종 결과를 클라이언트에게 전송한다.


반응형

'프로그래밍 > ' 카테고리의 다른 글

자바스크립트 async와 defer 속성  (1) 2021.02.14
Content-TYPE 헤더와 MIME-TYPE  (0) 2021.02.13
Spring MVC 개발 프로세스  (0) 2021.01.31
JSTL과 EL 사용하기  (0) 2021.01.30
Spring 정적 리소스 매핑 설정  (0) 2021.01.30