1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

dúvida sobre a tag <error-page>

Estou estudando a tag no head first servlet&jsp e fazendo testes no eclipse pra reforçar o entendimento, mas não estou conseguindo reproduzir o comportamento desta tag no xml de acordo com o que é escrito no livro.

No livro diz que para o xml abaixo, a tela errorPage.jsp seria exibida para todas as excessões, exceto para excessões do tipo ArithmeticException, na qual a tela arithmeticError.jsp seria a tela exibida.

<error-page>
  <exception-type>java.lang.Throwable</exception-type>
  <location>/errorPage.jsp</location>
</error-page>
<error-page>
  <exception-type>java.lang.ArithmeticException</exception-type>
  <location>/arithmeticError.jsp</location>
</error-page>

Escrevi o seguinte arquivo jsp para lançar a ArithmeticException, mas continuo a ver sempre a tela errorPage.jsp, que deveria somente ser exibida para todas as outras excessões, e não para ArithmeticException's.

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!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>Insert title here</title>
  </head>
  <body>
    <%
    int x = 2 / 0;
    out.print(x);
    %>
  </body>
</html>

Quando retiro a tag da excessão Throwable no xml, e deixo somente a tag da excessão ArithmeticExcepton, dai sim vejo a tela arithmeticError.jsp para a excessão lançada pela divisão por zero.

Achei que poderia ser por causa da ordem das tags no xml, ou algo parecido com a ordem das Exceptions no código em java, mas isso não fez diferença alguma. Alguma idéia do que pode estar errado?

  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

1 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags web.xml jsp exception ou faça a sua própria pergunta.