Werfen 404 und redirect auf eine benutzerdefinierte Fehlerseite im Frühjahr
Habe ich die unten Stück exception-handler, der leitet weiter auf "notfound" - Seite, wenn die Ressource nicht gefunden wurde. Aber, in den apache-logs, ich bin nicht zu sehen, 404 Fehlercode. Gibt es eine Möglichkeit zu einem 404-Fehler geworfen von diesem exception-handler?
@ExceptionHandler(UnknownIdentifierException.class)
public String handleUnknownIdentifierException(final UnknownIdentifierException e, final HttpServletRequest request)
{
request.setAttribute("message", e.getMessage());
return "forward:notfoundpage";
}
InformationsquelleAutor hop | 2015-04-02
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ja:
andere Weg ist, um markieren Sie Ihre Ausnahme mit besonderer Anmerkung:
und eine weitere Möglichkeit ist die Angabe der Fehler-code in der annotation-handler selbst:
Hier ist die lange blog-post zum Thema: https://spring.io/blog/2013/11/01/exception-handling-in-spring-mvc
Wenn es das redirect - ja, aber hier vorne ist stackoverflow.com/questions/18671463/...
Sorry Alex. Ich meinte vorwärts. Wenn wir also vorwärts, es wird nicht ändern Sie den HTTP-code und wird es immer noch 404 an?
InformationsquelleAutor Alex Chernyshev
Vorzugsweise, sollten Sie nicht umleiten auf eine Fehlerseite, sondern einfach nur eine Fehlermeldung angezeigt, und legen Sie einen Fehler HTTP-status-code. Tun Sie dies durch das werfen einer exception in Ihre controller-handler-Methode.
Die Sie brauchen, um eine Klasse dann zu werfen, (obwohl vielleicht haben Sie dies bereits getan haben mit Ihrem UnknownIdentifierException):
In Ihrem controller-handler-Methode:
Um eine Seite für die Anzeige auf eine Ausnahme, in web.xml:
InformationsquelleAutor Neil McGuigan