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

Erro ao apresentar a tela de erro

Estou fazendo o curso fj21 da Caelum sobre desenvolvimento web, e estou fazendo o exercício sobre a aparição de uma tela de erro quando o código lança uma exceção, criei o html que deve ser mostrado quando ocorre isso, e configurei no xml para que ela realmente apareça, como mostrado abaixo:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
  <display-name>fj21-agenda</display-name>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
  </welcome-file-list>
  <servlet>
      <servlet-name>servletOiMundo</servlet-name>
      <servlet-class>br.com.caelum.servlet.OiMundo</servlet-class>
  </servlet>
  <servlet-mapping>
      <servlet-name>servletOiMundo</servlet-name>
      <url-pattern>/oi</url-pattern>
  </servlet-mapping>
  <error-page>
      <exception-type>java.sql.SQLException</exception-type>
      <location>/erro.html</location>
  </error-page>
</web-app>

E estou provocando o erro na hora de abrir a conexão com um usuário que não existe.

public Connection getConnection() {
        try {
            return DriverManager
                    .getConnection("jdbc:mysql://localhost:3306/fj21", "toor",
                            "");
        } catch (SQLException e) {
            throw new RuntimeException(e);
        }
    }

Ao invés de mostrar o html que criei, está mostrando a tela de erro padrão do Tomcat, alguém poderia me dizer o porque da minha tela não estar sendo mostrada?

Página erro.jsp

<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Página de erro</title>
</head>
<body>
    Um erro ocorreu!
</body>
</html>
  • tem que configurar o web.xml, tem como passar a esse arquivo?

    Paulo Gustavo   10 de dez de 2014
  • Post editado, eu já tinha editado o web.xml, mesmo assim apresenta o erro.

    Danilo Torres   10 de dez de 2014
  • Você está usando paginas JSP? Se sim, foi adicinado isso "isErrorPage=”true”" ?

    Paulo Gustavo   10 de dez de 2014
  • Estou usando apenas as páginas html, apesar de ter na configuração essas menções a páginas JSP.

    Danilo Torres   10 de dez de 2014
  • hm, eu acho que a pagina de erro tem que ser .jsp. Não estou dando certeza, mas lembro que quando mexi com isso, era .jsp. Podes fazer o teste?

    Paulo Gustavo   10 de dez de 2014
Mostrar todos os 11 comentários>
  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 mysql tomcat web.xml connection ou faça a sua própria pergunta.