반응형

 

Spring MVC 라이프 사이클을 이해하는 것이 개발의 기본이 되리라 생각한당~

http://terasolunaorg.github.io/guideline/1.0.1.RELEASE/en/Overview/SpringMVCOverview.html#id2

 

 

 

Client(브라우저)로 부터 요청(Request)을 받고 응답(Response)하기까지 Spring MVC의 처리 흐름은 위와 같다.

 

 

1. 먼저 브라우저로부터 요청이 들어오면 일단 Filter을 거치게 된다. Filter에서 하는 대표적인 처리를 보면 Encoding이 있다.

<Filter는 요청을 실질적으로 처리하기 전에 처리해야 될 부분을 담당>

 

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

<Web.xml  Filter>

 

 

    <filter>

        <filter-name>encoding</filter-name>

        <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>

        <init-param>

            <param-name>encoding</param-name>

            <param-value>UTF-8</param-value>

        </init-param>

    </filter>

 

    <filter-mapping>

        <filter-name>encoding</filter-name>

        <url-pattern>/*</url-pattern>

    </filter-mapping>

Colored by Color Scripter

cs

 

 

2. 다음으로 DispatcherServlet이 Controller에 요청을 전달하기 전에 가로챈다. 요청을 가로챈 후 HandlerMapping을 통해 요청에 해당하는 적절한 Controller을 찾게 된다. 그리고 DispatcherServlet에 그것을 전달한다.

 

 

3. DispatcherServlet은 실행할 Controller 정보를 HandlerAdapter에 전달하게 된다.

 

 

4. HandlerAdapter는 해당 Controller을 호출하게 된다.

 

 

5. Controller에서는 전달된 요청을 처리한다. 예를 들어 게시판의 글 목록을 가져오는 요청을 받으면 Controller는 게시판 Service를 호출하고 Service에서는 DAO를 통해 게시판 글 목록을 가져오게 된다.  

 

요청을 처리한 후 그 결과를 Model에 담고, View의 이름을 HandlerAdapter에게 전달하게 된다.

 

 

6. 전달받은 View의 이름을 가지고 ViewResolver에서 매핑된 View를 찾아서 반환한다.

 

 

7. DispatcherServlet은 반환된 View를 넘기게 된다.



출처: https://all-record.tistory.com/164?category=733072 [세상의 모든 기록]

반응형

'Spring Framework' 카테고리의 다른 글

[Spring JPA 에러] QuerySyntaxException is not mapped  (0) 2019.07.23
JPA 기본 사용법  (0) 2019.06.24
JPA(Java Persistance API) 개념  (0) 2019.06.24
(STS) Spring Framework-Lombok 설치  (0) 2019.06.23

+ Recent posts