web-dev-qa-db-fra.com

/index.xhtml introuvable dans ExternalContext en tant que ressource

Mon application Web JSF affiche l'erreur suivante:

/index.xhtml introuvable dans ExternalContext en tant que ressource.

Ma structure de répertoire est:

- Ressource Java 
-- src 
--- br.com.k19.controle 
---- NumeroAleatorioBean.Java 
--- ressources 
- Ressources JavaScript. .- build 
- WebContent 
-- META-INF 
-- Pages Web 
--- index.xhtml 
--- formulario.xhtml 
-- Web-Inf

Où dois-je placer mon /index.xhtml dans cette structure?

9
Rafael Souza

Le dossier WebContent représente le contenu Web. Vous avez placé le fichier index.xhtml dans le sous-dossier Web Pages afin que la bonne URL soit

http://localhost:8080/ProjectName/Web Pages/index.xhtml

et donc non

http://localhost:8080/ProjectName/index.xhtml

comme vous sembliez s'y attendre.

Si vous voulez l'avoir sur la racine du contexte, supprimez simplement le dossier Web Pages et déplacez ces fichiers .xhtml directement dans le dossier WebContent, au même niveau que META-INF et WEB-INF:

ProjectName
 |-- Java Resources
 |    `-- src
 |         `-- br.com.k19.controle
 |              `-- NumeroAleatorioBean.Java
 |-- resources
 |-- JavaScript Resources
 |-- build
 `-- WebContent
      |-- META-INF
      |-- WEB-INF
      |    |-- faces-config.xml
      |    `-- web.xml
      |-- index.xhtml
      `-- formulario.xhtml

Remarque: Java est sensible à la casse. Web-Inf n'est certainement pas la même chose que WEB-INF. Soyez prudent ou vous aurez un trou de sécurité. 

14
BalusC

J'ai fait face à ce problème récemment. J'ai essayé de nettoyer le répertoire de travail Tomcat, Clean et Publish . Après cela, lorsque j'ai démarré le serveur, l'application fonctionnait correctement.

Pour un serveur Tomcat indépendant, nettoyez dir -> temp, travail, et dans webApp répertoire, supprimez tout le projet non archivé existant. Redémarrez le Tomcat, cela a fonctionné pour moi.

0
Sachin Srivastava