Paginas de erro

5 respostas
cancao

Olá, vou configurar uma lista de paginas de erro na minha aplicação web conforme o codigo de erro que ocorre, 400, 404 e por aí vai. Só que não quero ter que fazer uma pagina de erro para cada codigo. Gostaria apenas de fazer um e nela customizar as mensagens de erro. Dei uma olhada nas docs de HttpServletRequest e HttpServletResponse e não encontrei como fazer. Há apenas uma maneira de setar o codigo no response. Então, tem como fazer isso?

Até.

5 Respostas

C

Configure no arquivo web.xml o elemento <error-page> para cada código de erro, sendo que o caminho da Servlet ou JSP que criará a página de erro deverá ser o mesmo para todos:

Ex:
<web-app>

<error-page>
<error-code>400</error-code>
<location>CaminhodeSuaServletOuJSP</location>
<error-page>

</web-app>

O Container Servlet automáticamente irá inserir o atributo “javax.servlet.error.status_code” no escopo de requisição. Portanto na servlet ou JSP que manipula os erros você poderá obter o código de erro através de:

request.getAttribute(“javax.servlet.error.status_code”)

Espero que tenha lhe ajudado. Um abraço. :slight_smile:

leomc

é possível enviar erro para um email toda vez que ele ocorrer? gostaria de redireciona o usuário para uma página personalizada e mandar um email para mim com o erro. A página personalizada já está ok, mas não sei como capturar o erro. Não me refiro ao código do erro, me refiro ao erro do tomcat.

cancao

Se sua pagina de erro estiver com a seguinte diretiva:

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

Vc vai ter acesso a exception que ocorreu num objeto chamado logicamente de exception. Ele vai conter o erro ocorrido. Eu já pensei em fazer algo como vc está falando, mas, no fim das contas, um sistema de logs caiu bem melhor.

Até.

leomc

hoje que voltei a olha isso aqui… tá “tudo” ok só que na página de erro o objeto exception está null. Já tentei de tudo. vo um monte de emplos na internet, mas não acho o erro;

página de erro:

&lt;%@ page isErrorPage="true" %&gt; 
&lt;b&gt;&lt;%= exception %&gt;&lt;/b&gt;

Tô tentando imprimir só a referencia pq se chamar algum método de exception vou lançar outra exception.

M

“leomc”:
hoje que voltei a olha isso aqui… tá “tudo” ok só que na página de erro o objeto exception está null. Já tentei de tudo. vo um monte de emplos na internet, mas não acho o erro;

página de erro:

&lt;%@ page isErrorPage="true" %&gt; 
&lt;b&gt;&lt;%= exception %&gt;&lt;/b&gt;

Tô tentando imprimir só a referencia pq se chamar algum método de exception vou lançar outra exception.

Não seria assim ?

<%= exception.printStackTrace()%>

Abs

Criado 21 de novembro de 2003
Ultima resposta 6 de abr. de 2004
Respostas 5
Participantes 4