Os materiais didáticos aqui disponibilizados estão licenciados através de Creative Commons Atribuição-SemDerivações-SemDerivados CC BY-NC-ND. Você possui a permissão para visualizar e compartilhar, desde que atribua os créditos do autor. Não poderá alterá-los e nem utilizá-los para fins comerciais.
Atribuição-SemDerivações-SemDerivados
CC BY-NC-ND
Cursos / Informática para Internet / Desenvolvimento Web II / Aula
A Listagem 9 apresenta o código da classe CadastrarMotoristaMBean. Observe, mais uma vez, que as alterações se concentraram nos métodos cadastrar() e getMotoristas().
package br.ufrn.imd.controllers;
import java.util.ArrayList;
import java.util.List;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.context.FacesContext;
import br.ufrn.imd.dao.MotoristaDao;
import br.ufrn.imd.model.Motorista;
/**
* Controller para cadastrar motoristas.
* @author itamir.filho
*
*/
@ManagedBean
@SessionScoped
public class CadastrarMotoristaMBean {
private Motorista motorista;
private List<Motorista> motoristas;
public CadastrarMotoristaMBean() {
motorista = new Motorista();
motoristas = new ArrayList<Motorista>();
}
public String entrarCadastro(){
return "/form_motorista.jsf";
}
public String voltar(){
return "/index.jsf";
}
public String cadastrar() {
MotoristaDao motoristaDao = new MotoristaDao();
motoristaDao.inserirMotorista(motorista);
motorista = new Motorista();
FacesMessage msg = new FacesMessage("Motorista cadastrado com sucesso!");
msg.setSeverity(FacesMessage.SEVERITY_INFO);
FacesContext.getCurrentInstance().addMessage("", msg);
return "/form_motorista.jsf";
}
public Motorista getMotorista() {
return motorista;
}
public void setMotorista(Motorista motorista) {
this.motorista = motorista;
}
public List<Motorista> getMotoristas() {
MotoristaDao motoristaDao = new MotoristaDao();
motoristas = motoristaDao.buscarTodosMotoristas();
return motoristas;
}
public void setMotoristas(List<Motorista> motoristas) {
this.motoristas = motoristas;
}
}
Por fim, vamos à Listagem 10, a qual apresenta o código da classe CadastrarOnibusMBean. Observe que as alterações se concentraram nos métodos cadastrar() e getListagem().
package br.ufrn.imd.controllers;
import java.util.ArrayList;
import java.util.List;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.context.FacesContext;
import br.ufrn.imd.dao.OnibusDao;
import br.ufrn.imd.model.Cobrador;
import br.ufrn.imd.model.Empresa;
import br.ufrn.imd.model.Linha;
import br.ufrn.imd.model.Motorista;
import br.ufrn.imd.model.Onibus;
/**
* Controller para cadastrar os ônibus.
* @author itamir.filho
*
*/
@ManagedBean
@SessionScoped
public class CadastrarOnibusMBean {
private Onibus onibus;
private List<Onibus> listagem;
public CadastrarOnibusMBean() {
iniciarValores();
listagem = new ArrayList<Onibus>();
}
private void iniciarValores() {
onibus = new Onibus();
onibus.setMotorista(new Motorista());
onibus.setLinha(new Linha());
onibus.setEmpresa(new Empresa());
onibus.setCobrador(new Cobrador());
}
public String entrarCadastro(){
return "/form_onibus.jsf";
}
public String listar(){
return "/list_onibus.jsf";
}
public String voltar(){
return "/index.jsf";
}
public String cadastrar() {
OnibusDao onibusDao = new OnibusDao();
onibusDao.inserirOnibus(onibus);
iniciarValores();
FacesMessage msg = new FacesMessage("Ônibus cadastrado com sucesso!");
msg.setSeverity(FacesMessage.SEVERITY_INFO);
FacesContext.getCurrentInstance().addMessage("", msg);
return "/form_onibus.jsf";
}
public Onibus getOnibus() {
return onibus;
}
public void setOnibus(Onibus onibus) {
this.onibus = onibus;
}
public List<Onibus> getListagem() {
OnibusDao onibusDao = new OnibusDao();
listagem = onibusDao.buscarTodosOnibus();
return listagem;
}
public void setListagem(List<Onibus> listagem) {
this.listagem = listagem;
}
}
Pronto, com essas alterações nos controllers que se resumem a instanciar classes do pacote br.ufrn.imd.dao e utilizar seus métodos de inserção e busca, nossa aplicação JSF está pronta para utilizar o banco de dados “siturb” para armazenar suas informações. Certifique-se que o driver do MySQL (arquivo mysql-connector-java-8.0.11.jar) está instalado na aplicação tanto no Java Build Path como na pasta WEB-INF/lib (se tiver problemas com o seu projeto não localizando o driver MySQL). Após essas alterações, inicie sua aplicação e acesse a URL http://localhost:8080/SITURB/ para ver o resultado.
Assim, chegamos ao fim da nossa aula! Agora você já sabe como criar aplicações web com o framework JSF e utilizar um banco de dados para armazenamento de informações. Que tal pegar aquela ideia e criar um produto comercial?
Versão 5.3 - Todos os Direitos reservados