2010-09-27 10 views
18

Element <display-name> wydaje się być prawidłowym podelementem elementu <servlet> zgodnie z Servlet 2.5 deployment descriptor XSD. Oznacza to, że zgodnie z Eclipse XML walidator, to:Do czego służy "nazwa wyświetlana" serwletu?

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

servlet-mapping jest prawidłowy, a to:

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

nie jest (co wydaje się dość rozsądne).

Do czego właściwie służy display-name? Nie byłem w stanie wykopać niczego na ten temat.

Odpowiedz

15

<servlet-name> jest kanoniczną, wewnętrzną nazwą serwletu i jest używana jako klucz łączący takie rzeczy, jak wzorce URL do serwletów. <display-name> jest do użytku przez narzędzia administratora i tym podobne.

To może mieć więcej sensu, jeśli wziąć pod uwagę, że schemat XML dopuszcza wiele elementów <display-name> dla różnych języków, np.

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

(pardon my Frenglais)

+1

Mein Servlet

+2

+1 dla 'Frenglais' i' canonical'. Zasadniczo zrozumiałem, do czego służyło "" (naprawdę nie myliłem się z tą częścią), ale "kanoniczne" jest to słowo, aby to opisać. –

5

wierzę, jest używany głównie przez konsole web zarządzania J2EE, podczas wyświetlania statystyk itp

6

servlet-name jest używany w odniesieniu do serwletu w innych tagów (np servlet-mapping). Można to traktować jako "wewnętrzną nazwę" serwletu. display-name jest "zewnętrzną nazwą" serwletu - to powinno pojawić się na konsolach zarządzania kontenerami serwletów. Zwykle aplikacje internetowe są zarządzane jako jednostka - są wdrażane/nie wdrażane/ponownie uruchamiane/itd. jako całość, nie zarządzając poszczególnymi serwletami - więc nie ma miejsca, w którym zazwyczaj używałbyś tej nazwy wyświetlanej.

0

Element <display-name> jest elementem podrzędnym <servlet>. Są to elementy używane w plikach deskryptorów wdrażania web.xml. Opcja <display-name> jest opcjonalna i pozwala na skojarzenie krótkiej nazwy z serwletem, która może być potencjalnie odczytywana przez narzędzia GUI (takie jak przeglądarka internetowa), aby dosłownie wyświetlać nazwę serwletu klientowi, jeśli jest to wymagane. Jednak w praktyce prawie nigdy nie jest używany, więc można go bezpiecznie zlekceważyć.