Для чего нужно «отображаемое имя» сервлета?

<display-name> элемент является допустимым подэлементом<servlet> элемент согласноСервлет 2.5, дескриптор развертывания XSD, То есть, согласно валидатору Eclipse XML, это:

<servlet>
    <servlet-name>FooServlet</servlet-name>
    <display-name>FooServlet</display-name>
    <servlet-class>com.bar.servlet.FooServlet</servlet-class>
</servlet>

является действительнымservlet-mappingпри этом:

<servlet>
    <servlet-name>FooServlet</servlet-name>
    <random-tag-name>OMGWTFBBQ</random-tag-name>
    <servlet-class>com.bar.servlet.FooServlet</servlet-class>
</servlet>

нет (что кажется достаточно разумным).

Что такоеdisplay-name на самом деле используется для? Я не смог выкопать что-нибудь информативное об этом.

Ответы на вопрос(5)

Решение Вопроса

<servlet-name> является каноническим внутренним именем сервлета и используется в качестве ключа, связывающего такие вещи, как url-шаблоны с сервлетами.<display-name> предназначен для использования инструментами администратора и т.п.

Возможно, это имеет больше смысла, если учесть, что схема XML допускает<display-name> элементы для разных языков, например

<servlet>
    <servlet-name>MyServlet</servlet-name>
    <displayable-name xml:lang="en">My Servlet</displayable-name>
    <displayable-name xml:lang="fr">Ma Servlet</displayable-name>
</servlet>

(простите мой Frenglais)

 Michael Konietzka27 сент. 2010 г., 18:40
<display-name xml: lang = "de"> Mein Servlet </ display-name>
 Matt Ball27 сент. 2010 г., 18:44
+1 заFrenglais а такжеcanonical, Я вообще понял что такое<servlet-name> был для (действительно не был смущен об этой части), но "канонический" Слово, чтобы описать это.

Я полагаю, что он в основном используется консолью веб-управления J2EE, при отображении статистики и т. Д.

<display-name> элемент является дочерним элементом<servlet>, Это элементы, используемые в файлах дескриптора развертывания web.xml.<display-name> является необязательным и позволяет связать короткое имя с сервлетом, которое потенциально может быть прочитано инструментами графического интерфейса (такими как веб-браузер), чтобы буквально отображать имя сервлета клиенту, если это требуется. Однако на практике он почти никогда не используется, поэтому его можно игнорировать.

servlet-name используется для ссылки на сервлет в других тегах (например,servlet-mapping). Это можно рассматривать как «внутреннее имя» сервлета.display-name это «внешнее имя» сервлета - это то, что должно отображаться на консолях управления контейнерами сервлета. Обычно веб-приложения управляются как единое целое - они развернуты / развернуты / перезапущены / и т. Д. в целом, не управление отдельными сервлетами - так что нет места, где вы бы обычно использовали это отображаемое имя.

Ваш ответ на вопрос