Вы отобразили сервлет лиц на /faces/*
вместо *.xhtml
. Это означает, что вам нужно включить /faces
путь в URL, чтобы запустить сервлет Faces.
Итак, вам не следует открывать страницу по
http://localhost:8080/SharePortfolioJSF/companies.xhtml
но вместо этого
http://localhost:8080/SharePortfolioJSF/faces/companies.xhtml
Тем не менее, гораздо лучше использовать *.xhtml
в качестве шаблона URL-адреса сервлета Face, чтобы вам не приходилось возиться с виртуальными путями.
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.xhtml</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.xhtml</welcome-file>
</welcome-file-list>
(обратите внимание, что ваш <session-timeout>
из 30 минут уже используется по умолчанию, просто удалите его)