Подтвердить что ты не робот

Что такое сервлет "display-name"?

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

<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? Я не смог найти что-нибудь информативное.

4b9b3361

Ответ 1

<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)

Ответ 2

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

Ответ 3

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