스프링 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 프로그래밍 강의
'프로그래밍 > Spring' 카테고리의 다른 글
[JPA] 영속성 관리 (0) | 2023.08.10 |
---|---|
[JPA] 왜 JPA를 사용해야 하는가? (0) | 2023.08.10 |
[JPA] 테이블 연관관계 정리 (0) | 2023.08.06 |
[JPA] 어노테이션 정리 (0) | 2023.08.05 |
스프링 부트에서 JSP 파일 못 찾는 이슈 해결 과정 (0) | 2023.07.29 |
댓글