Sou iniciante em java estou Tentando fazer um login simples sem permissões de administrador, O colaborador (No caso seria o usuario) entra no sistema com seu nome e senha e se passar pelas verificações redireciona para o menu. Fiz o método controleLogin e está dando erro, porém não sei o que possa ser.
Segue o bean com o métódo do login
@ManagedBean(name = “controladorColaboradores”)
@SessionScoped
public class ControladorColaboradores implements Serializable{
private RepositorioGenerico<Colaboradores> repositorioColaboradores = null;
private Colaboradores SelectedColab;
public ControladorColaboradores() {
this.repositorioColaboradores = new RepositorioColaboradoresImplemDB();
}
public String inserirColaboradores(Colaboradores c) {
Colaboradores existe = this.recuperaColaboradores(c.getCodigo());
if (existe == null) {
FacesContext.getCurrentInstance().addMessage(null, new FacesMessage("O código já existe, insira um código diferente!"));
} else {
this.repositorioColaboradores.inserir(c);
FacesContext.getCurrentInstance().addMessage(null, new FacesMessage("Cadastro efetuado com sucesso!"));
return "menu.xhtml";
}
return null;
}
public String alterarColaboradores(Colaboradores c) {
FacesContext.getCurrentInstance().addMessage(null,
new FacesMessage("Sucesso", "O Colaboradores foi alterado com sucesso!!"));
this.repositorioColaboradores.alterar(c);
return "index.xhtml";
}
public Colaboradores recuperaColaboradores(int codigo) {
return this.repositorioColaboradores.recuperar(codigo);
}
public void deletarColaboradores(Colaboradores c) {
this.repositorioColaboradores.excluir(c);
}
public List<Colaboradores> recuperarTodosColaboradores() {
return this.repositorioColaboradores.recuperarTodos();
}
public RepositorioGenerico<Colaboradores> getRepositorioColaboradores() {
return repositorioColaboradores;
}
public void setRepositorioColaboradores(RepositorioGenerico<Colaboradores> repositorioColaboradores) {
this.repositorioColaboradores = repositorioColaboradores;
}
public Colaboradores getSelectedColab() {
return SelectedColab;
}
public void setSelectedColab(Colaboradores SelectedColab) {
this.SelectedColab = SelectedColab;
}
public String controleLogin(Colaboradores c) {
List<Colaboradores> listaColaborador = new RepositorioColaboradoresImplemDB().recuperarTodos();
for (int i = 0; i < listaColaborador.size(); i++) {
if (listaColaborador.get(i).getNome().equals(c.getNome()) && listaColaborador.get(i).getSenha().equals(c.getSenha())) {
return "menu.xhtml";
} else {
FacesMessage msg = new FacesMessage("Usuário ou senha inválido!");
FacesContext.getCurrentInstance().addMessage("ERRO", msg);
return "login.xhtml";
}
}
return null;
}
Segue o login.xhtml
<h:body>
<h:form id=“formLogin”>
<p:messages id=“messages” />
<div class="login">
<h:outputLabel for="username" />
<p:inputText id="username" placeholder="nome" value="#{construtorColaboradores.nome}" required="true"
requiredMessage="O Nome deve ser preenchido." /><br/>
<h:outputLabel for="password" />
<p:password id="password" placeholder="senha" value="#{construtorColaboradores.senha}" required="true"
requiredMessage="A senha deve ser preenchida." /><br/>
<p:commandButton value="Entrar" ajax="false" action="#{controladorColaboradores.controleLogin(colaboladores)}" />
</div>
</h:form>
Segue o erro
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:526)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1078)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:655)
at org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:222)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1566)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1523)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:745)
Caused by: javax.faces.FacesException: #{controladorColaboradores.controleLogin©}: java.lang.NullPointerException
at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:118)
at javax.faces.component.UICommand.broadcast(UICommand.java:315)
at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:790)
at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1282)
at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81)
… 28 more
Caused by: javax.faces.el.EvaluationException: java.lang.NullPointerException
at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:101)
at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102)
… 32 more
Caused by: java.lang.NullPointerException
at br.day.Controladores.ControladorColaboradores.controleLogin(ControladorColaboradores.java:99)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at org.apache.el.parser.AstValue.invoke(AstValue.java:245)
at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:277)
at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:105)
at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:87)
… 33 more