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.
[code]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;
}
}
}[/code]
e aqui está o meu jsp
[code]<%–
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”%>
<%
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>
[/code]
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>
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.