@Day_Claudino escreveu:
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
<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>
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(c)}: 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
Mensagens: 2
Participantes: 2