Назад к вопросам
Middle
87
questionbank

Что такое дескриптор развертывания?

Sobes Copilot

Получайте ответы в реальном времени

Ответ от нейросети

sobes.tech AI

Дескриптор развертывания (Deployment Descriptor) - это файл конфигурации, который описывает, как компоненты веб-приложения или корпоративного приложения должны быть развернуты и настроены в сервере приложений. Для веб-приложений в Java EE (сейчас Jakarta EE) основным дескриптором является web.xml, расположенный в папке WEB-INF. Для корпоративных приложений (EJB) используются файлы ejb-jar.xml.

В web.xml указываются:

  • Сервлеты и их маппинг URL.
  • Фильтры и их маппинг URL.
  • Листенеры.
  • Параметры контекста и сервлета.
  • Страницы ошибок.
  • Настройки безопасности (аутентификация, авторизация).
  • Ссылки на ресурсы (DataSource, ConnectionFactory).

Пример части web.xml:

<web-app>
    <servlet>
        <servlet-name>MyServlet</servlet-name>
        <servlet-class>com.example.MyServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>MyServlet</servlet-name>
        <url-pattern>/myServlet</url-pattern>
    </servlet-mapping>
</web-app>

Современные фреймворки и спецификации Java EE/Jakarta EE все чаще позволяют использовать аннотации вместо дескрипторов. Например, @WebServlet вместо определения сервлета в web.xml. Однако дескрипторы развертывания по-прежнему используются для переопределения настроек, определенных аннотациями, или для конфигураций, которые не могут быть выражены аннотациями.