Exklusive URL-Muster in tomcat web.xml Deskriptor
-
18-09-2019 - |
Frage
Ich versuche, fehlerhafte Seitenanforderungen - 404 Fehler - auf eine benutzerdefinierte Fehlerseite umzuleiten. Damit mein Servlet anstelle des Root-Servlets diese Anfragen bearbeiten konnte, habe ich das folgende URL-Muster eingegeben:
<url-pattern>/</url-pattern>
Leider fängt dies auch eingebettete Anfragen für Dateien wie *.js, *.css, *.png, *.jpg und andere solche Dateien auf. Gibt es einen Weg im Bereitstellungsdeskriptor, ein exklusives Muster anzugeben? Sagen Sie: "Alles außer Anfragen mit X -Erweiterung"?
Oder gibt es einen anderen Weg, den ich nicht sehe?
Lösung
Sie können einfach eine Fehlerseite für HTTP 404 -Fehler in der DD wie folgt deklarieren.
<error-page>
<error-code>404</error-code>
<location>/notFound.jsp</location>
</error-page>
Der Container (Tomcat in Ihrem Fall) erfasst dann alle HTTP 404s und leitet sie auf der von Ihnen angegebenen Seite weiter (/notfound.jsp im obigen Beispiel).
Es gibt einige Dokumentationen bei der Sonne, und einige mehr bei Google -Code.