반응형
스프링 실행 과정
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의 메소드와 매핑된다.
• controller 비즈니스 로직 처리 후 다시 servlet-context.xml 파일로 이동한다.
③
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 |