IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JSF Java Discussion :

Premier projet jsf Cannot find FacesContext


Sujet :

JSF Java

  1. #1
    Membre du Club
    Inscrit en
    Janvier 2010
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 47
    Points : 42
    Points
    42
    Par défaut Premier projet jsf Cannot find FacesContext
    Salut internet,

    Voila je suis nouveau en jsf.J'ai suivi le tutoriel présent dans eclipse
    http://www.eclipse.org/webtools/jsf/..._tutorial.html

    Je travaille avec tomcat 6 et pour les librairies de jsf,c'est eclipse qui les a téléchargés directement lors de la création du projet web

    Le problème c'est que j'ai une exception lorsque je lance ma page login.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
    1 janv. 2010 22:43:01 org.apache.catalina.core.StandardWrapperValve invoke
    GRAVE: "Servlet.service()" pour la servlet jsp a généré une exception
    java.lang.RuntimeException: Cannot find FacesContext
    	at javax.faces.webapp.UIComponentClassicTagBase.getFacesContext(UIComponentClassicTagBase.java:1855)
    	at javax.faces.webapp.UIComponentClassicTagBase.setJspId(UIComponentClassicTagBase.java:1672)
    	at org.apache.jsp.login_jsp._jspx_meth_f_005fview_005f0(login_jsp.java:118)
    	at org.apache.jsp.login_jsp._jspService(login_jsp.java:87)
    	at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    	at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
    	at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
    	at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    	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:293)
    	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)
    	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
    	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)
    	at java.lang.Thread.run(Unknown Source)
    J'ai pensé au départ que c'était lié au web.xml (et honnetement je le pense encore) ,voici mon web.xml

    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
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
      <display-name>JSF</display-name>
      <welcome-file-list>
     
        <welcome-file>login.jsp</welcome-file>
     
      </welcome-file-list>
      <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>
      </servlet-mapping>
      <context-param>
        <description>State saving method: 'client' or 'server' (=default). See JSF Specification 2.5.2</description>
        <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
        <param-value>client</param-value>
      </context-param>
      <context-param>
        <param-name>javax.servlet.jsp.jstl.fmt.localizationContext</param-name>
        <param-value>resources.application</param-value>
      </context-param>
      <listener>
        <listener-class>com.sun.faces.config.ConfigureListener</listener-class>
      </listener>
      <servlet-mapping>
        <servlet-name>Faces Servlet</servlet-name>
        <url-pattern>*.jsf</url-pattern>
      </servlet-mapping>
      <servlet-mapping>
        <servlet-name>Faces Servlet</servlet-name>
        <url-pattern>*.faces</url-pattern>
      </servlet-mapping>
    </web-app>
    Un coup de main serait le bienvenue !!! Merci

  2. #2
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 807
    Points
    48 807
    Par défaut
    as-tu bien tappé "/faces/login.jsp" dans ton browser? je pense que tu as accédé directement à la page jsp sans passer par la servlet jsf.

  3. #3
    Membre averti Avatar de argonath
    Homme Profil pro
    Ingénieur d'Etudes
    Inscrit en
    Juillet 2009
    Messages
    248
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'Etudes
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2009
    Messages : 248
    Points : 381
    Points
    381
    Par défaut
    c'était peut être juste pour le screen mais tu as un début de commentaire au milieu de la balise de mapping

  4. #4
    Membre du Club
    Inscrit en
    Janvier 2010
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 47
    Points : 42
    Points
    42
    Par défaut
    Bonjour

    @tchize_

    En fait lorsque je veux executer mon projet ,je clique droit sur la page login.jsp et je met "run on server" et après j'obtiens l'URL "http://localhost:8080/JSF/faces/login.jsp" donc à priori pas de problème.

    @argonath

    Je remarque effectivement on dirait un commentaire,dans eclipse ça ne se voit pas..Mais de toute façon je n'ai pas le choix...je ne vois pas comment je peux faire en sorte que ça ne soit plus un commentaire non??


    euh au passage j'aimerais signaler que je n'ai plus la même exception qu'hier alors que je n'ai rien changé !!!

    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
    GRAVE: "Servlet.service()" pour la servlet Faces Servlet a généré une exception
    java.lang.NoClassDefFoundError: javax/servlet/jsp/jstl/core/Config
    	at com.sun.faces.application.ViewHandlerImpl.executePageToBuildView(ViewHandlerImpl.java:452)
    	at com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:140)
    	at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:110)
    	at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)
    	at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
    	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:266)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    	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:293)
    	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)
    	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
    	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)
    	at java.lang.Thread.run(Unknown Source)
    Je poste aussi le faces-config.xml à toute fin utilise

    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
    <?xml version="1.0" encoding="UTF-8"?>
     
    <faces-config
        xmlns="http://java.sun.com/xml/ns/javaee"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd"
        version="1.2">
    	<managed-bean>
    		<managed-bean-name>loginBean</managed-bean-name>
    		<managed-bean-class>com.tutorial.LoginBean</managed-bean-class>
    		<managed-bean-scope>session</managed-bean-scope>
    	</managed-bean>
    	<navigation-rule>
    		<display-name>login</display-name>
    		<from-view-id>/login.jsp</from-view-id>
    		<navigation-case>
    			<from-outcome>login</from-outcome>
    			<to-view-id>/welcome.jsp</to-view-id>
    		</navigation-case>
    	</navigation-rule>
    	<validator>
    		<display-name>Validate Password</display-name>
    		<validator-id>com.tutorial.validatePassword</validator-id>
    		<validator-class>com.tutorial.validatePassword</validator-class>
    	</validator>
     
    </faces-config>

  5. #5
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 807
    Points
    48 807
    Par défaut
    Citation Envoyé par dany.bill Voir le message
    En fait lorsque je veux executer mon projet ,je clique droit sur la page login.jsp et je met "run on server" et après j'obtiens l'URL "http://localhost:8080/JSF/faces/login.jsp" donc à priori pas de problème.

    au passage j'aimerais signaler que je n'ai plus la même exception qu'hier
    Parce que l'url est bonne cette fois ci

    La nouvelle exception que tu as est due à l'absence du jar de la jstl dans ton projet. Il faut le rajouter, sinon tu ne peux pas utiliser cette taglib.

  6. #6
    Membre du Club
    Inscrit en
    Janvier 2010
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 47
    Points : 42
    Points
    42
    Par défaut
    Mais théoriquement j'ai tous les jar nécessaire pour la simple et bonne raison que c'est Eclipse qui s'en ai chargé!!
    Bon je vais quand même les rajouté (je le fais dans le java build path c ça?) et au fait lesquels il me faut(et surtout d'ou je les prends)?

  7. #7
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 807
    Points
    48 807
    Par défaut
    Citation Envoyé par dany.bill Voir le message
    Mais théoriquement j'ai tous les jar nécessaire pour la simple et bonne raison que c'est Eclipse qui s'en ai chargé!!
    Tout dépend, as-tu bien demandé à eclispe de rajouter les jar de la jstl? J'ignore commen éclipse a créé ton projet.


    Les jars de la jstl sont disponibles sur le site de sun.

  8. #8
    Membre du Club
    Inscrit en
    Janvier 2010
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 47
    Points : 42
    Points
    42
    Par défaut
    ohohohohohoho nickel chrome cool raoul pépér jasper ca marche
    en fait le jar de la jstl il ne faut pas le mettre dans le java buil path mais dans le dossier lib du projet voila comme ça vous ferai pas la même erreur (je parle aux débutants of course )

    Merci les gars pour votre aide!!

  9. #9
    Membre averti Avatar de argonath
    Homme Profil pro
    Ingénieur d'Etudes
    Inscrit en
    Juillet 2009
    Messages
    248
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'Etudes
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2009
    Messages : 248
    Points : 381
    Points
    381
    Par défaut
    Citation Envoyé par dany.bill Voir le message
    @argonath

    Je remarque effectivement on dirait un commentaire,dans eclipse ça ne se voit pas..Mais de toute façon je n'ai pas le choix...je ne vois pas comment je peux faire en sorte que ça ne soit plus un commentaire non??
    non c'est la balise code ici qui interprète le "/*" comme un début de commentaire ^^' mais comme ce n'est pas la forme d'un commentaire xml çà n'a aucune influence

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [JSF] Cannot find FacesContext
    Par Derbie dans le forum JSF
    Réponses: 1
    Dernier message: 03/04/2011, 10h04
  2. Appli JSF : Erreur "Cannot find FacesContext"
    Par kimlee dans le forum JSF
    Réponses: 14
    Dernier message: 04/01/2008, 11h06
  3. [JSF] mon premier JSF:Cannot find FacesContext
    Par anitshka dans le forum JSF
    Réponses: 15
    Dernier message: 24/08/2007, 18h19
  4. Cannot find FacesContext
    Par skanderb dans le forum JSF
    Réponses: 5
    Dernier message: 04/07/2007, 14h55
  5. erreur:Cannot find FacesContext
    Par oasma dans le forum JSF
    Réponses: 3
    Dernier message: 15/05/2007, 13h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo