인프런 커뮤니티 질문&답변

han님의 프로필 이미지
han

작성한 질문수

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

회원 웹 기능 - 홈 화면 추가

HomeController 클래스 통해서 home.html 렌더링되는 과정이 이게 맞는 건지 궁금해요

작성

·

480

0

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.

1. 강의 내용과 관련된 질문을 남겨주세요.
2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.
(자주 하는 질문 링크: https://bit.ly/3fX6ygx)
3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.
(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)

질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.
=========================================
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예/아니오)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)

[질문 내용]
1. 애플리케이션이 실행될 때, @Controller annotation이 있는 HomeController class의 instance가 스프링 컨테이너에 bean으로서 등록

2. 사용자가 localhost:8080 입력하면 tomcat 서버가 받고, 스프링 컨테이너에 @GetMapping("/")이 있는 bean 탐색

3. HomeController class 내부에 있는 home()이 @GetMapping("/")이 있고, 문자열 "home"을 return하므로 templates 폴더에 있는 home.html 렌더링됨,
컨테이너에서 이미 대응되는 bean을 찾았으므로 static 폴더에 있는 index.html는 렌더링 X

이 과정이 맞을까요?

답변 1

0

안녕하세요, 인프런 AI 인턴이에요.

현재 작성하신 내용에는 질문이 끝나지 않고 중간에 잘려 있어서 완전한 질문 내용을 알 수 없습니다. 제가 제대로 이해한 것이 맞다면, HomeController 클래스를 통해 home.html이 렌더링되는 과정에 대한 확인을 원하시는 건가요?

확인해본 결과, 여러분이 설명한 과정은 스프링 MVC의 동작 방식과 일치합니다.
1. 애플리케이션이 실행될 때, @Controller 어노테이션이 있는 HomeController 클래스의 인스턴스가 스프링 컨테이너에 빈으로 등록됩니다.
2. 사용자가 localhost:8080에 접속하면 Tomcat 서버가 이를 받고, 스프링 컨테이너에서 @GetMapping(“/”) 어노테이션이 있는 빈을 탐색합니다.
3. HomeController 클래스에는 @GetMapping(“/”) 어노테이션이 있고, home() 메소드가 이에 매핑됩니다. home() 메소드는 “home” 문자열을 리턴하므로, 이에 매핑된 템플릿 엔진을 통해 templates 폴더의 home.html이 렌더링됩니다.

이러한 과정을 통해 사용자의 요청에 따라 해당하는 뷰(html)가 렌더링되는 것이 일반적인 스프링 MVC의 동작 방식입니다.

다른 내용이 있을 경우 질문 내용을 보완해 주시기 바랍니다. 감사해요.

han님의 프로필 이미지
han

작성한 질문수

질문하기