본문 바로가기
프로그래밍/Spring

[Spring] 스프링 MVC 구조

by YuminK 2023. 8. 10.

스프링 MVC는 프론트 컨트롤러 패턴으로 되어있다. (DispatcherServlet)

 

1. HTTP 요청이 들어오면 DispatcherServlet이 핸들러를 조회한다. (매핑된 주소에 매칭되는 handler를 찾는다)

2. Handler Adapter를 찾아온다. (다양한 형태 Controller 함수를 지원하기 위함)

3~4. 핸들러 어댑터를 통해 핸들러의 처리를 실행한다. (Controller의 내부 구현을 따른다)

5~6. ModelAndView를 반환하면 이를 viewResolver에게 넘긴다. 

7. ViewResolver가 뷰를 찾아서 반환하면 렌더링한다. 

 

주요 인터페이스 목록

핸들러 매핑: org.springframework.web.servlet.HandlerMapping

핸들러 어댑터: org.springframework.web.servlet.HandlerAdapter

뷰 리졸버: org.springframework.web.servlet.ViewResolver

뷰: org.springframework.web.servlet.View

 

@GetMapping

public String members(Model model) {

 List<Member> members = memberRepository.findAll();
 model.addAttribute("members", members);
 return "members";

}

 

모델 파라미터: 뷰로 넘기기 위한 모델 객체를 제공한다. 

ViewName을 반환하여 members로 된 뷰를 찾는다. 

 

@RequestParam

어노테이션을 통해 데이터를 받는다. 

 

@RequestMapping

GET/POST 모두 지원한다.

주로 @GetMapping, @PostMapping을 사용한다. 

 

출처: 자바 ORM 표준 JPA 프로그래밍 강의

댓글