Como criar uma pagina de erro?

19 respostas
B

Pessoal como faco para criar uma pagina de erro para a minha aplicacao?
Colocando a diretiva <%@ page errorPage=“erro.jsp” %> nas minhas jsps qualquer erro q ocorrer sera direcionado para esta pagina nao é?
E erros ocasionados por servlets, por exemplo erros de conexao a db, vao ser direcionados para esta pagina tambem?

19 Respostas

G
"Brito_Developer":
Pessoal como faco para criar uma pagina de erro para a minha aplicacao? Colocando a diretiva <%@ page errorPage="erro.jsp" %> nas minhas jsps qualquer erro q ocorrer sera direcionado para esta pagina nao é? E erros ocasionados por servlets, por exemplo erros de conexao a db, vao ser direcionados para esta pagina tambem?

Fala Brito...

&lt;%@ page isErrorPage=&quot;true&quot; %&gt;
&lt;HTML&gt;
&lt;HEAD&gt;&lt;TITLE&gt;My Error Page&lt;/TITLE&gt;&lt;/HEAD&gt;
&lt;BODY&gt;
&lt;H2&gt;Exception Information&lt;/H2&gt;
&lt;TABLE&gt;

&lt;tr&gt;
&lt;td&gt;Exception Class&#58;&lt;/td&gt;
&lt;td&gt;&lt;%= exception.getClass&#40;&#41; %&gt;&lt;/td&gt;
&lt;/tr&gt;

&lt;tr&gt;
&lt;td&gt;Message&#58;&lt;/td&gt;
&lt;td&gt;&lt;%= exception.getMessage&#40;&#41; %&gt;&lt;/td&gt;
&lt;/tr&gt;

&lt;tr&gt;
&lt;td&gt;StackTrace&#58;&lt;/td&gt;
&lt;td&gt;
	 java.io.PrintWriter outstream = new java.io.PrintWriter&#40;out&#41;;
         exception.printStackTrace&#40;outstream&#41;;
&lt;/td&gt;
&lt;/tr&gt;

&lt;/TABLE&gt;
&lt;/BODY&gt;
&lt;/HTML&gt;

:wink:

B

Meu este codigo esta dando erro.
Mas eu tenho q prever todo tipo de exception nesta pagina?
Explique, …

G

“Brito_Developer”:
Meu este codigo esta dando erro.
Mas eu tenho q prever todo tipo de exception nesta pagina?
Explique, …

qual erro ?
sim… então vc exibe a class e a message…

:wink:

B

HTTP Status 500 -

Cara o caso é eu ate tenho uma pequena pagina de erro mas qdo eu incluo ela nao é reconhecida.

&lt;%@ page isErrorPage="true" %&gt;
&lt;h1&gt;Erro Encontrado&lt;/h1&gt;
O seguinte erro foi encontrado&#58;&lt;br&gt;
&lt;b&gt;&lt;%=exception%&gt;&lt;/b&gt;&lt;br&gt;

e dai eu incluo assim:
<%@ page errorPage=“errorPage.jsp” %>

G

“Brito_Developer”:
HTTP Status 500 -

Cara o caso é eu ate tenho uma pequena pagina de erro mas qdo eu incluo ela nao é reconhecida.

&lt;%@ page isErrorPage="true" %&gt;
&lt;h1&gt;Erro Encontrado&lt;/h1&gt;
O seguinte erro foi encontrado&#58;&lt;br&gt;
&lt;b&gt;&lt;%=exception%&gt;&lt;/b&gt;&lt;br&gt;

e dai eu incluo assim:
<%@ page errorPage=“errorPage.jsp” %>

ok. mas nos seu JSPs vc coloca a diretiva errorPage certo ?

:wink:

B

Sim.

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

B

Pessoal me ajudem a resolver isto aqui.
Que tal um passo a passo. Sei q tem q configurar o web.xml, mas nao sei oq tem q fazer la. A parte das diretivas vamos deixar pra depois, e tambem ja entendi; Entao vamos la, …
1 - Eu quero tratar na minha “errorPage” erros de SQLException, Exception e tambem erros de jsp (acho q isto entra no exception). Agora como monto esta pagina?
2 - O que vai no web.xml?

