본문 바로가기
Java

Spring Framework (스프링프레임워크) 기본 동작 순서 및 구조

by 전재훈 2018. 9. 6.
반응형


Spring Framework (스프링프레임워크) 기본적인 동작 순서 및 구조에 대해서 정리해봤습니다.


전체적인 구조가 잘 정리되어있는 블로그가 있어서 이미지와 PDF 파일을 참고했습니다.


( 이미지 및 파일 출처 : http://server-engineer.tistory.com/253 )


Spring_기본 동작순서_및_구조.pdf







전체적인 실행 순서입니다.


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화면을 최종 클라이언트에게 전송합니다.


여기서 사용되는 방식이 일반적으로 MVC 모델2라고 하는데 관련 내용은 아래 링크 참고 바랍니다.


http://intro0517.tistory.com/152

반응형

댓글