Spring Framework (스프링프레임워크) 기본 동작 순서 및 구조
Spring Framework (스프링프레임워크) 기본적인 동작 순서 및 구조에 대해서 정리해봤습니다.
전체적인 구조가 잘 정리되어있는 블로그가 있어서 이미지와 PDF 파일을 참고했습니다.
( 이미지 및 파일 출처 : http://server-engineer.tistory.com/253 )
전체적인 실행 순서입니다.
Request -> DispatcherServlet -> HandlerMapping -> Controller -> Service -> DAO -> DB
-> DAO -> Service -> Controller -> DispatcherServlet -> ViewResolver -> View -> Response
순서를 상세히 정리하면 아래와 같습니다.
1. 클라이언트가 Request 요청을 하면 DispatcherServlet이 요청을 가로챕니다.
이때 DispatcherServlet이 모든 요청을 가로채는건 아니고 web.xml에 <url-pattern>에 등록된 내용만 가로챕니다.
설정을 아래처럼할 수 있습니다. (*.do만 가로챔)
<servlet> <servlet-name>dispatcher</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/dispatcher-servlet.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>dispatcher</servlet-name> <url-pattern>*.do</url-pattern> </servlet-mapping> |
2. DispatcherServlet이 가로챈 요청을 HandlerMapping에게 보내 해당 요청을 처리할 수 있는 Controller를 찾습니다.
3. 실제 로직 처리 (Controller -> Service -> DAO -> DB -> DAO -> Service -> Controller)
4. 로직 처리 후 ViewResolver를 통해 view 화면을 찾습니다.
5. View화면을 최종 클라이언트에게 전송합니다.
'Backend > Spring' 카테고리의 다른 글
Spring Boot - (1) 환경세팅 (0) | 2020.11.14 |
---|---|
이미지 웹 출력 (0) | 2020.11.06 |
SSL 미사용 및 파라미터 추가할 경우 (0) | 2019.09.11 |
Javax Mail 첨부파일 (0) | 2019.09.11 |
3.1.1 파일업로드 (0) | 2019.09.10 |