Spring/Spring: 정리
[Spring] 스프링 MVC의 컨트롤러 정리
데브마우스
2024. 1. 17. 16:36
컨트롤러(@Controller)란 무엇인가요?
컨트롤러 Annotation은 일반적인 자바 클래스가 아닌, 웹 브라우저에서 들어온 요청을 처리할 수 있는 메서드를 가진 특정한 자바 클래스입니다. 또한 import org.springframework.stereotype.Controller;를 import 해줘야 사용할 수 있습니다.
스프링 MVC의 컨트롤러는 무엇을 하나요?
스프링 MVC에서 사용자 요청(URL 이동)을 받으면 가장 먼저 디스패처 서블릿에 전달합니다. 디스패처 서블릿은 핸들러 매핑으로써 요청을 전달받는 역할만 합니다. 실제로는 컨트롤러(Controller)가 요청을 처리합니다.
| 디스패처 서블릿과 컨트롤러의 클라이언트 요청 처리 과정 | |||||
| 실제 처리 컨트롤러 (자바 파일) |
|||||
| ↗ |
WelcomeController.java
|
||||
| 클라이언트 | ─클라이언트의 URL 요청→ | 디스패처 서블릿 | ─ | → |
MemberController.java
|
| ↘ |
MessageController.java
|
||||
|
컨트롤러의 클라이언트 요청 처리 과정 흐름도
|
||
|
클라이언트의 요청 URL 발생
|
코드 | |
| 1. 컨트롤러 정의 | → | @Controller |
| ↓ | ||
| 2. 요청 매핑 경로 설정 | → |
@RequestMapping(value="/books", method=RequestMethod.GET)
|
| ↓ | ||
| 3. 요청 처리 메서드 구현 | → |
public String Weclome(Model model) {
model.addAttribute("welcome","환영합니다."); |
| ↓ | ||
|
4. [뷰 or 모델 or 모델&뷰] 반환
|
return "welcome"; }
|
|
| ↓ | ||
|
클라이언트 웹 브라우저 응답
|
클라이언트 요청 응답 완료 | |