Ich habe den folgenden Code in der Methode doFilter(), wo ich Application-Bean Bean.HttpServletResponse.sendError() wird nicht auf Fehlerseite umgeleitet
if (request.getServletContext().getAttribute("resource")==null) {
response.sendError(503);
return;
}
Ich habe Code 503 auf bestimmte Fehlerseite in web.xml zugeordnet. Und ich erhalte wirklich Inhalt der Fehlerseite im Browser, wenn ein Fehler auftritt. Die Adresse in der Adressleiste ändert sich jedoch nicht für die Adresse der Fehlerseite. Eine Adresse des angeforderten Servlets bleibt dort. Ist es richtiges Verhalten? Ich möchte explizit über die Umleitung auf die Fehlerseite informieren. Ist das nur mit sendRedirect() möglich?
Warum möchten Sie die URL ändern? Warum möchten Sie, dass Ihre Fehlerseiten öffentlich zugänglich sind? Der kanonische Ansatz besteht darin, sie im Ordner '/ WEB-INF' zu belassen und den Container an ihn weiterzuleiten. Eine Umleitung würde den Statuscode nur komplett brechen und die Browser und Suchroboter über das Geschehen irreführen, indem eine 3nn/2nn zurückgegeben wird. Nur ** nicht ** umleiten auf die Fehlerseite! – BalusC