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 :

[JSF2 / PrimeFaces] Erreur "java.io.FileNotFoundException"


Sujet :

JSF Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2012
    Messages : 10
    Par défaut [JSF2 / PrimeFaces] Erreur "java.io.FileNotFoundException"
    Bonjour tout le monde,
    Je suis entrain de développer une application web Jee avec tomcat 7.0.26, jsf2.0 et primefaces 3.2

    J'ai commencé tout d'abord à créer deux interfaces "ajouterUtilisateur.xhtml" et connexion.xhtml" et je les ai exécuté avec succès.

    Mais en faisant une modification à "connexion.xhtml",j'ai eu l'exception: "java.io.FileNotFoundException" pour les deux interfaces.Même "ajouterUtilisateur.xhtml" ne s'exécute plus malgré que je ne l'ai pas modifié !! En fait, je n'ai rien modifié autre que l'interface "connexion.xhtml" !!!!!! Donc j'ai supprimé cette dernière mais toujours j'ai la même exception pour l'interface "ajouterUtilisateur.xhtml" . voilà ce que j'ai quant je l'ai exécuté:

    java.io.FileNotFoundException: /ajouterUtilisateur.xhtml Not Found in ExternalContext as a Resource
    com.sun.faces.facelets.impl.DefaultFaceletFactory.resolveURL(DefaultFaceletFactory.java:224)
    com.sun.faces.facelets.impl.DefaultFaceletFactory.resolveURL(DefaultFaceletFactory.java:265)
    com.sun.faces.facelets.impl.DefaultFaceletFactory.getMetadataFacelet(DefaultFaceletFactory.java:201)
    com.sun.faces.application.view.ViewMetadataImpl.createMetadataView(ViewMetadataImpl.java:114)
    com.sun.faces.lifecycle.RestoreViewPhase.execute(RestoreViewPhase.java:227)
    com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
    com.sun.faces.lifecycle.RestoreViewPhase.doPhase(RestoreViewPhase.java:111)
    com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
    javax.faces.webapp.FacesServlet.service(FacesServlet.java:508)


    Voici le code de l'interface "ajouterUtilisateur.xhtml":

    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
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
     
    <ui:composition template="/template/template.xhtml"
        xmlns="http://www.w3.org/1999/xhtml"
    	xmlns:ui="http://java.sun.com/jsf/facelets"
    	xmlns:h="http://java.sun.com/jsf/html"
    	xmlns:f="http://java.sun.com/jsf/core"
    	xmlns:p="http://primefaces.org/ui">
     
    	<ui:define name="title">
    	  <h:outputText>Ajouter un utilisateur</h:outputText>
    	</ui:define>
     
    	<ui:define name="body">
    	      <h:form id="form">  
     
              <p:panel id="panel" header="Nouveau utilisateur" style="margin-bottom:10px;">  
                  <p:focus context="panel"/> 
                  <p:messages id="messages" /> 
     
                  <br> <h:panelGrid columns="3">
     
                          <h:outputLabel for="UID" value="Nom utilisateur: *  " />  
                          <p:inputText id="UID" value="#{PersonneBean.uid}" required="true" label="Nom utilisateur">  
                                   <f:validateLength minimum="4" />                                       
                          </p:inputText>                
                          <p:message for="UID" /> 
     
     
                          <h:outputLabel for="nomEtPrenom" value="Nom et prénom: *" />  
                          <p:inputText id="nomEtPrenom" value="#{PersonneBean.nomEtPrenom}" required="true" label="Nom et prénom">  
                                   <f:validateLength minimum="4" />  
                          </p:inputText> 
                          <p:message for="nomEtPrenom" /> 
     
     
                          <h:outputLabel for="motDePasse1" value="Mot de passe: *" />  
                          <p:password id="motDePasse1" value="#{PersonneBean.motDePasse}" match="motDePasse2" label="Mot de passe" required="true" feedback="true" />  
                          <p:message for="motDePasse1" />
     
     
                         <h:outputLabel for="motDePasse2" value="Confirmer le mot de passe: *" />  
                          <p:password id="motDePasse2" value="#{PersonneBean.motDePasse}" label="Confirmation du mot de passe" required="true"/>  
                          <p:message for="motDePasse2" showDetail="true" autoUpdate="true"/>
     
     
                          <h:outputText value="Etat du compte: *" />  
                          <p:selectOneMenu >  
                                <f:selectItem itemLabel="Selectionner etat" itemValue="" />  
                                <f:selectItem itemLabel="activé" itemValue="1" />  
                                <f:selectItem itemLabel="désactivé" itemValue="0" />  
                          </p:selectOneMenu> 
     
                      </h:panelGrid> </br>                 
     
     
                      <p:separator id="separator"/>
     
                      <h:panelGrid columns="3">
                          <h:outputLabel for="quota" value="Quota: *"/> 
                          <p:inputText id="quota" value="#{PersonneBean.quota}" required="true" label="Quota"/>  
                          <h:outputLabel for="quota" value="KB" /> 
                          <p:message for="quota" />
     
                      </h:panelGrid>  
     
              </p:panel>
     
              <p:commandButton value="confirmer" update="panel,display" actionListener="#{PersonneBean.ajouterUtilisateur}" icon="ui-icon-disk"/>  
              <p:commandButton value="vider" type="reset" icon="ui-icon-arrowrefresh-1-w" />  
     
     
              <p:panel id="display" header="Informations" style="margin-top:10px;">  
                   <h:panelGrid columns="2">  
                        <h:outputText value="Nom utilisateur: " />  
                        <h:outputText value="#{PersonneBean.uid}" />
     
                        <h:outputText value="Nom et prénom: " />  
                        <h:outputText value="#{PersonneBean.nomEtPrenom}" /> 
     
                        <h:outputText value="Mot de passe: " />  
                        <h:outputText value="#{PersonneBean.motDePasse}" /> 
     
                        <h:outputText value="Etat du compte: " />  
                        <h:outputText />  
     
                        <h:outputText value="Quota: " />  
                        <h:outputText value="#{PersonneBean.quota}" />  
     
                      </h:panelGrid>  
     
               </p:panel>   
     
            </h:form> 
     
     </ui:define>
    </ui:composition>

    Voici aussi le code du "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
    <?xml version="1.0" encoding="ASCII"?>
    <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_3_0.xsd" version="3.0">
      <display-name>version0</display-name>
      <context-param>
        <param-name>javax.faces.DEFAULT_SUFFIX</param-name>
        <param-value>.xhtml</param-value>
      </context-param>
     
      <context-param>
        <param-name>primefaces.skin</param-name>
        <param-value>none</param-value>
      </context-param>
     
      <context-param>
         <param-name>primefaces.THEME</param-name>
         <param-value>cupertino</param-value>
      </context-param>
      <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>
    </web-app>
    Est ce que vous pouvez m'aider à résoudre ce problème s'il vous plait ??? c'est mon premier projet avec jsf2 et primefaces.

  2. #2
    Rédacteur
    Avatar de thierryler
    Homme Profil pro
    Inscrit en
    Octobre 2007
    Messages
    4 078
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 078
    Par défaut
    C'est normal que tu as ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <servlet-mapping>
        <servlet-name>Faces Servlet</servlet-name>
        <url-pattern>/faces/*</url-pattern>
      </servlet-mapping>
    et pas juste ça ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <servlet-mapping>
        <servlet-name>Faces Servlet</servlet-name>
        <url-pattern>/*</url-pattern>
      </servlet-mapping>
    Thierry Leriche-Dessirier
    Consultant Java JEE Web Agile freelance
    Rédacteur pour Developpez
    Professeur de Génie Logiciel à l'ESIEA

    Site : http://www.icauda.com / Linked'in : http://www.linkedin.com/in/thierryler / Twitter : @ThierryLeriche

  3. #3
    Membre très actif Avatar de bruneltouopi
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2010
    Messages
    308
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

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

    Informations forums :
    Inscription : Janvier 2010
    Messages : 308
    Par défaut
    bonjour
    il y'a 3 solutions 1-la première soit tu executes ton url avec /faces/page.xml
    2-tu modifies ta xml avec ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <servlet-mapping>
        <servlet-name>Faces Servlet</servlet-name>
        <url-pattern>/faces/*</url-pattern>
      </servlet-mapping>
    et là tu pourra executer directement /page.xml

    si les 2 premières solutions donnent la même erreur alors le problème est ici
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <ui:composition template="/template/template.xhtml"
    il faut controler la casse et le chemin d'access à ton fichier

Discussions similaires

  1. Réponses: 1
    Dernier message: 06/04/2013, 12h10

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