Bom, criei um servlet que deveria connectar em um banco de dados e inserir informações nele, no entanto aparece a mensagem de erro que não foi possivel connectar ao banco. Notei que o mesmo aconteceu com meus applets, no entanto ao passar o mesmo código para um aplicativo comum, funcionou.
Fico pensando se preciso fazer algo a mais, talves alguma questão de configuração do mysql ou do tomcat6.
obs: uso linux debian
os codigos
metodo responsável pela conexao
package cap14;
import java.sql.*;
public class BD {
public Connection connection = null;
private final String DRIVER = "com.mysql.jdbc.Driver";
private final String DBNAME = "banco";
private final String URL = "jdbc:mysql://localhost:3306/" + DBNAME;
private final String LOGIN = "root";
private final String SENHA = "123";
/**
* metodo que faz conexao com o banco de dados
* retorna true se houve sucesso, ou false em caso negativo
*/
public boolean getConnection() {
try {
Class.forName(DRIVER);
connection = DriverManager.getConnection(URL, LOGIN, SENHA);
System.out.println("Conectou");
return true;
} catch (ClassNotFoundException erro) {
System.out.println("Driver nao encontrado " + erro.toString());
return false;
} catch (SQLException erro) {
System.out.println("Falha ao conectar " + erro.toString());
return false;
}
}
public void close() {
try {
connection.close();
System.out.println("Desconectou");
} catch (SQLException erro) {}
}
}
metodo principal
package cap14;
import java.io.*;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import javax.servlet.http.*;
public class Cadastro extends HttpServlet {
private PrintStream tela = null;
private PreparedStatement statement;
private String men = "Dados armazenados com sucesso!";
public void doGet(HttpServletRequest req, HttpServletResponse res) {
BD bd = new BD();
try {
tela = new PrintStream(res.getOutputStream());
String codigo = req.getParameter("codigo");
String titulo = req.getParameter("titulo");
String genero = req.getParameter("genero");
String produtora = req.getParameter("produtora");
String data = req.getParameter("data");
if (!codigo.equals("") && !titulo.equals("") && !genero.equals("")
&& !produtora.equals("") && !data.equals("")) {
if (bd.getConnection()) {
String sql = "INSERT INTO Filmes VALUES (?,?,?,?,?)";
statement = bd.connection.prepareStatement(sql);
statement.setString(1, codigo);
statement.setString(2, titulo);
statement.setString(3, genero);
statement.setString(4, produtora);
statement.setString(5, data);
if (statement.executeUpdate() == 0) {
men = "Falha na gravação, verifique se o código do Filme ja existe!";
}
bd.close();
}
else {
men = "Falha na conexão ao banco de dados!";
}
}
else {
men = "Dados incompletos, verifique o preenchimento dos campos.";
}
}
catch (IOException erro) {
erro.printStackTrace();
}
catch (SQLException erro) {
erro.printStackTrace();
}
tela.println("<html><body bgcolor='beige'>");
tela.println(men);
tela.println("<a href='cadastro.html'>voltar</a>");
tela.println("</body></html>");
}
}
obrigado