M

é só tu colocar isso de no teu web.xml, por ex:

&lt;error-page&gt;
   &lt;exception-class&gt;java.lang.Exception&lt;/exception-class&gt;
   &lt;location&gt;/jsp/error.jsp&lt;/location&gt;
&lt;/error-page&gt;

fora isso tu nao precisa colocar nenhuma diretiva nos teus JSPs, a não ser q queria uma página de erro diferente pra algum…

B

Nao preciso colocar a diretiva
<%@ page errorPage="/errorPage.jsp" %>
nas minhas jsps?

Estes cod

&lt;error-page&gt; 
	   &lt;exception-class&gt;java.lang.Exception&lt;/exception-class&gt; 
	   &lt;location&gt;/sistema/cliente/testes/error.jsp&lt;/location&gt; 
	&lt;/error-page&gt;

el vai direcionar qualquer tipo de excption para esta pagina?

B

Pessoal se tiver uma ajudinha aqui eu agradeco, ainda nao resolvi isto.

G

“Brito_Developer”:
Nao preciso colocar a diretiva
<%@ page errorPage="/errorPage.jsp" %>
nas minhas jsps?

Estes cod

&lt;error-page&gt; 
	   &lt;exception-class&gt;java.lang.Exception&lt;/exception-class&gt; 
	   &lt;location&gt;/sistema/cliente/testes/error.jsp&lt;/location&gt; 
	&lt;/error-page&gt;

el vai direcionar qualquer tipo de excption para esta pagina?

dessa forma não…a não ser que vc queira uma página de erro independente…

como está suas diretivas e sua página de erro ?

:wink:

B

Bom vamos la.
Se eu colocar este cod ( java.lang.Exception) nna tag do web.xml ele vai tratar qualquer exception de jsp?
Nao sei nem como comecar isto/

G

“Brito_Developer”:
Bom vamos la.
Se eu colocar este cod ( java.lang.Exception) nna tag do web.xml ele vai tratar qualquer exception de jsp?
Nao sei nem como comecar isto/

sim, qualquer erro ocorrido será redirecionado para o location indicado:

&lt;location&gt;/error.jsp&lt;/location&gt;

:wink:

B

ta bom, entao agora veja mesu cod`s / procedimentos.

Nas jsp`s eu tenho:

&lt;%@ page errorPage="_util/errorPage.jsp" %&gt;

Na minha pagina de erro (errorPage) eu tenho:

&lt;%@ page isErrorPage="true" %&gt; 
&lt;h1&gt;Erro Encontrado&lt;/h1&gt; 
O seguinte erro foi encontrado&#58;&lt;br&gt; 
&lt;b&gt;&lt;%=exception%&gt;&lt;/b&gt;&lt;br&gt;

No arquivo web.xml eu tenho a tag :

&lt;error-page&gt; 
	   &lt;exception-class&gt;java.lang.Exception&lt;/exception-class&gt; 
	   &lt;location&gt;/_util/errorPage.jsp&lt;/location&gt; 
	&lt;/error-page&gt;

Dai na minha pagina eu causo um erro tipo assim:

&lt;%@ page errorPage="../_util/errorPage.jsp" %&gt;
&lt;html&gt;
&lt;body&gt;
&lt;%=java%&gt;
&lt;/body&gt;
&lt;/html&gt;

Estou imprimindo uma varivel “java” q nao existe, mas nao estou sendo direcionado para a minha pagina de erros.

O q acontece?

G
"Brito_Developer":
ta bom, entao agora veja mesu cod`s / procedimentos. Nas jsp`s eu tenho:
&lt;%@ page errorPage=&quot;_util/errorPage.jsp&quot; %&gt;
Na minha pagina de erro (errorPage) eu tenho:
&lt;%@ page isErrorPage=&quot;true&quot; %&gt; 
&lt;h1&gt;Erro Encontrado&lt;/h1&gt; 
O seguinte erro foi encontrado&#58;&lt;br&gt; 
&lt;b&gt;&lt;%=exception%&gt;&lt;/b&gt;&lt;br&gt;
No arquivo web.xml eu tenho a tag :
&lt;error-page&gt; 
	   &lt;exception-class&gt;java.lang.Exception&lt;/exception-class&gt; 
	   &lt;location&gt;/_util/errorPage.jsp&lt;/location&gt; 
	&lt;/error-page&gt;
