16

这是我的 web.xml :

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

当我导航到:

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

我可以很好地看到页面,但是当我导航到:

http://localhost:8080/LearningRoot/

我得到错误:

发生错误:

FacesServlet 不能有 /* 的 url 模式。请定义不同的 url 模式。

但为什么?

这是我的欢迎文件:

<welcome-file-list>
    <welcome-file>/index.xhtml</welcome-file>
</welcome-file-list>
4

1 回答 1

22

因为这意味着所有到达上下文根的东西都将由 FacesServlet 处理,FacesServlet 已经知道它不可能满足的要求(这显然没有意义)。

要实现您想要的映射,请.xhtml在 FaceServlet 上使用映射

<servlet-mapping>
  <servlet-name>Faces Servlet</servlet-name>
  <url-pattern>*.xhtml</url-pattern>
</servlet-mapping>
于 2013-03-04T21:27:22.923 回答