-->

Error: /login.xhtml Not Found in ExternalContext a

2019-08-02 03:38发布

我使用JBoss 7.1与JSF 2.1 /总理面和保持运行到标题列出的错误。 我试过很多在这里提出的建议,所有结了同样的错误。

文件结构为:

WEB-INF
   faces
      login.xhtml

我在web.xml中有以下:

<display-name>clientAccountManager</display-name>
<servlet>
    <servlet-name>Faces Servlet</servlet-name>
    <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>Faces Servlet</servlet-name>
    <url-pattern>/faces/*</url-pattern>
</servlet-mapping>
<context-param>
    <param-name>javax.faces.PROJECT_STAGE</param-name>
    <param-value>Development</param-value>
</context-param>
<context-param>
    <param-name>javax.faces.INTERPRET_EMPTY_STRING_SUBMITTED_VALUES_AS_NULL</param-name>
    <param-value>true</param-value>
</context-param>

我目前使用以下URL访问文件:

http://localhost:8080/clientAccountManager/faces/login.xhtml

我也改变了URL模式为* .xhtml和使用:

http://localhost:8080/clientAccountManager/login.xhtml

具有相同的结果。

我在想什么?

Answer 1:

你让2次失误。

  1. /WEB-INF文件夹是配置文件,包括文件,模板文件,标签文件等,这些都应该是从直接访问隐藏的,不适合公开访问的文件。 将可公开访问的文件外/WEB-INF文件夹中。

  2. /faces文件夹不应该在所有使用。 虚拟/faces/* URL上的图案FacesServlet ,并不意味着你应该有一个这样的物理文件夹。 去掉它。

因此,所有的一切,只

WebContent
 |-- META-INF
 |-- WEB-INF
 |    |-- faces-config.xml
 |    `-- web.xml
 `-- login.xhtml

<servlet-mapping>
    <servlet-name>Faces Servlet</servlet-name>
    <url-pattern>*.xhtml</url-pattern>
</servlet-mapping>

http://localhost:8080/clientAccountManager/login.xhtml

应该做。

也可以看看:

  • 其中XHTML文件我需要在/ WEB-INF和不呢?


文章来源: Error: /login.xhtml Not Found in ExternalContext as a Resource