Spring/Spring tutorial - 코드로 배우는 스프링 (김영한)
회원 웹 기능 - 홈 화면 추가
한둥둥
2022. 9. 26. 13:49
우선 먼저 단순한 HomeController를 만들자.
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";
}
}
/는 우리의 도메인 첫번째 바로 localhost:8080로 들어가면 처음 페이지의 화면이다.
그러고 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>
위에 있는 코드들을 통해서 home html화면을 만들어 주었다.
homeController를 열면 @GetMapping URL 이 / 로 되어 있다.
홈에서 회원 가입을 누르면 /members/new로 가게 만들어주었다. 또한 회원 목록은 /members로 가게 만들어줌
근데 우리는 이전에 게시글에서 static index.html이라는 것을 만들어주었다. 이전 게시글에서 /index.html로 처음 홈페이지의 홈화면이 된다고 했는데 어떻게 위에서 home html이 웹페이지의 home화면이 될 수 있을까?
여기에 정답은 바로 우선순위가 있다는 것이다.
여기서 보면 내장 톰캣 서버에 넘어갈 때 스프링 컨테이너가 우선 관련 컨트롤러를 찾고 없으면 static.html파일로 넘어간 것이다. 그래서 위에서 homeController, home.html을 작성해주면 index.html에서 작성해준 html코드가 아닌 home.html에서 작성해준 html코드가 웹 브라우저에 그려지게 되는 것이다.