Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Web.xml для лиц Java-сервера

Автор вопроса: Anand SunderramanОтветов: 2

Я только начал изучать серверные лица Java и успешно протестировал свое первое веб-приложение на JSF.

Что меня озадачивает, так это то, что правила навигации указаны в моем файле faces-config.xml, расположенном в моей папке WEB-INF, и нигде в моем web.xml я не указал местоположение моего файла faces-config.xml.

Так как же происходит навигация?

javajsfjakarta-ee

Ответы

Ответ 1 · рейтинг 5 · Pascal Thivent

Для спецификации JSF 1.2 (JSR 252) требуется любая реализация JSF для автоматической загрузки /WEB-INF/faces-config.xml при запуске (если такой ресурс существует).

Цитата из раздела 10.4.2 Поведение при запуске приложения:

Во время запуска приложения, прежде чем какие-либо запросы будут обработаны, реализация JSF должна обработать ноль или более ресурсов конфигурации приложения, расположенных в соответствии со следующим алгоритмом:

  • Найдите все ресурсы с именем "META-INF/faces-config.xml" в ServletContext путях ресурсов для этого веб-приложения и загрузите каждый как ресурс конфигурации JSF (в порядке, обратном порядку, в котором они возвращаются getResources() в текущем потоке ContextClassLoader).
  • Проверьте наличие параметра инициализации контекста с именем javax.faces.CONFIG_FILES. Если он существует, трактуйте его как разделенный запятыми список относительных путей к ресурсам (начиная с "/") и загружайте каждый из указанных ресурсов.
  • Проверьте наличие ресурса конфигурации веб-приложения с именем "/WEB-INF/faces-config.xml" и загрузите его, если этот ресурс существует.

Ответ 2 · Kaleb Brasee

Я считаю, что сервлет Faces, определенный в web.xml, загружает faces-config.xml при запуске веб-приложения.

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы