Иногда я вижу URL-адрес JSF: * .jsf, иногда * .xhtml, а иногда / faces / *. Зачем?

Попробовал изучить JSF, и иногда я вижу URL-адрес *.jsf а иногда это *.xhtml или /faces/* . Может кто-то заполнит мои знания, пожалуйста? Когда я создаю JSF с использованием Facelet, расширение файла – .xhtml , откуда происходит .jsf URL-адреса .jsf ?

Расширение .jsf – это место, где FacesServlet находится во время периода JSF 1.2, часто отображаемого в web.xml .

  facesServlet *.jsf  

Расширение .xhtml является фактическим файлом Facelets, так как вы физически размещены в webcontent вашего webapp, например Webapp/WebContent/page.xhtml .

Если вы вызываете эту страницу с расширением .jsf , например http://localhost:8080/webapp/page.jsf тогда будет вызван page.xhtml , найдите файл page.xhtml и проанализируйте / page.xhtml его компоненты JSF. Если FacesServlet не вызывается, то конечный пользователь получит исходный исходный код XHTML (который можно увидеть с помощью rightclick, View Source ).

Иногда используется расширение *.faces или /faces/* foldermapping. Но это происходило со времен JSF 1.0 / 1.1. Вы можете выбирать и использовать любое сопоставление, которое вы хотели бы позволить FacesServlet слушать, даже если это ничего не говорит *.xyz . Сама фактическая страница всегда должна иметь расширение .xhtml , но это настраивается с помощью следующего в web.xml :

  javax.faces.DEFAULT_SUFFIX .xml  

Это изменит FacesServlet чтобы найти page.xml instad of (default) page.xhtml .

Совсем недавно с использованием JSF / Facelets 2.0 было использовано сопоставление *.xhtml . В JSF / Facelets 1.x нельзя было использовать то же расширение отображения, что и физический файл. Это приведет к бесконечному циклу. Но поскольку JSF / Facelets 2.0 это возможно, и это позволяет вам вызывать страницу по http://localhost:8080/webapp/page.xhtml .

  facesServlet *.xhtml  

Таким образом, вам не нужно настраивать некоторые ограничения безопасности, чтобы скрыть исходные исходные файлы для случаев, когда пользователь- .jsf меняет, например, .jsf в URL-адресе .xhtml в адресной строке браузера. Только инструментальные средства (IDE и плагины) и учебные ресурсы по-прежнему нуждаются в том, чтобы догнать *.jsf переход от *.jsf к *.xhtml . Согласно JSF 2.3, FacesServlet по умолчанию будет авторегистратором на *.xhtml тоже (рядом с /faces/* , *.faces и *.jsf ). Это передано Mojarra 2.2.11.

Смотрите также:

  • Можем ли мы использовать регулярные выражения в шаблонах URL-адресов web.xml?
  • Установите домашнюю страницу по умолчанию через <приветственный файл> в проекте JSF
  • JSF возвращает пустую / непараметрированную страницу с открытым / исходным источником XHTML / XML / EL вместо вывода HTML-вывода
  • В чем разница между созданием страниц JSF с расширением .jsp или .xhtml или .jsf
  • Какие файлы XHTML мне нужно вставить / WEB-INF, а какие нет?
  • Настройте FacesServlet , чтобы избавиться от расширения .xhtml
  • Maven: настройте web.xml проекта веб-приложения
  • Как указать страницу ошибки по умолчанию в web.xml?
  • Каково значение url-шаблона в web.xml и как настроить сервлет?
  • Зачем использовать redirect JSF ExceptionHandlerFactory вместо перенаправления ?
  • java.lang.IllegalArgumentException: Неверный в отображении сервлета
  • Может ли кто-нибудь объяснить отображение сервлетов?
  • Исключение начального фильтра struts2 - попытался добавить JAR, но тот же результат
  • Выражения EL, не оцененные в JSP
  • Режим AngularJS HTML5 - Как прямые ссылки работают без изменений на сервере?
  • Что означает значение сервлета
  • Как я могу сопоставить «корневой» сервлет, чтобы другие скрипты все еще выполнялись?
  • Interesting Posts

    Как узнать, что происходит во время выключения / выхода Windows из процесса?

    Как подключить домашние компьютеры (Linux) от офисного компьютера (windows) с помощью шпатлевки

    Что такое хорошо для?

    Невозможно выполнить операции манипуляции данными с помощью executeQuery ()

    Как я могу захватить вывод команды как String с Commons Exec?

    Открывает ли много вкладок в Google Chrome проблемы с производительностью?

    Нет звука в Windows 7

    Как я могу определить, как пользователь нажимает клавишу HOME в моей деятельности?

    «adb» не распознается как внутренняя или внешняя команда, операционная программа или командный файл

    Angular2: Сделать дорожки нечувствительными к регистру

    Обнаружить изменение разрешения c # WinForms

    ORA-12514 TNS: слушатель в настоящее время не знает о запрошенной службе в дескрипторе соединения

    Выполнение системного вызова, возвращающего вывод stdout в виде строки

    Windows 7: Событие 55 Структура файловой системы на диске повреждена и непригодна для использования

    Как найти максимальное значение множества переменных

    Давайте будем гением компьютера.