Tenho uma tela de login (Primefaces), um controllerLogin, e uma classe DAO que faz a consulta. O controller pega os dados inseridos e passa pro DAO fazer a consulta.
Meu login:
`<?xml version="1.0" encoding="UTF-8"?>
TODO supply a title
<h:outputText value="Usuário: " />
<p:inputText id="txtUsuario"/>
<h:outputText value="Senha: " />
<p:password id="txtSenha"/>
<h:commandButton value="Login" action="#{controllerLogin.verifica()}" id="submitLogin" ></h:commandButton>
</h:panelGrid>
</div>
</h:form>
</body>
`
Meu controller:
`/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package controllers;
import entidades.Produto;
import entidades.Usuario;
import java.io.IOException;
import java.sql.SQLException;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.context.ExternalContext;
import javax.faces.context.FacesContext;
import jdbc.UsuarioJDBCDAO;
/**
*
-
@author Fabricio
*/
@ManagedBean
@SessionScoped
public class controllerLogin {UsuarioJDBCDAO ujdbc = new UsuarioJDBCDAO();
public void verifica() throws IOException, SQLException{
ExternalContext ec = FacesContext.getCurrentInstance().getExternalContext(); Usuario u = new Usuario(); u.setLogin(ec.getRequestParameterMap().get("formLogin:txtUsuario")); u.setSenha(Integer.parseInt(ec.getRequestParameterMap().get("formLogin:txtSenha"))); if(ujdbc.verificar(u) == 1){ FacesMessage message = new FacesMessage("Existe", "Usuario existe!"); FacesContext.getCurrentInstance().addMessage(null, message); } else { FacesMessage message = new FacesMessage("Não Existe", "Usuario não existe!"); FacesContext.getCurrentInstance().addMessage(null, message); }
}
}
`
No método verificar do UsuariojdbcDao só retorna que ele existe, mesmo eu inserindo qualquer coisa. Preciso fazer essa validação. É exercício de faculdade.
Segue meu UsuarioJDBCDAO:
`/*
- To change this license header, choose License Headers in Project Properties.
- To change this template file, choose Tools | Templates
- and open the template in the editor.
*/
package jdbc;
import dao.DAO;
import entidades.Produto;
import entidades.Usuario;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.faces.application.FacesMessage;
import javax.faces.context.FacesContext;
/**
*
-
@author Fabricio
*/
public class UsuarioJDBCDAO extends DAO implements UsuarioDAO{PreparedStatement stmt = null;
@Override
public int verificar(Usuario usuario) throws SQLException {Connection conexao = getConexao(); String query = "Select count(1) from usuario where login = ? and senha = ?"; stmt = conexao.prepareStatement(query); stmt.setString(1, usuario.getLogin()); stmt.setInt(2, usuario.getSenha()); int count = 0; ResultSet retorno = stmt.executeQuery(); while (retorno.next()) { ++count; } conexao.close(); if (count == 0) { return 0; } else { return 1; }
}
@Override
public void alterar(Usuario usuario) {
throw new UnsupportedOperationException(“Not supported yet.”); //To change body of generated methods, choose Tools | Templates.
}@Override
public void excluir(Usuario usuario) {
throw new UnsupportedOperationException(“Not supported yet.”); //To change body of generated methods, choose Tools | Templates.
}@Override
public List listar() {
throw new UnsupportedOperationException(“Not supported yet.”); //To change body of generated methods, choose Tools | Templates.
}@Override
public Usuario consultar(Usuario usuario) {
throw new UnsupportedOperationException(“Not supported yet.”); //To change body of generated methods, choose Tools | Templates.
}
}
`