A linha 7 causa uma exceção proposital, pois o construtor default de “br.com.teste.Aluno” tenta estabelecer uma conexão com um BD que ainda nao está rodando.
Gostaria que o erro fosse desviado para a página “erro.jsp”, mas infelizmente isso nao ocorre.
1 <%@ page errorPage=“erro.jsp”%>
2 <HTML>
3 <HEAD>
4 <TITLE></TITLE>
5 </HEAD>
6 <BODY>
7 <jsp:useBean id=“a” class=“br.com.teste.Aluno” />
8 (…)
No entanto, se a exceção nao for provocada pelo JavaBean, mas sim na própria JSP, a exceção é desviada normalmente para “erro.jsp”, exemplo:
<%@ page errorPage=“erro.jsp” %>
<HTML>
<HEAD>
<TITLE></TITLE>
</HEAD>
<BODY>
<% int x = 5; %>
Divisao por zero levanta um erro <%= 25 / (x-5) %>
</BODY>
</HTML>
Classe Aluno:
package br.com.teste;
import java.sql.*;
public class Aluno {
private String nome;
private String matricula;
private static Connection con;
public Aluno() throws ClassNotFoundException, SQLException{
nome = "";
matricula = "";
if (con == null){
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
// EXCEÇÃO!! DB INDISPONÍVEL !!!
con = DriverManager.getConnection ("jdbc:odbc:senac", "sysdba", "senha");
}
}
}