Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
Tags
- Spring_에러정리
- JavaScript
- SQL_용어정리
- json
- workbench
- 자바
- 배열
- 자바스크립트
- java
- github
- 다이어그램
- git
- Git_명령어정리
- 이클립스
- DML
- Linux_명령어정리
- 인스턴스
- 인덱스
- 아파치톰캣
- Linux
- CSS
- asp.net
- vb.net
- HTML
- MySQL
- Git_정리
- spring
- Spring_오류정리
- SQL
- jsp
Archives
- Today
- Total
데브마우스
[Spring] 스프링 MVC의 흐름도와 스프링 프로젝트의 실행 과정 정리 본문
스프링(Spring) MVC의 흐름도 | ||||||||
핸들러 매핑 (HandlerMapping) |
컨트롤러 (Controller) |
|||||||
↑ 2.요청 URL과 매핑되는 Controller 검색 요청 | ↓ 3.요청 URL과 매핑되는 Controller 반환 | ↑ 4. 처리 요청 | ↓ 5. ModelAndView 반환 | |||||
클라이언트
(웹 브라우저) |
1. 처리 요청(URL) -> |
디스패처 서블릿
(DispacherServlet) |
||||||
10. <- 처리 결과 응답 | ||||||||
↓ 9. View의 처리 결과 반환 | ↓ 8. 응답 생성 요청 | ↑ 7. Controller의 실행 결과를 보여 줄 View 반환 | ↓ 6. Controller의 실행 결과를 보여 줄 View 검색 요청 | |||||
뷰 (View) |
뷰 리졸버 (ViewResolver) |
|||||||
순서 | 설명 |
1 |
웹 브라우저(Client)에서 URL을 요청하면 가장 먼저 디스패처 서블릿에 전달됩니다.
|
2 |
URL 요청을 받은 디스패처 서블릿은 어느 컨트롤러에서 요청을 처리할지 겾렁하려고 핸들러 매핑으로 적합한 컨트롤러를 검색합니다
|
3 |
핸들러 매핑은 클라이언트 요청을 처리할 컨트롤러를 결정하여 디스패처 서블릿에 반환합니다.
|
4 |
컨트롤러는 해당 클라이언트 요청을 전달받습니다. GET 또는 POST 방식을 기반으로 적합한 메서드를 호출합니다.
|
5 |
호출된 메서드는 정의도니 비즈니스 로직으로 모델 데이터를 설정하고 뷰 이름을 디스패처 서블릿에 반환합니다.
|
6 |
디스패처 서블릿은 웹 브라우저에 들어온 요청을 처리한 결과를 보여 주려고 뷰 리졸버에 도움을 요청하여 응답 결과를 생성할 뷰 객체를 검색합니다.
|
7 |
뷰 리졸버는 적절한 뷰를 결정하여 디스패처 서블릿에 뷰를 반환합니다.
|
8 |
디스패처 서블릿은 데이터가 담긴 모델을 뷰로 보내면 클라이언트 요청에 대한 응답 작업을 완료합니다.
|
9 |
뷰는 클라이언트 요청에 대한 응답 작업이 완료하여 처리결과를 디스패처 서블릿에 반환합니다.
|
10 |
마지막으로 클라이언트 화면에 응답결과를 출력합니다. 사용자는 웹 브라우저 화면에서 결과를 볼 수 있습니다.
|
Spring MVC 프로젝트의 프로젝트 구조 및 실행 과정 | ||||||||
프로젝트 | ||||||||
└─ | src/main/java | |||||||
┃ | └─ |
[P]com.springmvc.controller
|
||||||
↙ | ┃ | ← | └─ | HomeController.java | ← |
3. HoneController.java의 웹 요청 URL 처리 후 출력할 뷰 이름을 디스패처 서블릿에 반환
|
||
│ | └─ |
src/main/webapp/WEB-INF
|
↑ | |||||
↓ | └─ |
spring/appServlet
|
┃ | |||||
4. servlet-context.xml 컨트롤러에서 보내온 뷰 이름으로 처리할 뷰 검색
|
┃ | └─ |
servlet-context.xml
|
2. servlet-context.xml의 핸들러 매핑(URL 처리 컨트롤러에서 해당하는 클래스 검색)
|
||||
↓ | └─ | views | ↑ | |||||
5. home.jsp의 처리 결과가 포함된 뷰를 디스패처 서블릿에 반환 후 최종 결과 출력
|
┃ | └─ | home.jsp | ┃ | ||||
│ | └─ | web.xml |
1. web.xml의 디스패처 서블릿이 클라이언트의 웹 요청 URL 제어
|
|||||
│ | ↑ | |||||||
└ | ─ | → | 웹 브라우저 | ─ | ─ | ┘ | ||
Spring MVC 프로젝트의 실행 과정 | |
순서 | 설명 |
1 |
web.xml 파일은 웹 브라우저(클라이언트)의 웹 요청 URL을 전달받습니다. web.xml 파일에 설정된 디스패처 서블릿이 클라이언트의 웹 요청 URL을 제어합니다.
|
2 |
servlet-context.xml 파일에서 웹 요청 URL을 처리하는 컨트롤러에 해당하는 클래스를 검색합니다.
|
3 |
HomeController 컨트롤러는 클라이언트의 웹 요청 URL을 처리하고 결과를 출력할 뷰 이름을 디스패처 서블릿에 반환합니다.
|
4 |
컨트롤러에서 보내온 뷰 이름을 토대로 처리할 뷰를 검색합니다.
|
5 |
처리 결과가 포함된 뷰를 디스패처 서블릿에 반환하고 최종 결과를 출력합니다.
|
'Spring > Spring: 정리' 카테고리의 다른 글
[Spring] 스프링 MVC 환경 설정 파일: root context와 servlet context 정리 (0) | 2024.01.16 |
---|---|
[Spring] 환경 설정하는 web.xml 정리 (0) | 2024.01.16 |
[Spring] 스프링 MVC 정리 (0) | 2024.01.15 |
[Spring] 스프링 프레임워크 개요 정리 (0) | 2024.01.15 |
[Spring] start.spring.io 사이트 정리 (0) | 2024.01.15 |