| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 | 31 |
- frontController
- @Valid
- spring
- gradle
- Java
- 의존주입
- after-throwing
- springjdbc
- 서비스레이어
- springmvc
- @ResponseBody
- 바인딩변수
- 유효성검사
- @
- 스프링
- PointCut
- application.properties
- @RequestParam
- 생성자주입
- c:if
- Model
- produces
- jointpoint
- SpringBoot
- MVC
- AOP
- @RequestMapping
- 어노테이션
- .xml
- 비즈니스레이어
- Today
- Total
메모장
Spring MVC 구조 설명 본문
1. 사용자(Client) 의 요청

2. DispatcherServlet


FrontController 는 Spring에서 DispatcherServlet 으로 쓴다. "컨테이너"는 설정파일을 보고 처리하는 애이기 때문에 + .xml 이 따라 붙을 수 밖에 없다. 설정을 꼭 해줘야 되기 때문에
XML 가서 DispatcherServlet 으로 바꾸기 (HandlerMapping에 대한 di 의존 주입을 init () 메서드로 처리함)
DispatcherServlet는 객체화를 init 으로 한다.
DispatcherServlet에서는 HandlerMapping을 멤버변수로 활용함
command 를 넣으면 그 요청에 대한 controller 객체가 반환되고
그걸 handlerRequest 하면 어디로 가야되는지 경로가 나오고 그 경로 대로 가면 된다.
3. Controller

mappings로 MainController로 진입한다.

Factory 패턴 처럼 구성되어있는 HandlerMapping 사용. HandlerMapping 한테 주면
그 Controller의 .handleRequest() 으로 경로를 알 수 있다.
Controller 객체는 과거 .excute -> 현 .handleRequest() 메서드 수행
4. ViewResolver

Controller 류의 객체가 .handleRequest()의 수행결과로 String을 반환 했을때 , '어떻게 갈지'와 '어디로 갈지'를 판단해서 처리해주는 주체 이다.
~ Resolver가 나오면 특정 역할을 자동으로 처리해준다.
ViewResolver 는 자신의 멤버변수 두개를 setter로 받는다 .
어디로 가야하는지에 대한 경로를 받으면 앞에 뒤에 어떻게 갈지와 어디로 갈지를 앞뒤에 붙여서 반환해준다.
DispatcherServlet 에서 사용할 수 있다.

DispatcherServlet
5. View
.do 또는 .jsp 로 이동
'Spring > 개념정리' 카테고리의 다른 글
| Spring 제공 MVC로 바꾸기 (.xml 방식) (0) | 2024.06.21 |
|---|---|
| @ 어노테이션의 종류 (0) | 2024.06.21 |
| 기존 JSP -> Spring 이관작업 흐름 정리 (0) | 2024.06.21 |
| Annotation ( @, 어노테이션 ) (0) | 2024.05.30 |
| Spring 의존성,의존주입(setter) 컬렉션 (0) | 2024.05.30 |