Ich möchte die Fehlerseiten-Direktive von Tomcat verwenden, um verschiedene Fehlerseiten als Reaktion auf verschiedene Arten von Ausnahmen anzuzeigen. Ich möchte jedoch, dass die angezeigte Fehlerseite je nach der ursprünglichen Anfrage-URL, die zu dem Fehler geführt hat, unterschiedliche Stile und Inhalte aufweist.Anzeigen verschiedener Tomcat-Fehlerseiten abhängig von der URL der ursprünglichen Anfrage
Insbesondere habe ich einen Admin-Teil meiner Web-Anwendung und einen Benutzer Teil. Die Fehlerseiten sollten sowohl in Bezug auf das Styling als auch auf die Menüs unterschiedlich sein. Der zuverlässigste Weg, um zu unterscheiden, in welchem Teil sich eine bestimmte Seite befindet, ist die Suche nach Zeichenfolgen in der URL. Ich möchte die Tomcat-Fehlerseite zum Beispiel auf ein Servlet verweisen, das die URL analysiert und auf die entsprechend formatierte Fehlerseite umleitet.
Also 1) ist es möglich, Fehler-Seite oder einen anderen Mechanismus zu verwenden, um Fehler zu einem Servlet und nicht zu einer JSP umzuleiten? (Und wenn nicht, kann ich tun, was ich mir innerhalb einer JSP vorstelle?)
und 2) sobald ich in meinem Servlet bin, kann ich die Anfrage URL bestimmen, die zu dem Fehler führte (request.requestURI doesn ' t scheint zu funktionieren - es zeigt auf die Position der Fehler-JSP selbst).
Jetzt sind wir irgendwo. Ich zögere, dies als beantwortet zu markieren, bis ich es probiert habe und 2) mir etwas mehr Zeit für Antworten gebe, aber das ist definitiv die Art von Information, nach der ich gesucht habe. Vielen Dank. –
Arbeitete wie ein Charme (Ich tue ein c: wenn ich überprüfe, ob das requestURI bestimmte Zeichenfolgen enthält, und eine Weiterleitung wenn es tut. –
Anstelle von pageContext.errorData.requestURI musste ich pageContext.getErrorData() verwenden. GetRequestURI() – jackocnr