Dai na minha pagina eu causo um erro tipo assim:
&lt;%@ page errorPage=&quot;../_util/errorPage.jsp&quot; %&gt;
&lt;html&gt;
&lt;body&gt;
&lt;%=java%&gt;
&lt;/body&gt;
&lt;/html&gt;
Estou imprimindo uma varivel "java" q nao existe, mas nao estou sendo direcionado para a minha pagina de erros.

O q acontece?

Aí amigão, vamos botão essa budega pra funfar...

aqui tá funcionando assim:

Página de teste:

&lt;%@ page errorPage=&quot;error.jsp&quot; %&gt;
&lt;html&gt;
&lt;body&gt;

&lt;H2&gt;Throw Exception!&lt;/H2&gt;
&lt;% String nullString = null; %&gt;

&lt;!-- Ooops --&gt;
&lt;% nullString.length&#40;&#41;; %&gt;

&lt;/body&gt;
&lt;/html&gt;

ErrorPage:

&lt;%@page isErrorPage=&quot;true&quot; %&gt;

&lt;h1&gt;Erro Encontrado&lt;/h1&gt;
O seguinte erro foi encontrado&#58;
&lt;br&gt;
&lt;br&gt;
&lt;b&gt;&lt;%=exception%&gt;&lt;/b&gt;&lt;br&gt;

:wink:

G

Oi..
Dei uma melhorada pra vc amigão..

&lt;%@page isErrorPage=&quot;true&quot; %&gt;

&lt;h1&gt;Erro Encontrado&lt;/h1&gt;

&lt;b&gt;O seguinte erro foi encontrado&#58;&lt;/b&gt;

&lt;br&gt;
&lt;%=exception.getClass&#40;&#41;%&gt;
&lt;br&gt;
&lt;br&gt;

&lt;b&gt;O erro foi gerado no arquivo&#58;&lt;/b&gt;

&lt;br&gt;
&lt;%=request.getAttribute&#40;&quot;javax.servlet.error.request_uri&quot;&#41; +&quot;?&quot;+request.getQueryString&#40;&#41;%&gt;
&lt;br&gt;
&lt;br&gt;


&lt;b&gt;StackTrace&#58;&lt;/b&gt;
&lt;br&gt;

&lt;%
java.io.ByteArrayOutputStream bout = new java.io.ByteArrayOutputStream&#40;&#41;; 
exception.printStackTrace&#40;new java.io.PrintStream&#40;bout&#41;&#41;;
String stack = bout.toString&#40;&#41;;
out.println&#40;stack&#41;; 
%&gt;
&lt;br&gt;
&lt;br&gt;&lt;br&gt;&lt;br&gt;

:wink:

B

Opa!
Parece que estamos comecando a nos entender. Funcionou!!!
Agora tah, vamos la. Eu consigo tratar qualquer tipo de erro nesta pagina.

  • erro 404
  • SQL exception
  • Exception
  • e todo o resto
    Tem como fazer uma pagina assim? Ou tenho que fazer uma para cada tipo de erro?
    Como vcs costumam fazer?
G

“Brito_Developer”:
Opa!
Parece que estamos comecando a nos entender. Funcionou!!!
Agora tah, vamos la. Eu consigo tratar qualquer tipo de erro nesta pagina.

  • erro 404
  • SQL exception
  • Exception
  • e todo o resto
    Tem como fazer uma pagina assim? Ou tenho que fazer uma para cada tipo de erro?
    Como vcs costumam fazer?

eu costumo usar uma única página…

:wink:

B

Entao, mas é isto mesmo q eu quero
Como faco isto?
é um monte de if?

Criado 14 de junho de 2005
Ultima resposta 17 de jun. de 2005
Respostas 19
Participantes 3