Когда вы используете JSF, у вас будет контроллер-сервлет javax.faces.webapp.FacesServlet, который будет отображаться на следующее:
<servlet-mapping>
...
<url-pattern>/somefacesurl/*</url-pattern>
</servlet-mapping>
Помещение mypage.xhtml в /, у нас естьриск безопасности, потому что к нему будут обращаться двумя способами (начиная с контекста приложения): 1) /somefacesurl/mypage.xhtml
2) /mypages.xhtml
Первый обработан jsf и является правильным. Второй не обрабатывается jsf и поэтому представляется клиенту, выставляющему теги jsf, и это представляет угрозу безопасности.
Я нашел только два решения1) сопоставление всегда с корневым URL:
<servlet-mapping>
...
<url-pattern>*.xhtml</url-pattern>
</servlet-mapping>
Хорошее решение, но разрешает только сопоставления по расширению файла.
2) Сопоставление с любым URL-адресом и использование ограничений безопасности для запрета доступа к ним.файлы, как предлагается в: Как избежать доступа пользователя к странице .xhtml в JSF?
Оба решения представлены в спецификации JSF 2.0 как жизнеспособные альтернативы, НО нет ни слова о различныхподход к безопасности этих двух решений.
Поскольку безопасность НЕ рассматривается, мне интересно, является ли первое «безопасным» с точки зрения доступа к файлам xhtml или, возможно, существует способ получить файл .xhtmlисточники.