bonjour tout le monde
j'ai un probléme avec ma page d'authentification
lorsque je tape un login et un mot de passe qui se trouve dans la base de données ,ca passe , mais quand je tape un mot de passe ou un login incorrect ca génére l'exception NullPointerException
voici le code de ma page jsp
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38 GRAVE: "Servlet.service()" pour la servlet Faces Servlet a généré une exception java.lang.NullPointerException at JavaBeans.UtilisateurBean.authenfier(UtilisateurBean.java:109) 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:131) at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:276) at org.apache.jasper.el.JspMethodExpression.invoke(JspMethodExpression.java:68) at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:77) at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:91) at javax.faces.component.UICommand.broadcast(UICommand.java:383) at org.ajax4jsf.component.AjaxViewRoot.processEvents(AjaxViewRoot.java:316) at org.ajax4jsf.component.AjaxViewRoot.broadcastEvents(AjaxViewRoot.java:291) at org.ajax4jsf.component.AjaxViewRoot.processPhase(AjaxViewRoot.java:248) at org.ajax4jsf.component.AjaxViewRoot.processApplication(AjaxViewRoot.java:461) at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:97) at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251) at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117) at javax.faces.webapp.FacesServlet.service(FacesServlet.java:244) 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:147) at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:276) at org.ajax4jsf.Filter.doFilter(Filter.java:175) 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:230) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:261) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:581) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) at java.lang.Thread.run(Unknown Source)
et la méthode authentifier de mon bean
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40 <h:form id="forma"> <table> <tr> <td> <h:graphicImage url="/images/login.jpg"></h:graphicImage> </td> <td> <h:panelGrid columns="3"> <h:outputText value="Login:" /> <h:inputText label="login" id="login" required="true" value="#{userBean.login}"> </h:inputText> <rich:message for="login"> <f:facet name="passedMarker"> <h:graphicImage value="/images/passed.gif" /> </f:facet> <f:facet name="errorMarker"> <h:graphicImage value="/images/error.gif" /> </f:facet> </rich:message> <h:outputText value="Password:" /> <h:inputSecret label="pass" id="pass" required="true" value="#{userBean.pass}"/> <rich:message for="pass" > <f:facet name="passedMarker"> <h:graphicImage value="/images/passed.gif" /> </f:facet> <f:facet name="errorMarker"> <h:graphicImage value="/images/error.gif" /> </f:facet> </rich:message></h:panelGrid> <h:commandButton value="Valider" action="#{userBean.authenfier}"> </h:commandButton> </td> </tr> </table> </h:form>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 public String authenfier(){ Session session=mapping.HibernateSessionFactory.getSession(); Query query = session.createQuery("from Utilisateur where login = :plogin and pass = :ppass"); query.setParameter("plogin", login); query.setParameter("ppass", pass); Utilisateur user = (Utilisateur) query.uniqueResult(); if(user != null ) { if(user.getProfil().equals("admin")) { return "adminSuccess"; } if(user.getProfil().equals("technicien")) { return "techSuccess"; } if(user.getProfil().equals("normal")) { auto= "normal"; } } return ""; }
Partager