Olá ,
estou com erro abaixo na hora que digito usuario e senha na tela de login.
O que pode ser ???
alguém pode me ajudar …
abs
11:32:42,889 GRAVE [javax.enterprise.resource.webcontainer.jsf.application] Error Rendering View[/pages/protected/user/listAllDogs.xhtml]: javax.el.ELException: /pages/protected/user/listAllDogs.xhtml: javax.ejb.EJBException: org.jboss.injection.manager.spi.InjectionException: javax.naming.NamingException: Could not dereference object [Root exception is javax.naming.NamingException: Could not dereference object [Root exception is javax.naming.NameNotFoundException: UserDAO not bound]]
at com.sun.faces.facelets.compiler.TextInstruction.write(TextInstruction.java:85) [:2.0.3-]
at com.sun.faces.facelets.compiler.UIInstructions.encodeBegin(UIInstructions.java:78) [:2.0.3-]
at com.sun.faces.facelets.compiler.UILeaf.encodeAll(UILeaf.java:179) [:2.0.3-]
at javax.faces.render.Renderer.encodeChildren(Renderer.java:164) [:2.0.3-]
at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:849) [:2.0.3-]
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1643) [:2.0.3-]
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1646) [:2.0.3-]
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1646) [:2.0.3-]
at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:389) [:2.0.3-]
at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:127) [:2.0.3-]
at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:117) [:2.0.3-]
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:97) [:2.0.3-]
at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:135) [:2.0.3-]
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:309) [:2.0.3-]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:324) [:6.0.0.Final]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:242) [:6.0.0.Final]
at com.filters.LoginFilter.doFilter(LoginFilter.java:21) [:]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:274) [:6.0.0.Final]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:242) [:6.0.0.Final]
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275) [:6.0.0.Final]
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) [:6.0.0.Final]
at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:181) [:6.0.0.Final]
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:593) [:6.0.0.Final]
at org.jboss.modcluster.catalina.CatalinaContext$RequestListenerValve.event(CatalinaContext.java:285) [:1.1.0.Final]
at org.jboss.modcluster.catalina.CatalinaContext$RequestListenerValve.invoke(CatalinaContext.java:261) [:1.1.0.Final]
at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:88) [:6.0.0.Final]
at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:100) [:6.0.0.Final]
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) [:6.0.0.Final]
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) [:6.0.0.Final]
at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158) [:6.0.0.Final]
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) [:6.0.0.Final]
at org.jboss.web.tomcat.service.request.ActiveRequestResponseCacheValve.invoke(ActiveRequestResponseCacheValve.java:53) [:6.0.0.Final]
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:362) [:6.0.0.Final]
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877) [:6.0.0.Final]
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:654) [:6.0.0.Final]
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:951) [:6.0.0.Final]
at java.lang.Thread.run(Unknown Source) [:1.6.0_27]
import java.util.HashMap;
import java.util.Map;
import javax.ejb.Stateless;
import com.model.User;
@Stateless
public class UserDAO extends GenericDAO<User> {
public UserDAO() {
super(User.class);
}
public User findUserByEmail(String email){
Map<String, Object> parameters = new HashMap<String, Object>();
parameters.put("email", email);
return super.findOneResult(User.FIND_BY_EMAIL, parameters);
}
}
---
import javax.ejb.Stateless;
import com.model.Dog;
@Stateless
public class DogDAO extends GenericDAO<Dog> {
public DogDAO() {
super(Dog.class);
}
}
<display-name>CrudJSF</display-name>
<welcome-file-list>
<welcome-file>pages/protected/user/listAllDogs.xhtml</welcome-file>
</welcome-file-list>
<!-- Filter to get the user name and work with it -->
<filter>
<filter-name>LoginFilter</filter-name>
<filter-class>com.filters.LoginFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>LoginFilter</filter-name>
<url-pattern>/pages/protected/*</url-pattern>
</filter-mapping>
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>/faces/*</url-pattern>
<url-pattern>*.jsf</url-pattern>
<url-pattern>*.xhtml</url-pattern>
</servlet-mapping>
<!-- Protected area definition -->
<security-constraint>
<web-resource-collection>
<web-resource-name>Restricted Area - ADMIN Only</web-resource-name>
<url-pattern>/pages/protected/admin/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>ADMIN</role-name>
</auth-constraint>
</security-constraint>
<security-constraint>
<web-resource-collection>
<web-resource-name>Restricted Area - USER and ADMIN</web-resource-name>
<url-pattern>/pages/protected/user/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>USER</role-name>
<role-name>ADMIN</role-name>
</auth-constraint>
</security-constraint>
<!-- Login page -->
<login-config>
<auth-method>FORM</auth-method>
<form-login-config>
<form-login-page>/pages/public/login.xhtml</form-login-page>
<form-error-page>/pages/public/loginError.xhtml</form-error-page>
</form-login-config>
</login-config>
<!-- System roles -->
<security-role>
<role-name>ADMIN</role-name>
</security-role>
<security-role>
<role-name>USER</role-name>
</security-role>
</web-app>
listalldogs.xhtml
<h:head>
<h:outputStylesheet library="css" name="main.css" />
</h:head>
<h:body>
<h:form>
<h3>#{msgs.loginHello}: #{userMB.user.name} || <h:commandLink action="#{userMB.logOut()}" value="#{msgs.logout}" /> </h3>
<h:messages />
<h:dataTable value="#{dogMB.allDogs}" var="dog" styleClass="table" headerClass="tableColumnsHeader" rowClasses="tableFirstLine,tableNextLine" >
<h:column>
<f:facet name="header">
#{msgs.dogName}
</f:facet>
#{dog.name}
</h:column>
<h:column>
<f:facet name="header">
#{msgs.dogWeight}
</f:facet>
#{dog.weight}
</h:column>
<h:column>
<h:panelGrid columns="2">
<!-- Always save the id as hidden when you use a request scope MB -->
<h:inputHidden value="#{dog.id}" />
<h:commandButton action="#{dogMB.updateDogStart()}" value="#{msgs.update}" rendered="#{userMB.userAdmin}" >
<f:setPropertyActionListener target="#{dogMB.dog}" value="#{dog}" />
</h:commandButton>
<h:commandButton action="#{dogMB.deleteDogStart()}" value="#{msgs.delete}" rendered="#{userMB.userAdmin}" >
<f:setPropertyActionListener target="#{dogMB.dog}" value="#{dog}" />
</h:commandButton>
</h:panelGrid>
</h:column>
</h:dataTable>
<!-- This button is displayed to the user, just to you see the error msg -->
<h:commandButton action="createDog" value="#{msgs.create} #{msgs.dog}" />
</h:form>
</h:body>
</html>
<h:body>
<p>Login to access secure pages:</p>
<form method="post" action="j_security_check">
<h:messages layout="table" errorStyle="background: #AFEEEE;"
infoStyle="background: #AFEEEE;" globalOnly="true" />
<h:panelGrid columns="2">
<h:outputLabel value="Username: " />
<input type="text" id="j_username" name="j_username" />
<h:outputLabel value="Password: " />
<input type="password" id="j_password" name="j_password" />
<h:outputText value="" />
<h:panelGrid columns="1">
<input type="submit" name="submit" value="Login" />
</h:panelGrid>
</h:panelGrid>
<br />
</form>
</h:body>