Почему FacesServlet не может иметь url-шаблон /*.?

Это моя паутина.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>

1 ответов


потому что это означало бы все это когда-либо попадает в этот контекст-root будет обрабатываться FacesServlet, требование, которое FacesServlet уже знает, что он не может выполнить (это, очевидно, не имеет смысла).

для достижения намеченного отображения используйте .xhtml отображение на FaceServlet

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