Junior
46
questionbank

Почему не требуется конфигурировать стандартные JSP-теги в файле web.xml?

Получайте ответы на вопросы в реальном времени с Sobes Copilot
Ответ от нейросети sobes.tech

Стандартные JSP-теги, такие как <jsp:useBean>, <jsp:include>, <jsp:forward>, <jsp:getProperty>, <jsp:setProperty>, <jsp:param> и другие, являются частью спецификации JSP и JavaServer Pages Standard Tag Library (JSTL). Эти библиотеки тегов всегда доступны в контейнере сервлетов (таком как Tomcat, Jetty и т.д.), который поддерживает спецификацию JSP.

Конфигурация в web.xml (web-app дескрипторе развертывания) обычно требуется для:

  1. Объявления сервлетов и их маппингов URL.
  2. Объявления фильтров и их маппингов.
  3. Настройки слушателей событий.
  4. Определения контекстных параметров приложения.
  5. Конфигурации пользовательских библиотек тегов (не входящих в стандарт JSTL), указывая расположение TLD-файла (Tag Library Descriptor).
  6. Настройки сессий, страниц ошибок, приветственных страниц и т.д.

Стандартные JSP-теги и библиотеки JSTL (core, fmt, sql, xml) уже "известны" и обрабатываются самим JSP-движком контейнера. Их обработчики встроены в реализацию JSP. Поэтому нет необходимости явно объявлять их в web.xml или скачивать дополнительные JAR-файлы (за исключением, возможно, старых версий контейнеров или если вы хотите использовать определенную версию JSTL, отличную от встроенной). Для стандартных тегов их TLD-файлы (например, jsp.tld внутри JAR-файлов JSTL) либо уже есть в контейнере, либо контейнер знает, как их найти без явного указания в web.xml.

Использование стандартных тегов в JSP осуществляется с помощью директивы taglib:

jsp

Эта директива tells the JSP engine to use the JSTL Core library with the prefix c. The uri attribute points to a unique identifier for the tag library, which the container already knowsどうやって解決するか because it's a standard library.