해결된 질문
작성
·
140
·
수정됨
0
homeController에서 return "redirect:/items"; 를통해 itemController에 있는 items로 매핑이 된 메서드로 이동해 items뷰템플릿을 보여주는건 이해했습니다!
그런데 왜 localhost:8080을 웝페이지에 띄웠을 때
static에있는 index.html이 호출이 되지 않고 homeController에있는 /URL이 호출이되나요 ?
requestMapping("/") 이게 기본화면과 매핑된 URL인가요 ??
답변 1
1
안녕하세요. 해톨님, 공식 서포터즈 OMG입니다.
static/index.html이 존재한다면 다음과 같이 WelcomePageHandlerMapping에 의해 index.html이 웰컴페이지(localhost:8080/)에 등록됩니다만,
@Controller + 별도의 @RequestMapping("/")가 있다면
@Controller
@RequiredArgsConstructor
public class HomeController {
@RequestMapping("/")
public String home() {
return "redirect:/items";
}
}
우선순위가 명시적으로 선언한 코드가 우선순위를 갖습니다.
만약 아래와 같이 @Controller를 주석처리 한다면
// @Controller
localhost:8080/ 접속 시 static/index.html이 열릴거에요.
만약 예상과 같이 동작하지 않는다면 브라우저 캐시 문제일 수 있으니 댓글 남겨주세요^^
감사합니다.
감사합니다 !!