É muito importante dentro de uma aplicação web, centralizar em alguma classe a execução de queries em algum SGBD pois desta forma é possível garantir mais segurança e confiabilidade na aplicação.
Neste código, criei uma classe que estabelece a conexão com um SGBD, executa uma query SQL passada por parâmetro e fecha conexão.
A conexão neste exemplo utiliza o JDBC.
No código também há o exemplo de criação de um objeto utilizando a classe.
<%! import java.sql.*; public class AcessoBD{ /************************************************************* ATRIBUTOS *************************************************************/ //Banco de Dados private String NomeDSN; private String ConexaoDSN; private Connection objConexao; private Statement objComando; /************************************************************* CONSTRUTOR *************************************************************/ public AcessoBD(){ // Inicializando os atributos NomeDSN = "bd_teste"; ConexaoDSN = "jdbc:odbc:" + NomeDSN; } /************************************************************* PROPRIEDADES *************************************************************/ private String getConexaoDSN(){ return ConexaoDSN; } /************************************************************* MÉTODOS *************************************************************/ private Connection AbreConexaoBD(){ Connection objCon; // Abrindo a conexão com o banco try{ Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); objCon = DriverManager.getConnection(getConexaoDSN(), "", ""); //System.out.println ("Conexao com o banco de dados OK."); return objCon; } catch(ClassNotFoundException cnf){ System.out.println ("Classe JDBC Driver nao encontrada."); return null; } catch(SQLException sql){ System.out.println ("Erro ao se conectar com o banco de dados."); return null; } catch(Exception e){ System.out.println (e.getMessage()); return null; } } public ResultSet ExecutaSQL(String strSQL){ objConexao = AbreConexaoBD(); try{ objComando = objConexao.createStatement(); // Executando a query ResultSet objRS = objComando.executeQuery(strSQL); // Retornando o ResultSet return objRS; } catch(Exception e){ System.out.println (e.getMessage()); return null; } } public void FechaConexaoBD(){ try{ objComando.close(); objConexao.close(); } catch(Exception e){ System.out.println ("Nao foi possivel fechar a conexao com o banco de dados. " + e.getMessage()); } } } %> <% // Exemplo de chamada AcessoBD objAcessoBD = new AcessoBD(); ResultSet objRS = objAcessoBD.ExecutaSQL("SELECT * FROM TBCONTATOS"); if (objRS != null){ while (objRS.next()){ out.println (objRS.getString("CONTATO_NOME")); } objRS.close(); } else{ out.println ("Não foram encontrados contatos."); } objAcessoBD.FechaConexaoBD(); %>