Pessoal, estou fazendo um servlet o qual se conecta num banco, as informações do banco de dados eu deixei em um bean que guarda apenas as informações, senha, e função de retorno desses atributos, mas quando rodo meu servlet ele não consegue conectar ao banco de dados… da uma exception de DefaultClassNotFound…
Pessoal, estou fazendo um servlet o qual se conecta num banco, as informações do banco de dados eu deixei em um bean que guarda apenas as informações, senha, e função de retorno desses atributos, mas quando rodo meu servlet ele não consegue conectar ao banco de dados… da uma exception de DefaultClassNotFound…
Alguém saberia me dizer a causa???
Você poderia postar pelo menos uma parte do seu servlet aí
O pacote LinAdmi está disponivel para o projeto? Não consigo pensar em outra coisa.
bLaCkWiZaRd
No desespero eu copiei o Database que ele não encontra pra td q eh diretório
em que diretório ele deveria estar??? eu to pirando de vez :roll:
ehhehehhe =P preciso de uma :idea:
bLaCkWiZaRd
Kra sei la o que tava acontecendo… comecei td do zero de novo …
so que agora foi hehehehhehe :roll: agora qnd eu tento inicializar o DB ta dando otro erro, ele acusa que o DB ja esta aberto ai vai o codigo…
parte da servlet que acessa o DB
try{
Database db = new Database();
db.openConnection();
out.println("db: "+ db.isConnected());
db.closeConnection();
}
catch(Exception e){
e.printStackTrace();
out.println("ERRO: " + e.toString());
}
o BEAN que acessa o banco
packagebwpkg;importjava.beans.*;importjava.io.Serializable;importjava.sql.*;/** * @author tiago */publicclassDatabaseextendsObjectimplementsSerializable{privateConnectionconn;privatebooleanpv_status;publicDatabase()throwsClassNotFoundException{try{pv_status=false;Class.forName("com.postgresql.jdbc.Driver");}catch(ClassNotFoundExceptioneclass){System.err.println("EI2P ERROR:Database.Database() Driver not Found. "+eclass.toString());}}publicvoidopenConnection()throwsSQLException{if(!this.isConnected()||!conn.isClosed()){try{conn=DriverManager.getConnection(Configuration.getDBUrl()+Configuration.getDBHost()+"/"+Configuration.getDBName()+"?charSet=ISO8859-1",Configuration.getDBUser(),Configuration.getDBPassword());conn.setAutoCommit(false);conn.setTransactionIsolation(Connection.TRANSACTION_READ_COMMITTED);if(!conn.isClosed())pv_status=true;elsethrownewSQLException("EI2P ERROR:Database.openConnection Could make a connection with Database");}catch(SQLExceptionesql){thrownewSQLException("EI2P ERROR:Database.openConnection Could make a connection with Database "+esql.toString());}}thrownewSQLException("EI2P ERROR:Database.openConnection database connection already open");}publicvoidcloseConnection()throwsSQLException{if(this.isConnected()||!conn.isClosed()){try{conn.close();if(conn.isClosed())pv_status=false;elsethrownewSQLException("EI2P ERROR:Database.closeConnection() Could make a connection with database");}catch(SQLExceptionesql){thrownewSQLException("EI2P ERROR:Database.closeConnection() Could make a connection with database "+esql.toString());}}elsethrownewSQLException("EI2P ERROR:Database.closeConnection() database connection already closed ");}/** * Method beginTransaction. * @throws SQLException */publicvoidbeginTransaction()throwsSQLException{try{conn.setSavepoint();}catch(SQLExceptionesql){thrownewSQLException("EI2P ERROR:Database.beginTransaction() Cannot set the save point. "+esql.toString());}}/** * Method commit. * @throws SQLException */publicvoidcommit()throwsSQLException{try{conn.commit();}catch(SQLExceptionesql){thrownewSQLException("EI2P ERROR:Database.commit() Cannot commit the transaction. "+esql.toString());}}/** * Method rollback. * @throws SQLException */publicvoidrollback()throwsSQLException{try{conn.rollback();}catch(SQLExceptionesql){thrownewSQLException("EI2P ERROR:Database.rollback() Cannot rollback the transaction. "+esql.toString());}}/** * Method executeQuery. * @param sql * @return ResultSet * @throws SQLException */publicResultSetexecuteQuery(Stringsql)throwsSQLException{try{java.sql.Statementstat=conn.createStatement();ResultSetrs=stat.executeQuery(sql);returnrs;}catch(SQLExceptionesql){thrownewSQLException("EI2P ERROR:Database.executeQuery(String sql) Statement couldn't be created. "+esql.toString());}}publicintexecuteUpdate(Stringsql)throwsSQLException{try{java.sql.Statementstat=conn.createStatement();introws=stat.executeUpdate(sql);returnrows;}catch(SQLExceptionesql){thrownewSQLException("EI2P ERROR:Database.executeUpdate(String sql) Statement couldn't be created. "+esql.toString());}}/** * Method isConnected. * @return boolean */publicbooleanisConnected(){returnpv_status;}}
o erro
java.sql.SQLException: EI2P ERROR:Database.openConnection database connection already open
deve ser alguma burrada minha mas ta valendo =PPP agradeço qq ajuda
_fs
Baum cara, admito que não li o codigo todo, mas aqui
if(!this.isConnected() || !conn.isClosed()){
Você executa o código que gera a conexão mesmo que uma conexão já esteja aberta tira aquela exclamação de la hehe
if(!this.isConnected() || !conn.isClosed()){Erro:java.sql.SQLException: EI2P ERROR:Database.openConnection database connection already open
Ta dificiillll uhahuauhauhahuuha aqui as coisa num tao colaborano…
ou eu to sendo mto burro num e possivel =P
_fs
Cara, são duas coisas diferentes:
Connection = null Connection.isClosed()
mas se você tenta perguntar se Connection.isClosed() quando Connection = null, ele aponta NullPointerException
e você quer criar uma conexão apenas se a conexão for igual a null E se a conexão não estiver fechada, lembrando que o metodo isClosed só retorna TRUE se o metodo close() foi chamado previamente.
Então tudo o que você precisa perguntar é: if( Connection == null )
e para fechar, garantindo if( Connection != null || !Connection.isClosed() )
Bem, posso estar enganado, mas acho que o caminho é mais ou menos por aí
bLaCkWiZaRd
Kra tentei tentei tentei mas não foi…
resultado= ranquei esse maldito is e ta indo sem ele mesmo =PPP, mais tarde eu tento descobrir de novo o que acontece =PPPP