sintaxis metodos etiquetas ejemplos ejemplo basico jsp jsf facelets custom-error-pages

metodos - jsp y html



¿Cómo mostrar una página de error fácil de usar en el navegador cuando el servlet arroja la excepción de tiempo de ejecución? (3)

Estoy desarrollando aplicaciones web con JSF. Lo probé como pude pero de vez en cuando se lanzan excepciones.

Entonces, ¿cómo redirigir al usuario a la página de error especial cada vez que se lanza una excepción (en lugar de mostrar 500 Error con los registros completos de tomcat)?


En su web.xml:

<error-page> <error-code>500</error-code> <location>/errorpages/500.jsp</location> </error-page>

También puede detectar excepciones específicas o excepciones que amplíen Throwable :

<error-page> <exception-type>java.lang.Throwable</exception-type> <location>/errorpages/500.jsp</location> </error-page>


Simplemente declare una <error-page> en web.xml donde puede especificar la página que se debe mostrar en un determinado Throwable (o cualquiera de sus subclases) o un código de estado HTTP . P.ej

<error-page> <exception-type>java.lang.Exception</exception-type> <location>/error.jsp</location> </error-page>

que mostrará la página de error en cualquier subclase de java.lang.Exception , pero no java.lang.Throwable o java.lang.Error . De esta forma, puede tener su propia página de error para cualquier tipo de Throwable . Por ejemplo, java.sql.SQLException , java.io.IOException , etc.

O,

<error-page> <error-code>500</error-code> <location>/error.jsp</location> </error-page>

que mostrará la página de error en un error HTTP 500, pero también puede especificar otros para 404 (Página no encontrada), 403 (Prohibida), etcétera.

Si declara <%@page isErrorPage="true" %> en la parte superior de error.jsp , entonces tiene acceso a la Exception lanzada (y por lo tanto también a todos sus captadores) por ${exception} en EL.

<p>Message: ${exception.message}</p>

También vea el tutorial de Java EE 5 sobre el tema .


If you use java config in spring, you can follow, @Configuration public class ExcpConfig { @Bean(name = "simpleMappingExceptionResolver") public SimpleMappingExceptionResolver simpleMappingExceptionResolver() { SimpleMappingExceptionResolver resolver= new SimpleMappingExceptionResolver(); Properties mappings = new Properties(); resolver.setExceptionMappings(mappings); // None by default resolver.setExceptionAttribute("ErrorOccurred"); // Default is "exception" resolver.setDefaultErrorView("500"); // 500.jsp return r; } }