본문 바로가기
📍 Back-End/🜸 Spring

[Spring Boot] 프로젝트 생성 후 localhost:8080 접속이 안될 때

by 예리Yelee 2021. 6. 17.
반응형

2021.06.17 - [📍 Back-End/🜸 Spring] - [Spring Boot] 프로젝트 생성하기

 

[Spring Boot] 프로젝트 생성하기

IntelliJ를 사용하는 나로서는 IDE를 통해 쉽게 Spring boot 프로젝트를 생성할 수 있지만 누구나 쉽게 만들 수 있는 보편적인 방법에 대해서 서술하고자 한다 (이 방법만 익히면 이클립스든 인텔리제

yelee.tistory.com


이전 게시물에서 스프링 부트 프로젝트를 생성하여

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

댓글