Spring MVC 404 Fehler [duplizieren]

8

Ich werde verrückt und kann nicht verstehen, was das Problem ist:

Ich habe folgende Struktur:

%Vor%

web.xml

%Vor%

springMVC-servlet.xml

%Vor%

Mein Controller:

%Vor%

Ich habe kein Problem, zu /index.html

zu navigieren

Ссылка funktioniert perfekt.

aber wenn ich zu navigiere Ссылка Ich habe 404 Fehler.

%Vor%

Ich möchte login.jsp nicht auf derselben Ebene wie index.jsp verschieben, aber warum habe ich dieses Problem?

    
danny.lesnik 02.05.2011, 07:10
quelle

7 Antworten

2

HTTP 404 bedeutet, dass die Ressource nicht gefunden wird.

  • Dies bedeutet, dass der Controller oder eine direkt zugängliche Ressource (wie eine CSS-Datei) nicht gefunden wird
  • Es bedeutet NICHT , dass die im Controller angegebene JSP nicht gefunden wird (dies wäre ein 500 Interner Serverfehler)
  

HTTP-Status 404 - /SpringMVC/login.jsp

Offenbar senden Sie eine HTTP-Anfrage /SpringMVC/login.jsp , aber Ihre Controller-Methode ist an .html gebunden, daher müssen Sie Ihre HTTP-Anfrage in /SpringMVC/login.html

ändern

Aufgrund des Namens (Login) ist Ihre Spring Security-Konfiguration möglicherweise nicht korrekt.

    
Ralph 02.05.2011, 07:57
quelle
4

Ich füge das hier einfach hinzu, weil es mein 404-Problem gelöst hat. Es stellte sich heraus, dass mein Problem der url-mapping -Wert in web.xml war. Verwenden der Spring WebMVC-Version org.springframework:spring-webmvc:4.1.6.RELEASE

Ich habe Folgendes verwendet (was nicht funktioniert hat):

%Vor%

Ich hätte den folgenden Wert verwenden sollen (was funktioniert):

%Vor%

oder

%Vor%

Referenz: Ссылка

    
Nick Grealy 25.03.2015 23:49
quelle
2
  1. Erstellen Sie einen Ordner unter WEB-INF "jsps" für alle Ihre Ansichten und unter "jsps" einen "Sicherheits" -Ordner für Ihren Fall. HINWEIS: Wenn Sie die JSP-Dateien in WEB-INF verschieben, können Sie den direkten Zugriff auf diese Dateien verhindern. Es wird für die Anwendungssicherheit benötigt. Denken Sie über eine Situation nach, in der Ihre JSPs persönliche Informationen über Ihren Kunden bereitstellen und der Zugriff von Ihrem Controller gewährt / überprüft werden muss. Wenn Ihre JSPs aus WEB-INF heraus existieren, sind sie mit einer Anfrage direkt auf sie verfügbar.

  2. Konfigurieren Sie Ihren View Resolver wie folgt:

%Vor%

Als nächstes setzen Sie Ihre Login-JSPs in die "WEB-INF / jsps / security" und geben Sie "security / login" von Ihrer Login-Seite zurück.

Nun sucht der View Resolver nach den Views unter "WEB-INF / jsps". Da Ihre Methode "security / login" zurückgibt, erwartet der View Resolver ein Verzeichnis unter jsps namens "security" und darunter eine JSP-Datei namens "login.jsp" (suffix = jsp)

    
Erhan Bagdemir 02.05.2011 09:34
quelle
0

Ich vermute, dass ModelAndView mv = new ModelAndView("/security/login"); dort ist, wo das Problem liegt. Stellen Sie sicher, dass Sie in Ihrem Stammverzeichnis einen Ordner "security" haben, der eine login.jsp-Datei enthält. Oder versuchen Sie, den Sicherheitsordner in WebContent zu verschieben.

Geben Sie den contextConfigLocation-Init-Parameter Ihres DispatcherServlet

an %Vor%     
gouki 02.05.2011 08:59
quelle
0

Ich verwende Spring MVC mit Eclipse und einem MacOS X-System und habe einen 404-Fehler festgestellt, wenn der Controller den korrekten jsp-Namen zurückgibt. Ich habe später herausgefunden, dass die problematische jsp-Datei kein x (Ausführung) direkt im Dateisystem hat. Ich dann 'chmod + x some.jsp' und das Problem ist gelöst.

    
ZJ Lyu 25.07.2013 08:10
quelle
0

Hinzufügen dieser Ans hier für den Fall, dass jemand anderes das gleiche Problem hat. Meine App funktionierte früher gut, dann habe ich die Spring-Version aktualisiert und dabei auch die Spring-Security-Version aktualisiert. Als ich versuchte, auf meine Login-HTML-Seite zuzugreifen, stand ich vor diesem Problem. Ich hatte alle notwendigen Konfigurationen Änderungen wegen der Änderung der Feder-Sicherheits-Version von 3 bis 4 gemacht. Ich habe dieser Link und es war sehr hilfreich.

Ich hatte dieses Problem aufgrund der folgenden Konfiguration in meiner Datei web-servlet.xml

%Vor%

Es hat funktioniert, nachdem ich beide Standortwerte in "/app/" geändert habe. Es sieht so aus, als ob eine neuere Version von spring die gesamte Zeichenfolge abgleicht oder prüft, ob der angeforderte Speicherort mit dem oben konfigurierten Standortwert beginnt.

Ich habe den folgenden Code in org.springframework.web.servlet.resource.PathResourceResolver gefunden:

%Vor%

Die zweite if-Bedingung wurde in meinem Fall auf "false" und damit auf die 404-HTTP-Antwort

ausgewertet

Noch ein Tipp, wenn Sie mit einem solchen Fehler konfrontiert werden, versuchen Sie, das höchste Niveau der Springframe-Protokollierung zu aktivieren. Sie können den Fehlergrund von dort kennen lernen.

    
Harshad Vyawahare 17.08.2016 11:53
quelle
0

Diese Antwort kann für die obige Frage veraltet sein, aber es wird anderen helfen, die gerade mit dem Frühling anfangen. Ich hatte auch Probleme mit 404 WEB-INF / welcome.jsp Seite nicht gefunden Fehler.

Hier ist Problem mit ModelAndView Import

Ersetzen

import org.springframework.web.servlet.ModelAndView;

Mit

%Vor%     
user3717858 17.03.2015 10:12
quelle

Tags und Links