스프링 공부/인프런 김영한 스프링 입문 노트정리

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

모항 2022. 7. 30. 12:55

 

 

홈 화면을 추가할 것이다.

 

 

 

홈 화면용 컨트롤러 만들기

 

controller 패키지 안에 HomeController를 새로 만든다.

 

 

클래스 머리에 @Controller 어노테이션을 붙여주고

아래와 같이 간단한 메소드 하나를 만들어준다.

@GetMapping()은 특정 URL 주소로 GET 요청이 들어왔을 때 이 메소드가 실행되도록 매핑해주는 역할을 한다.

"/" 즉 웹 어플리케이션의 기본 URL과 home() 메소드가 연결되었다.

그러므로 이 코드는 홈 화면 주소를 치고 들어가면 "home.html"이라는 이름의 html 파일의 내용을 바탕으로 한 화면을 띄우라는 코드이다.

 

 

 

 

home.html 만들기

 

이제 이 메소드에 의해 읽힐 html 파일을 만들어준다.

html 작성은 프론트엔드의 몫이므로, 대충 강의자료에서 복붙한다.

 

내용을 살펴보자.

Hello Spring이라는 제목이 뜨고

회원 기능이라는 텍스트 아래에 "회원 가입" 하이퍼링크, "회원 목록" 하이퍼링크가 있다.

매우 간단한 홈 화면이다.

 

 

 

 

실행해보기

 

잘 되는지 한 번 실행시켜보자.

잘 뜬다.

 

하이퍼링크를 눌러보면 아직 오류화면이 뜬다.

왜냐하면 /members 페이지 및 /members/new 페이지와 매핑된 컨트롤러를 아직 안 만들었기 때문이다.

 

 

 

 

 

홈 화면의 우선순위

여기서 잠깐!

index.html을 기억하는가?

 

예전에 만들었던 index.html이 아직 static 폴더에 남아있다.

이걸 만들 때 우리는

스프링이 자동으로 static 하위의 index.html을 찾아 홈 화면으로 지정해준다는 사실을 배웠었다.

 

그런데 왜 지금은 이놈이 마치 없는 것처럼 home.html이 뜨는 것일까?

 

 

그것은 그때도 말했듯이, 홈 화면용 html 파일을 지정하는 데 우선순위가 있기 때문이다.

 

이렇게 홈 화면 주소와 직접 매핑된 컨트롤러가 존재한다면

최우선적으로 이 컨트롤러가 가리키는 html 파일이 홈 화면으로 지정된다.

 

이런 직접 매핑된 컨트롤러가 없을 경우에만! index.html을 찾는 기능이 작동되는 것이다.