Testei a classe abaixo no java e deu tudo certo. Acontece que quando tento utilizá-la num JPS conteiner dá pau de NullPointerException. Já revisei várias vezes e não consigo achar o erro. Alguém pode ajudar?
Código no JSP:
<%
xUsers usuario = new xUsers();
String[] dadosUsuario = new String[4];
dadosUsuario[0] = "apelido";
dadosUsuario[1] = "fabricio";
dadosUsuario[2] = "senha";
dadosUsuario[3] = "123";
String sql = usuario.prepareSQL("insert", "users", "", dadosUsuario);
usuario.runSQL(sql);
%>
Código da classe usuario:
public class xUsers extends xConnection{
public xUsers(){
Open("cde","root","");
}
public boolean addUser(String[] dadosUsuario){
runSQL(prepareSQL("insert", "users", "", dadosUsuario));
return true;
}
else
return false;
}
}
import java.sql.*;
public class xConnection{
private Connection conn;
private Statement stm;
private PreparedStatement pstm;
private ResultSet rs;
protected String driver = "com.mysql.jdbc.Driver";
xConnection(){
conn = null;
stm = null;
pstm = null;
rs = null;
}
public void Open(String banco, String user, String senha)
{
try
{
Class.forName(driver);
conn = DriverManager.getConnection("jdbc:mysql://localhost/"+banco+"?user="+user+"&password="+senha);
stm = conn.createStatement();
}
catch (SQLException e){
System.out.println("Não foi possível estabelecer conexão com o banco de dados");
}
catch(ClassNotFoundException e){
e.printStackTrace();
}
}
public void runSQL(String sql){
try{
stm.executeUpdate(sql);
}
catch(SQLException e){
System.out.println("Erro SQL. Erro: " + e);
}
}
public void Close(){
try{
if (conn != null) conn.close();
}
catch(SQLException e){
System.out.println("Erro ao fechar banco. Erro: " + e);
}
}
}