}
Passo 3: cliente.java
Crie agora o JavaBeans chamado cliente dentro do package
br.com.cliente.
package br.com.cliente;
/*
@author Camilo
*/
public class Cliente {
private int id;
private String nome = null;
private String email = null;
public Cliente( int id, String nome, String email){
this.id = id;
this.nome = nome;
this.email = email;
}
public Cliente(){
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public String getEmail() {
return email;
}
public void setEmail(String nascimento) {
this.email = nascimento;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
}
Ppasso 4: DAO.java / ClienteDAOImp.java
Crie um package chamado br.com.camilo.dao e coloque a
classe dentro desse package.
Agora vamos criar uma interface DAO.java que possui os
métodos de ação com o DB. Nesse caso, teremos apenas o salvar.
Abaixo, o code da interface.
public class ClienteDAOImp implements DAO {
private Connection conn;
/**
* construtor que se conecta ao banco de dados
* @throws java.lang.Exception se não houver conexão
*/
public ClienteDAOImp( ) throws Exception{
try {
this.conn = ConnectionFactory.getConnection( );
} catch( Exception e ) {
throw new Exception( "Erro: " +
"\n" + e.getMessage( ) );
} }
/**
* Método que insere dados na tabela Clientes
* * @throws java.lang.Exception se não conseguir inserir
*/
public void salvar(Cliente cliente) throws Exception{
PreparedStatement ps = null;
Connection conn = null;
if (cliente == null)throw new Exception("O valor passado não pode ser nulo");
try {
String SQL = "INSERT INTO cliente (nome, email) "+
"values (?, ?)";
conn = this.conn;
ps = conn.prepareStatement(SQL);
ps.setString(1, cliente.getNome());
ps.setString(2, cliente.getEmail( ));
ps.executeUpdate( );
} catch (SQLException sqle) {
throw new
Exception("Erro ao inserir dados "+ sqle);
} finally {
ConnectionFactory.closeConnection(conn, ps);
} }
Passo 6
Crie um package br.com.Controler e crie uma classe chamada
CliControler.java. Esta classe vai executar as ações com base
no que foi solicitado pelo usuário. Se este clicar em salvar, o
controlador vai chamar o método salvar da interface dao.java
implementado pela classe CliDAOimp.
public void setCliente(Cliente cliente) {
this.cliente = cliente;
}
public String novo(){
this.cliente = new Cliente();
return "novo";
}
public String salvar() throws Exception{
DAO dao = new ClienteDAOImp();
dao.salvar(cliente);
return "salvar";
}
}
Passo 7
Crie os arquivos abaixo.
Agora altere o arquivo formAutor.jsp conforme o code a seguir.
Adicione o code abaixo entre
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
Agora altere o arquivo menu.jsp:
para o arquivo forwardToJSF.jsp, deixei assim: <jsp:forward
page=”menu.jsf”/>
para o arquivo cancelado.jsp, deixe conforme a imagem abaixo:
Agora, vamos configurar o arquivo face-web.xml. Portanto, deixe assim:
Passo 1 Crie um schema e uma tabela no mysql com o nome que achar conveniente, aqui chamamos de livraria (schema) e clientes (tabela).
Os campos para tabela foram:
id: Integer autoincrement
nome: varchar
email: varchar
Passo 2 Crie um projeto chamado CadCliJSF e escolha o framework JSF. Se você tem alguma dúvida, veja o primeiro artigo da série.
Vamos Criar a classe de conexão com banco de dados. Para isso crie um new package: br.com.camilo.util e coloque a classe nesse package.
Chamamos aqui de ConnectionFactory
package br.com.integrator.util;
import java.sql.DriverManager; import java.sql.Statement; import java.sql.ResultSet; import java.sql.Connection; import javax.naming.InitialContext; import javax.sql.DataSource;
public class ConnectionFactory {
} Passo 3: cliente.java Crie agora o JavaBeans chamado cliente dentro do package br.com.cliente.
package br.com.cliente;
/*
@author Camilo */ public class Cliente { private int id; private String nome = null; private String email = null;
public Cliente( int id, String nome, String email){ this.id = id; this.nome = nome; this.email = email; } public Cliente(){
} public String getNome() { return nome; }
public void setNome(String nome) { this.nome = nome; }
public String getEmail() { return email; }
public void setEmail(String nascimento) { this.email = nascimento; }
public int getId() { return id; }
public void setId(int id) { this.id = id; } } Ppasso 4: DAO.java / ClienteDAOImp.java Crie um package chamado br.com.camilo.dao e coloque a classe dentro desse package.
Agora vamos criar uma interface DAO.java que possui os métodos de ação com o DB. Nesse caso, teremos apenas o salvar. Abaixo, o code da interface.
package br.com.integrator.dao;
import br.com.cliente.Cliente; import java.util.List;
/*
@author Administrador */ public interface DAO {
// void atualizar(Cliente cliente) throws Exception;
//void excluir(Cliente cliente) throws Exception;
//cliente procurarcliente(Integer id) throws Exception;
void salvar(Cliente cliente) throws Exception;
//List todosclientes() throws Exception;
} Passo 5 Vamos criar a classe que implementa os métodos da interface DAO. Observe que assim fica mais fácil a manutenção e o reuso de código também.
Portanto, no package br.com.camilo.dao, crie uma classe que implementa os a interface dao.java. Aqui chamados de ClienteDAOImp. Veja o code:
package br.com.integrator.dao; import br.com.cliente.Cliente; import br.com.integrator.util.ConnectionFactory; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.SQLException;
public class ClienteDAOImp implements DAO { private Connection conn;
Passo 6 Crie um package br.com.Controler e crie uma classe chamada CliControler.java. Esta classe vai executar as ações com base no que foi solicitado pelo usuário. Se este clicar em salvar, o controlador vai chamar o método salvar da interface dao.java implementado pela classe CliDAOimp.
package br.com.Controler;
import br.com.cliente.Cliente; import br.com.integrator.dao.ClienteDAOImp; import br.com.integrator.dao.DAO;
/*
@author Camilo */ public class CliController {
public Cliente getCliente() { return cliente; }
public void setCliente(Cliente cliente) { this.cliente = cliente; }
public String novo(){ this.cliente = new Cliente(); return "novo"; } public String salvar() throws Exception{ DAO dao = new ClienteDAOImp(); dao.salvar(cliente); return "salvar"; }
} Passo 7 Crie os arquivos abaixo.
Agora altere o arquivo formAutor.jsp conforme o code a seguir. Adicione o code abaixo entre
<%@taglib uri="http://java.sun.com/jsf/core" prefix="f" %> <%@taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
<%@page contentType="text/html" pageEncoding="UTF-8"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
Agora altere o arquivo menu.jsp:
para o arquivo forwardToJSF.jsp, deixei assim: <jsp:forward page=”menu.jsf”/> para o arquivo cancelado.jsp, deixe conforme a imagem abaixo: