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

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)
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
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>
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
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 "";	
 
	      }