Heim >Java >javaLernprogramm >So lösen Sie das Springboot Access 404-Problem
Dies ist das erste Mal, dass ich ein Springboot-Projekt unabhängig entwickle. Ich hatte nicht erwartet, dass ich am Anfang so frustriert sein würde, egal auf welchen Pfad ich zugreife. Ich habe fast zwölf Stunden lang nach diesem Fehler gesucht.
Der Pfad ist falsch geschrieben
Die Anwendungsklasse befindet sich nicht im selben Paket wie der Controller
und andere Probleme, die folgenden Lösungen können für Sie hilfreich sein.
Die Konsole meldet keinen Fehler, wenn die Anfrage 404 zurückgibt. Ich dachte, es sei ein Fehler bei der Initialisierung von Spring DispatcherServlet 'dispatcherServlet'. Der Grund dafür ist, dass bei einer Anfrage 404 zurückgegeben wird und nur drei Protokollzeilen auf der Konsole angezeigt werden:
Ich habe also nach Fehlern im Zusammenhang mit der Initialisierung von Spring DispatcherServlet gesucht. Leider habe ich fast alle Blogs durchsucht und kann das Problem immer noch nicht lösen. Ich glaube auch, dass Brüder, die nach Zeilenprotokollen suchen, ebenfalls auf dieses Problem gestoßen sind, aber ich möchte hier sagen, dass diese Protokollzeile normal ist. Ich habe ein Springboot-Projekt neu erstellt und festgestellt, dass die Konsole diese drei Protokollzeilen auch druckt, wenn die Anfrage erfolgreich ist.
Missverständnis 2 basiert auf dem obigen Missverständnis 1, da jeder denkt, dass die Initialisierung von Spring DispatcherServlet ein Fehler ist, und daher nach verwandten Methoden sucht. Eine Methode besteht darin, die folgenden Änderungen in der Konfigurationsdatei vorzunehmen.
Aber meiner Beobachtung nach wird Initializing Spring DispatcherServlet während des gesamten Projektstarts nur einmal gedruckt, was bedeutet, dass dieses DispatcherServlet nur einmal initialisiert wird. (Ein bisschen Unsinn, hahaha) Die obige Konfiguration besteht darin, das DispatcherServlet zu initialisieren, wenn das Projekt startet. Wenn es nicht festgelegt ist oder auf eine negative Zahl gesetzt ist, wird das DispatcherServlet initialisiert, wenn die erste Anforderung eintrifft. Sie können es selbst ausprobieren und sehen, ob Sie die obige Konfiguration hinzufügen und dann das Projekt starten. Die drei Protokollzeilen werden direkt gedruckt, anstatt auf die Anforderung zu warten.
Das Problem ist eigentlich sehr einfach, da wir die Annotation @ComponentScan verwenden. Im normalen Springboot ist es nicht erforderlich, diese Annotation zu verwenden, sodass die Anwendungsklasse automatisch alle Dateien im Paket und in Unterdateien scannt. Paket dort, wo es sich befindet. Wenn diese Anmerkung jedoch verwendet wird, ist die Standardanmerkung ungültig. Die Gründe für die Verwendung der @ComponentScan-Annotation können hier unterschiedlich sein. Ich habe eine Abhängigkeit zur automatischen Tabellenerstellung eingeführt und bin dem Tutorial zum Hinzufügen eines ComponentScan zur Anwendungsklasse gefolgt. Die Lösung besteht also darin, den Paketpfad hinzuzufügen, in dem sich die Anwendungsklasse befindet.
Grundsätzlich bin ich immer noch nicht sensibel genug für diese Anmerkungen und habe viel Zeit mit nutzloser Arbeit verbracht, aber zum Glück wurde es gelöst.
Das obige ist der detaillierte Inhalt vonSo lösen Sie das Springboot Access 404-Problem. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!