인프런 커뮤니티 질문&답변

yoondeokwoo님의 프로필 이미지
yoondeokwoo

작성한 질문수

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

회원 웹 기능 - 홈 화면 추가

회원관리 예제 - 웹 MVC 개발 질문입니다

작성

·

346

0


[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)

[질문 내용]
https://drive.google.com/file/d/1OsD2y0IBoug_V0Q37JJHxmgjgmMjGZjJ/view?usp=sharing

캐시삭제, 인텔리제이 재실행을 하여도 프로그램을 실행시키면 home화면이 뜨지 않고 hello화면이 뜹니다. 어떻게 해결해야 할까요?

답변 1

0

안녕하세요. yoondeokwoo님, 공식 서포터즈 OMG입니다.
.

코드 확인이 불가능합니다.

링크있는 사용자에게 권한 허용을 설정해주세요

image
.
감사합니다.

yoondeokwoo님의 프로필 이미지
yoondeokwoo
질문자

죄송합니다... 수정하였습니다!

프로젝트 코드 확인해보았습니다.

Localhost:8080 접속 시

static/index.html 정상 접근 되고 있습니다.

크롬을 열고, ctrl + shift + n 을 입력하여 시크릿 모드에서 확인해보시겠어요?

시크릿모드에서 정상 출력된다면 캐시 문제가 맞을것 같아요 ^^

<!DOCTYPE HTML>
<html>
<head>
  <title>Hello</title>
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
Hello
<a href="/hello">hello</a>
</body>
</html>

image

yoondeokwoo님의 프로필 이미지
yoondeokwoo
질문자

올바른 결과로는 static/index.html이 아닌 home.html이 출력 되어야 하는 것 아닌가요??

올바른 결과로 static/index.html이 출력되는게 맞습니다.

/접속시 스프링부트가 탐색하는 기본 html은 index.html입니다.image

yoondeokwoo님의 프로필 이미지
yoondeokwoo
질문자

이해가 안되어 죄송하지만 마지막으로 다시 문의 드립니다...

강의 시간 3분 정도에서 HomeController에 Mapping된 url( / )이 있어서 Controller를 호출하고 static/index.html은 무시된다 라고 말씀 하시는데 왜 index.html이 출력되는게 맞는 것인지 잘 모르겠습니다.

아 맞습니다.

제가 코드 분석을 잘못했습니다. 혼란을 드려 죄송해요.

말씀하신 내용이 맞고 동작을 안한 이유에 대해 설명드리겠습니다.

HelloSpringApplication을 service 패키지 하위로 옮기신 것 같습니다.

image

이렇게 옮겨놓을 경우 스프링이 스프링으로 자동 등록된 객체를 탐색하는 위치가 hello.hellospring.service 하위에 있는 곳을 탐색하게 되는데요,

따라서 controller 패키지에 있는 컨트롤러 클래스들을 스프링 빈으 조회하지 못하는 상황이 발생하게 되어

@GetMapping("/")
public String home() {
    return "home";
}

해당 코드가 실행되지 않은 것입니다.

해결 방법은 아래와 같이 HelloSpringApplication의 위치를 옮기면 되며,

image

그 외로 부가적인 정보이지만 SpringConfig도 HelloSpringApplication과 같은 위치에 있도록 강의에서 코드를 생성하였습니다.

image

끝까지 확인요청을 하시지 않았다면 잘못된 답변으로 남을 뻔했습니다.

꼼꼼히 확인해주셔서 감사합니다 ^^!

 

yoondeokwoo님의 프로필 이미지
yoondeokwoo

작성한 질문수

질문하기