>Java >java지도 시간 >springboot access 404 문제를 해결하는 방법

springboot access 404 문제를 해결하는 방법

PHPz
PHPz앞으로
2023-05-13 22:58:041912검색

springboot 프로젝트를 독립적으로 개발하는 것은 처음입니다. 처음에는 어떤 경로에 액세스하든 항상 404가 표시됩니다. 거의 12시간 동안 이 오류를 찾고 있었습니다.

문제 해결 후:

  • 경로가 잘못 작성되었습니다.

  • 애플리케이션 클래스가 컨트롤러와 동일한 패키지에 없습니다.

및 기타 문제가 발생하면 다음 해결 방법이 도움이 될 수 있습니다.

오해 1:

요청이 404를 반환할 때 콘솔에서 오류를 보고하지 않습니다. Spring DispatcherServlet 'dispatcherServlet' 초기화 오류인 줄 알았습니다. 그 이유는 요청시 404가 반환되고 콘솔에 로그 세 줄만 나타나기 때문입니다.

springboot access 404 문제를 해결하는 방법

그래서 저는 Spring DispatcherServlet 초기화와 관련된 오류를 검색해 왔습니다. 안타깝게도 거의 모든 블로그를 검색했지만 여전히 문제를 해결하지 못했습니다. 나는 또한 줄 로그를 검색하는 형제들도 이 문제에 직면했다고 생각하지만 여기서 말하고 싶은 것은 이 로그 줄이 정상이라는 것입니다. 나는 springboot 프로젝트를 다시 생성했고 요청이 성공하면 콘솔에서도 이 세 줄의 로그를 인쇄한다는 것을 발견했습니다.

오해 2:

오해 2는 위의 오해 1에 기반을 두고 있는데, 다들 Spring DispatcherServlet 초기화를 실수라고 생각해서 관련 방법을 찾아보기 때문입니다. 방법 중 하나는 구성 파일을 다음과 같이 수정하는 것입니다.

springboot access 404 문제를 해결하는 방법

그러나 내 관찰에 따르면 초기화 Spring DispatcherServlet은 전체 프로젝트 시작 중에 한 번만 인쇄됩니다. 즉, 이 DispatcherServlet은 한 번만 초기화된다는 의미입니다. (좀 헛소리 ㅋㅋㅋㅋㅋ) 위 구성은 프로젝트 시작 시 DispatcherServlet을 초기화하기 위한 것입니다. 설정하지 않거나 음수로 설정하면 첫 번째 요청이 도착할 때 DispatcherServlet이 초기화됩니다. 직접 시도해 보고 위 구성을 추가한 다음 프로젝트를 시작하면 요청이 올 때까지 기다리지 않고 세 줄의 로그가 직접 인쇄되는지 확인할 수 있습니다.

문제 해결 방법:

@ComponentScan 주석을 사용하기 때문에 문제는 실제로 매우 간단합니다. 일반 springboot에서는 이 주석을 사용할 필요가 없으므로 애플리케이션 클래스가 패키지 및 하위 파일의 모든 파일을 자동으로 스캔합니다. 패키지가 위치한 곳입니다. 그러나 이 주석을 사용하면 기본 주석이 유효하지 않게 됩니다. 여기서 @ComponentScan 주석을 사용하는 이유는 다양할 수 있습니다. 저는 자동 테이블 생성에 대한 종속성을 도입하고 튜토리얼에 따라 애플리케이션 클래스에 ComponentScan을 추가했습니다. 따라서 해결책은 애플리케이션 클래스가 있는 패키지 경로를 추가하는 것입니다.

springboot access 404 문제를 해결하는 방법

사실 아직 이런 주석에 예민하지 않아서 쓸데없는 일에 시간을 많이 허비했는데 다행히 해결되었습니다.

위 내용은 springboot access 404 문제를 해결하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 yisu.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제