"인프런의 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 강의를 듣고 작성한 글 입니다."
홈 화면을 만들어보자.
HomeController 클래스 파일을 만들고 다음과 같이 코드를 작성한다.
- HomeController.java
@Controller
public class HomeController {
@GetMapping("/")
public String home(){
return "home";
}
}
- home.html
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<div class="container">
<div>
<h1>Hello Spring</h1>
<p>회원 기능</p>
<p>
<a href="/members/new">회원 가입</a>
<a href="/members">회원 목록</a>
</p>
</div>
</div>
</body>
</html>
이후 어플리케이션을 동작시키고 localhost:8080 URL 로 접속하면 home.html 의 내용이 잘 출력되는 것을 확인할 수 있다.
정적 컨텐프에 대해 공부할 당시 서버측에 요청이 오면 스프링 컨테이너 안에 관련된 컨트롤러를 먼저 찾아보고, 찾는 경로가 존재하지 않을 경우 static 폴더를 찾는다고 했었다.
지금의 경우 localhost:8080 을 통해 요청이 왔을 때 가장 기본적인 "/" 경로에 매핑된 것이 있는지를 찾아보는데, 위에서 코드를 작성한 바와 같이 HomeController 에 "/" 경로로 매핑된 메소드가 존재하고 있다.
그 결과 이 메소드를 실행하면서 최종적으로 return 문에 적혀있는 "home" 문자열을 보고 templates 폴더에서 해당하는 파일을 찾은 다음 뷰 리졸버를 통해 랜더링 된 이후 결과를 화면에 뿌려주게 된다.
그렇기 때문에 기존에 경로가 매핑된 뷰 파일만을 화면에 뿌려주고 static 폴더에 있는 index.html(Welcome Page) 파일은 무시되게 된다.
예제 홈 화면을 구성했으니 이제 화면에서 보이는 대로 회원 가입, 회원 목록 링크가 기능을 정상적으로 잘 수행하게끔 구현해보자.
'Spring basic' 카테고리의 다른 글
스프링 입문 : 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 - H2 데이터베이스 설치 (0) | 2021.11.09 |
---|---|
스프링 입문 : 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 - 회원 웹 기능 : 등록 및 조회 (0) | 2021.11.08 |
스프링 입문 : 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 - 자바 코드로 직접 스프링 빈 등록하기 (0) | 2021.11.08 |
스프링 입문 : 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 - 컴포넌트 스캔과 자동 의존관계 설정 (0) | 2021.11.07 |
스프링 입문 : 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 - 회원 서비스 개발 (0) | 2021.11.03 |