Olá pessoal,
estou recebendo nullPointer e não estou conseguindo consertar o meu código.
DAO:public boolean isValidLoginAndPassword(String loginEmail, String password){
boolean valid;
Session ses = session;
Query query = ses.createQuery("from UserLogin usr where usr.loginEmail = :le and usr.password = :pw");
query.setString("le", loginEmail);
query.setString("pw", password);
UserLogin usr = (UserLogin) query.uniqueResult();
valid = (usr != null);
ses.getTransaction().commit();
ses.close();
return valid;
}
public String doLogin() throws Exception{
boolean logado = false;
HttpSession session = (HttpSession) FacesContext.getCurrentInstance().getExternalContext().getSession(false);
HttpServletResponse rp = (HttpServletResponse) FacesContext.getCurrentInstance().getExternalContext().getResponse();
System.out.println("emailLong e senha validos: " + userLoginDao.isValidLoginAndPassword(loginEmail, TransformaStringMD5.md5(senha)));
logado = userLoginDao.isValidLoginAndPassword(userLogin.getLoginEmail(), TransformaStringMD5.md5(userLogin.getPassword()));
System.out.println("doLogin >>>>>> " + senha);
if(logado){
session.setAttribute("user", logado);
rp.sendRedirect("http://localhost:8080/sis/index.faces");
return "loginSucesso";
}else{
session.setAttribute("user", null);
session.removeAttribute("user");
rp.sendRedirect("http://localhost:8080/sis/login.faces");
return "goLogin";
}
<legend>Login</legend>
<h:panelGrid columns="2">
<h:outputText id="loginLabel" value="Login" styleClass="rotulos" />
<h:inputText id="login" value="#{userLoginFace.loginEmail}" required="true" styleClass="edit" />
<h:outputText id="loginInput" value="Senha" styleClass="rotulos" />
<h:inputSecret id="senha" required="true" value="#{userLoginFace.senha}" styleClass="edit" />
<h:commandButton id="botao" value="Entrar" action="#{userLoginFace.doLogin}" />
<h:message for="login" />
<h:message for="senha" />
</h:panelGrid>
Mudando login para: admin ERROR - An exception occurred javax.faces.FacesException: Error calling action method of component with id j_id_jsp_832628529_1:botao at org.apache.myfaces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:72) at javax.faces.component.UICommand.broadcast(UICommand.java:143) at org.ajax4jsf.component.AjaxViewRoot.processEvents(AjaxViewRoot.java:321) at org.ajax4jsf.component.AjaxViewRoot.broadcastEvents(AjaxViewRoot.java:296) at org.ajax4jsf.component.AjaxViewRoot.processPhase(AjaxViewRoot.java:253) at org.ajax4jsf.component.AjaxViewRoot.processApplication(AjaxViewRoot.java:466) at org.apache.myfaces.lifecycle.InvokeApplicationExecutor.execute(InvokeApplicationExecutor.java:32) at org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:103) at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:76) at javax.faces.webapp.FacesServlet.service(FacesServlet.java:151) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:178) at org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290) at org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:390) at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:517) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at br.com.sis.filter.AuthFilter.doFilter(AuthFilter.java:27) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at br.com.sis.filter.HibernateSessionFilter.doFilter(HibernateSessionFilter.java:22) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) at java.lang.Thread.run(Unknown Source) Caused by: javax.faces.el.EvaluationException: org.apache.jasper.el.JspELException: /login.jsp(31,85) '#{userLoginFace.doLogin}' java.lang.NullPointerException at javax.faces.component._MethodExpressionToMethodBinding.invoke(_MethodExpressionToMethodBinding.java:82) at org.apache.myfaces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:57) ... 33 more Caused by: org.apache.jasper.el.JspELException: /login.jsp(31,85) '#{userLoginFace.doLogin}' java.lang.NullPointerException at org.apache.jasper.el.JspMethodExpression.invoke(JspMethodExpression.java:77) at javax.faces.component._MethodExpressionToMethodBinding.invoke(_MethodExpressionToMethodBinding.java:78) ... 34 more Caused by: java.lang.NullPointerException at br.com.sis.dao.UserLoginDao.isValidLoginAndPassword(UserLoginDao.java:28) at br.com.sis.faces.UserLoginFace.doLogin(UserLoginFace.java:80) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.apache.el.parser.AstValue.invoke(AstValue.java:172) at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:276) at org.apache.jasper.el.JspMethodExpression.invoke(JspMethodExpression.java:68) ... 35 moreO método isValidLoginAndPassword funciona, pois o seguinte teste retorna true:
Configuration configuration = new AnnotationConfiguration();
configuration.configure();
SessionFactory sf = configuration.buildSessionFactory();
Session session = sf.openSession();
Transaction tx = session.beginTransaction();
UserLoginDao dao = new UserLoginDao(session);
System.out.println(">>>>>>>>>>>>>>>>>>>>>>>>> " + dao.isValidLoginAndPassword("admin", "123456"));
E agora?