Java, tomcat: каково значение атрибута id в веб-приложении тега в web.xml?

В чем смысл атрибута web.xml id тега веб-приложения?

Eclipse сгенерировал его как id = "WebApp_ID" . Я использовал версию Servlet спецификации 2.5, я переключился на использование 3.0, с предложением этот ответ, который не включает этот идентификатор.

Это действительно необходимо? Какое значение должно быть?

Ответы

Ответ 1

В новых версиях спецификации сервлета используются файлы .xsd без дополнительной информации об атрибуте id, но если вы вернетесь к более старым версиям с .dtd, например web_app_2_2.dtd, вы найдете:

Механизм ID - это позволить инструментам легко создавать ссылки на конкретные инструменты к элементам развертывания дескриптор. Это позволяет использовать инструменты, которые производить дополнительное развертывание информации (т.е. информация за пределами стандартный дескриптор развертывания информации) для хранения нестандартных информации в отдельном файле и легко ссылаться на эти конкретные инструменты файлы к информации в стандартное развертывание веб-приложений дескриптор.

Например, WebSphere Application Server использовал механизм id в своих старых файлах bnd и ext:

web.xml:
<web-app id="WebApp_ID" ...

ibm-web-app-bnd.xmi:
<webappbnd:WebAppBinding ...
  <webapp href="WEB-INF/web.xml#WebApp_ID"/>

(К счастью, это удобное использование атрибутов id с помощью инструмента, но разработчик больше не требуется с новым форматом файла .xml для ibm-web-bnd/ext, но я отвлекаюсь.)

Ответ 2

AFAIK это не нужно (за DTD). Вы можете прокомментировать это и посмотреть, работает ли это, я вполне уверен, что приложение будет загружаться просто отлично.