在ExternalContext中找不到/index.xhtml作为资源

时间:2013-10-31 19:00:50

标签: jsf jsf-2

我的JSF Web应用程序显示以下错误:

  

/index.xhtml在ExternalContext中找不到资源。

我的目录结构是:

- Java Resource
-- src
--- br.com.k19.controle
---- NumeroAleatorioBean.java
--- resources
- JavaScript Resources
- build
- WebContent
-- META-INF
-- Web Pages
--- index.xhtml
--- formulario.xhtml
-- Web-Inf

我需要将/index.xhtml置于此结构中?

2 个答案:

答案 0 :(得分:15)

WebContent文件夹代表网络内容。您将index.xhtml文件放在Web Pages子文件夹中,以便正确的URL为

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

因而

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

正如你所期待的那样。

如果您想在上下文根目录中使用它,只需完全删除Web Pages文件夹并将.xhtml文件直接移到WebContent文件夹中,与META-INF文件夹相同{1}}和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

注意:Java区分大小写。 Web-InfWEB-INF绝对不同。小心,否则你会有安全漏洞。

答案 1 :(得分:0)

我最近遇到了这个问题。我尝试清理Tomcat 工作目录,清理发布。 之后,当我启动服务器时,应用程序运行顺利。

对于独立的tomcat服务器,clean dir - > 临时,工作 webApp 目录,删除所有现有的未归档项目。 重新启动 Tomcat,它对我有用。