[Resolvido] Erro Method not found

Pessoal, estou com dificuldade de fazer a autenticação do usuario que está registrado em banco de dados e está ocorrendo o erro javax.el.MethodNotFoundException: /index.xhtml @18,84 action="#{loginFaces.valicaoDeLogin}": Method not found: controller.LoginFaces@fd3ee0e.valicaoDeLogin() .


Classe LoginDTO


package dto;

public class LoginDTO {

    private String usuario;
    private String senha;

    public LoginDTO() {
    }

    public LoginDTO(String usuario, String senha) {
        this.usuario = usuario;
        this.senha = senha;
    }

    
    public String getUsuario() {
        return usuario;
    }

    public void setUsuario(String usuario) {
        this.usuario = usuario;
    }

    public String getSenha() {
        return senha;
    }

    public void setSenha(String senha) {
        this.senha = senha;
    }
    
    
}

Classe DaoUtil


package model;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.sql.Statement;


public abstract class DaoUtil {
    private Connection cx = null;
    
    private Connection getConection() throws SQLException, ClassNotFoundException{ //conexão padrão
        if(this.cx == null){                
            String url = "jdbc:mysql://localhost:3306/helpus";
            String psw = "";
            String user = "root";                         
            Class.forName("com.mysql.jdbc.Driver");
            cx = DriverManager.getConnection(url, user, psw);
        }
        return this.cx;
    }
    
    public void getFechaConnection() throws SQLException{  //fecha conexão
        if(this.cx != null){
            this.cx.close(); 
            this.cx = null;
        }
        
    }
    
    
    public PreparedStatement getPreparedStatement(String sql) throws SQLException, ClassNotFoundException{
        return this.getConection().prepareStatement(sql); 
    }   
    
    public Statement getStatement() throws SQLException, ClassNotFoundException{
        return this.getConection().createStatement(); 
    }
    
    
    
}

Classe LoginDAO

package model.DAO;

import java.sql.ResultSet;
import dto.LoginDTO;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import model.DaoUtil;

public class LoginDAO extends  DaoUtil{

    public LoginDAO() {
        super();
    }
    
    public boolean ValidarLogin(LoginDTO login) throws SQLException, ClassNotFoundException{
       boolean retorno;
        String sql = "SELECT usuario, senha FROM tb_usuario WHERE usuario=? and senha=? ";
        
        PreparedStatement ps = super.getPreparedStatement(sql);
        ps.setString(1, login.getUsuario());
        ps.setString(2, login.getSenha());
        
        ResultSet rs = ps.executeQuery();
        
        if(rs.next()){
            rs.getString("usuario");
            rs.getString("senha"); 
            retorno = true;
            
        }else           
            retorno = false;  
        
        ps.close();
        super.getFechaConnection();
        return retorno; 
    } 
    
}

Classe LoginFaces


package controller;

import dto.LoginDTO;
import java.sql.SQLException;
import model.DAO.LoginDAO;


public class LoginFaces {
    private LoginDTO logDTO;
    private LoginDAO logDAO = new LoginDAO();
    
    public LoginFaces() {
        logDTO = new LoginDTO();
    }

    public LoginDTO getLogDTO() {
        return logDTO;
    }

    public void setLogDTO(LoginDTO logDTO) {
        this.logDTO = logDTO;
    }
    
    public String ValicaoDeLogin() throws SQLException, ClassNotFoundException{
        
         if(!logDAO.ValidarLogin(logDTO)){
            
            System.out.println("Login/Senha inválidos"); 
        }
             return "VaiParaPaginaPrincipal";
        
    }
        
}

Página JSF - index

        <h1>Bem Vindo(a) ao Sistema ?!</h1>
        <br/> 
        <h:outputLabel value="Login :"/>
        <h:inputText value="#{loginFaces.logDTO.usuario}"/>
        <br/>
        <h:outputLabel value="Senha :"/>
        <h:inputText value="#{loginFaces.logDTO.senha}"/>
        <br/>
        <h:commandButton value="Entrar" action="#{loginFaces.valicaoDeLogin}"/>

No controller o método começa com letra maiúscula, no html, minúscula

E métodos não começam com letra maiúscula em java né ?

1 curtida

O problema era exatamente esse, muito obrigado!!

1 curtida

Fico feliz por ter ajudado
Poderia marcar minha resposta como solução e encerrar o tópico, por favor?

Abs