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

15. 회원 웹 기능 - 홈 화면 추가

sungw00 2023. 3. 11. 15:57
728x90

회원 웹 기능 - 홈 화면 추가

홈 컨트롤러 추가

package hello.hellospring.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;

@Controller
public class HomeController {

    @GetMapping("/")
    public String home() {
        return "home";
    }
}

 

회원 관리용 홈

<!-- home.html -->
<!DOCTYPE HTML>
<html xmlns:th="http://www.thymeleaf.org">
<body>
<div class="container">
  <div>
    <h1>Hello Spring</h1>
    <p>회원 기능</p>
    <p>
      <a href="/members/new">회원 가입</a>
      <a href="/members">회원 목록</a>
    </p>
  </div></div> <!-- /container -->
</body>
</html>

 

localhost:8080 요청 시 출력 페이지

회원 가입을 누르면 /members/new로 이동

회원 목록을 누르면 /members로 이동

하지만 방금 작성했던 파일이 아닌 이전에 작성했던 /resources/index.html 파일이 있었는데 왜 방금 작성한 HomeController가 호출되었을까?

이유는 웹 브라우저로부터 요청이 오면 스프링 컨테이너에서 관련 컨트롤러가 있는지를 찾고, 없으면 static 파일을 찾도록 되어있다. 

 

방금 작성했던 HomeController에서 아래 부분이 매핑되어 반환하고 끝나는 것이다.

만약 HomeController를 제거하면 다시 static의 index.html이 호출된다.

728x90