Ho il seguente codice nel metodo doFilter(), dove ottengo il bean con scope dell'applicazione.HttpServletResponse.sendError() non reindirizza alla pagina di errore
if (request.getServletContext().getAttribute("resource")==null) {
response.sendError(503);
return;
}
Ho mappato il codice 503 alla pagina di errore specifica in web.xml. E ottengo davvero il contenuto della pagina di errore nel browser, se si verifica un errore. Ma l'indirizzo nella barra degli indirizzi non cambia per l'indirizzo della pagina di errore: un indirizzo del servlet richiesto lascia lì. È giusto comportarsi? Vorrei informare in modo esplicito sul reindirizzamento alla pagina di errore. È possibile solo con sendRedirect()?
Perché si desidera modificare l'URL? Perché vuoi che le tue pagine di errore siano pubblicamente accessibili? L'approccio canonico è di tenerli nella cartella '/ WEB-INF' e lasciare che il contenitore lo raggiunga. Il reindirizzamento romperebbe completamente il codice di stato e ingannerebbe i browser e i motori di ricerca sull'accaduto restituendo un 3nn/2nn. Basta ** non ** reindirizzare alla pagina di errore! – BalusC