这是我的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模式。请定义不同的网址格式。
但为什么?
这是我的欢迎档案:
<welcome-file-list>
<welcome-file>/index.xhtml</welcome-file>
</welcome-file-list>
答案 0 :(得分:19)
因为这意味着 Everything 曾经遇到过上下文 - root将由FacesServlet处理,FacesServlet已经知道它无法实现的要求(显然没有意义)。
要实现您想要的映射,请在FaceServlet上使用.xhtml
映射
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.xhtml</url-pattern>
</servlet-mapping>