Controller를 등록해줬지만 localhost:8080 입력시 Whitelabel Error Page가 뜬 경우
- 첨부된 이미지를 참고해서 보면 스프링부트가 정상적으로 실행되었고 내장된 톰캣 서버가 8080포트로 정상적으로 실행된 것을 볼 수 있다
- 아무 웹페이지도 없이 실행만 테스트한 경우라면 Whitelabel Error Page가 나오는 것은 정상 이지만
- Controller를 통해서 localhost:8080 페이지를 만들어 줬기 때문에 현재 보이는 Whitelabel Error Page가 오류로 발생한 것임을 알수 있다
발생 원인
- Controller를 컴포넌트 스캔이 이루어지는 패키지 하위에 만들지 않고 바깥에 생성함 (바보같은 실수...)
(인프런 스프링 -김영한님 강의로 알고 있었는데 이상한 위치에 Controller 클래스를 선언해서 발생했다...)
정리할 내용
- 메인 클래스는 project.develpmentcomunity 하위에 있으며 메인 클래스를 열어서 보면
@SpringBootApplication
이 붙어 있다 - @SpringBootApplication을 따라가보면
@ComponentScan
이 나오고@Filter
를 통해 반복하여 컴포넌트들을 스캔하고 스프링에 등록한다는 것을 알수 있다 - 만들어준 loginPageController 클래스를 들어가서 보면
@Controller만 있고 스캔 대상이 @Component 어노테이션이 없다
고 보일 수 있지만 - @Controller를 들어가서 보면
@Component
어노테이션이 있는 것을 알 수 있다
해결
- DevelopmentComunityApplication 클래스에 있는 패키지 하위로 loginPageController 클래스 위치를 이동시킴으로 해결
'Spring' 카테고리의 다른 글
No identifier specified for entity 에러 해결 방법 (0) | 2022.03.09 |
---|---|
SELECT에서 NVL을 통해 값이 없어도 0을 반환하게 했는데 NULL이 반환된 경우 (0) | 2022.03.03 |
토비의 스프링3.1 예제실습5 - DataSource (0) | 2021.12.23 |
토비의 스프링3.1 예제실습4 - JUnit4와 JUnit5 (0) | 2021.12.22 |
토비의 스프링 3.1 예제실습3 - 스프링 컨텍스트 (0) | 2021.12.21 |