Tenho uma classe que conectar ao banco de dados e quando eu importo ela para conectar dentro do jsp da tudo certo, o problema e que eu estou tentando fazer emitir uma exception para que quando o nome ou senha do úsuario esteja errado ou não exista ao invés de apareçer (HTTP STATUS 500 javalang.nullpointerexception) apareça uma simples mensagem de erro.
Aqui está a minha classe de conexão com o banco.
package classes;
import java.sql.*;
public class Conexao{
public Connection conectar(){
String url = "jdbc:postgresql://localhost/java_site"; // Quando modificar aqui exibir mensagem de erro para o usuario final ao invés do HTTP 500.
String usuario = "postgres"; // Quando modificar aqui exibir mensagem de erro para o usuarioi final ao invés do HTTP 500.
String senha = "maclar1m"; // Quando modificar aqui exibir mensagem de erro para o usuarioi final ao invés do HTTP 500.
try{
Class.forName("org.postgresql.Driver").newInstance();
Connection conn = DriverManager.getConnection(url, usuario, senha);
return conn;
}
catch(NullPointerException nullerro)
{
System.out.println("Usuario ou Senhas Inválidos "+nullerro.getMessage());
return null;
}
catch(SQLException ex){
System.out.println("SQLException: " + ex.getMessage());
System.out.println("SQLState: " + ex.getSQLState());
System.out.println("VendorError: " + ex.getErrorCode());
return null;
}
catch(Exception e){
System.out.println("Problemas ao tentar conectar com o banco de dados: " + e);
return null;
}
}
}
e aqui está o meu jsp
<%--
Document : index
Created on : 23/06/2012, 04:10:16
Author : Geyson
--%>
<%@page import="java.sql.*"%>
<%@page contentType="text/html" pageEncoding="UTF-8" import="classes.Conexao"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<h1>
<%
Conexao acesso = new Conexao();
Connection caminho = acesso.conectar();
if (caminho != null) {
out.println("Conexão efetuada com sucesso!<br/>" + caminho);
} else {
out.println("Não foi possivel estabeleçer conexão.");
finalize();
}
Statement st = caminho.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);
ResultSet rs = st.executeQuery("select * from bairro order by bai_codigo");
%>
</p>
</h1>
</body>
</html>
da maneira como está, ta conectando e exibindo a mensagem conexão realizada com sucesso, porém se eu modifico os valores do acesso ao banco ele exibe o HTTP STATUS 500 mais eu quero que exiba uma mensagem.
Sou iniciante, obrigado a todos que poderem me ajudar.