Boa tarde!
Estou fazendo um projeto de estudo para umas das matérias do curso. A ideia é fazer com que uma página possa fazer alguns cadastros básicos utilizando o MySql por trás. porém estou tendo algumas dificuldades e não mais como andar…
Estou utilizando o JSF, Mysql e pretendo utilizar o hibernate. Estou no começo do projeto, ainda nem iniciei nada utilizando hibernate, estou apenas fazendo alguns testes e já estou com dificuldades para conectar ao banco.
O que tenho hoje:
- arquivo hibernate.cfg.xml:
identar texto pré-formatado por 4 espaços <?xml version="1.0" encoding="UTF-8"?>
- Uma classe básica para testar a conexão
package pack1;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
public class Teste {
public static void teste() throws Exception {
Connection con = null;
Class.forName("com.mysql.jdbc.Driver");
con = DriverManager.getConnection("jdbc:mysql://127.0.0.1/repositorio", "root", "adminadmin");
String query = " insert into molecula (col1, col2, col3, col4, col5, col6, col7)"
+ " values (?, ?, ?, ?, ?, ?, ?)";
// prepared statement data
PreparedStatement preparedStmt = con.prepareStatement(query);
preparedStmt.setString (1, "ifpb");
preparedStmt.setString (2, "ifpb");
preparedStmt.setString (3, "ifpb");
preparedStmt.setString (4, "ifpb");
preparedStmt.setString (5, "ifpb");
preparedStmt.setString (6, "ifpb");
preparedStmt.setString (7, "ifpb");
// execute the preparedstatement
preparedStmt.execute();
con.close();
}
public static void main(String[] args) throws Exception {
Teste.teste();
}
}
- um bean para ser utilizado pela página JSF:
package pack1;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import java.io.Serializable;
import javax.faces.application.FacesMessage;
import javax.faces.context.FacesContext;
@ManagedBean
@SessionScoped
public class HelloBean implements Serializable {
// private static final long serialVersionUID = 1L;
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String teste() {
try {
Teste.teste();
} catch (Exception e) {
FacesContext context = FacesContext.getCurrentInstance();
context.addMessage(null, new FacesMessage("Erro - " + e.getMessage()));
}
return "welcome";
}
}
- a página JSF em si, que deveria funcionar:
JSF 2.0 Hello World Example - hello.xhtml
Ao tentar rodar, tenho o seguinte erro:
- Erro - Cannot open file:C:\novo\glassfish-4.1\glassfish\domains\domain1/config/keystore.jks [Keystore was tampered with, or password was incorrect]
Não cheguei a configurar nada no servidor Glassfish. Devo utilizar algum outro, como o Tomcat (não o utilizei porque estava dando erro, mas posso verificar sua instalação), ou estou deixando de fazer alguma configuração no servidor? É necessário configurar algo relacionado ao banco de dados no glassfish?
Quando rodo o mesmo código (que está na página) numa classe à parte, apenas uma classe simples para teste, tudo é processado sem erros. Os dados são inseridos no banco.