ErrorPage

Pessoal,

Estou tentando criar uma página JSP padrão para ser disparada em caso de exceptions.

Eu fiz o seguinte:

1- Na minha página de erros (ErrorPage.jsp), eu setei isErrorPage para true.

<%@ page isErrorPage="true" %>

2- Na minha página de testes eu setei errorPage para “ErrorPage.jsp”.

<%@ page errorPage="ErrorPage.jsp" %>

3- Para testar, eu forcei o estouro de uma exception tentando acessar um elemento inexistente de um simples array de inteiros.

<%
		int[] meuArray = {1,2,3};
		for (int i = 0; i < 5; i++) {
			out.print(meuArray[i]);
		}
%>

Mesmo assim a minha página de erro não foi disparada, só apareceu aquela página padrão HTTP ERROR 500 ou algo assim…

Tem mais alguma configuração pra fazer além disso para a minha página de erros padrão funcionar ?

Obrigado…

Opa,

Este arquivo está no mesmo diretório?? Acho estranho porque era para ter dado certo.

tente colocar isto no teu web.xml:

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

:okok:

Estão no mesmo diretório sim. Pois é cara, é realmente muito estranho e eu não consigo achar o que está errado.

Fiz um exemplo bem simples , só com a parte de exception mesmo e não funcionou.

Dê uma olhada…

Este é o código do web.xml:

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
    <session-config>
        <session-timeout>
            30
        </session-timeout>
    </session-config>
    <welcome-file-list>
	<welcome-file>
            index.jsp
        </welcome-file>
    </welcome-file-list>
    <error-page>
        <error-code>500</error-code>
        <location>/ErrorPage.jsp</location>
    </error-page>
    </web-app>

Esta é a minha página de erros:

<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>
<%@page isErrorPage="true"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
   "http://www.w3.org/TR/html4/loose.dtd">

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
    </head>
    <body>

        <h1>Minha Página de Erros</h1>
        <hr>
    
    </body>
</html>

Este é o código da página que dispara a exception:

<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>
<%@page errorPage="ErrorPage.jsp"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
   "http://www.w3.org/TR/html4/loose.dtd">

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
    </head>
    <body>

        <h1>Testando a Página de Erros</h1>
        <%
            int[] meuArray = {1,2,3};
            for (int i = 0; i < 5; i++) {
                out.print(meuArray[i]);
            }
        %>
    </body>
</html>

Já testei com e sem a tag <error-page> no web.xml. De todo o jeito ele chama a página normal de erro HTTP Internal Error 500… e por aí vai…
Em nenhuma das vezes ele chamou a minha página ErrorPage.jsp.

Obrigado