2021.06.17 - [📍 Back-End/🜸 Spring] - [Spring Boot] 프로젝트 생성하기
이전 게시물에서 스프링 부트 프로젝트를 생성하여
System.out.println() 출력문을 통해 Hello World가 찍히는 것을 확인했다
스프링 부트는 Tomcat을 내장하고 있어
별다른 서버 설정 없이 localhost:8080 접속이 가능한데
접속을 해보면 두둥 아래와 같은 에러 페이지가 뜬다 😞
❓ 원인
첫 메인페이지 접속 시 어떤 뷰를 출력할지 Controller에서 맵핑이 되어있지 않기 때문이다
💡해결
컨트롤러를 생성해서 root path인 "/"를 맵핑해준다
(resources/templates/home.html 파일을 생성해둔 상태)
Controller 어노테이션으로 컨트롤러임을 명시해주고
루트인 슬래시("/")를 맵핑해주어 home.html을 리턴한다
package com.test.yelee;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class HomeController {
@RequestMapping(value = "/")
public String home() {
return "home";
}
}
다시 localhost:8080에 접속하면 home.html에 작성해둔 Hello World가 출력되는 것을 확인할 수 있다.
💡이슈
사실 처음에 컨트롤러를 생성 후 localhost:8080에 접속하였을 때 처음과 같이 계속 whitelabel 에러가 발생했다
아무리 구글링을 해봐도 대부분 컨트롤러만 생성하면 바로 지정한 view로 이동하던데 왜 이럴까 한참 씨름을 했다.
꽤나 오랜 시간을 공들여 찾아낸 허무한 원인.
스프링 부트는 템플릿 의존성을 추가해야 src/main/resources/templates 경로를 찾아간다.
implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
build.gradle에서 타임리프 디펜던시를 추가한 다음 실행해보니 언제 에러가 있었냐는 듯 실행이 잘 되는 마법,,, 🤔
'📍 Back-End > 🜸 Spring' 카테고리의 다른 글
[Spring Boot] Spring Web MVC (0) | 2021.06.18 |
---|---|
[Spring Boot] 프로젝트 생성하기 (0) | 2021.06.17 |
댓글