2010-09-27 12 views
18

El elemento <display-name> parece ser un subelemento válido del elemento <servlet> según el Servlet 2.5 deployment descriptor XSD. Es decir, de acuerdo con validador XML de Eclipse, esto:¿Para qué sirve el "nombre de visualización" de un servlet?

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

es una válida servlet-mapping, si bien esto:

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

no es (lo que parece bastante razonable).

¿Para qué se utiliza realmente el display-name? No he podido encontrar nada informativo sobre eso.

Respuesta

15

El <servlet-name> es el nombre canónico e interno del servlet y se utiliza como la clave que vincula cosas como url-patterns a servlets. <display-name> es para el uso de herramientas de administración y similares.

Esto quizás tenga más sentido si se tiene en cuenta que el Esquema XML permite múltiples elementos <display-name>, para varios idiomas, p. Ej.

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

(perdón por mi Frenglais)

+1

Mein Servlet

+2

+1 para 'Frenglais' y' canonical'. En general, entendí para qué era '' servlet-name> (realmente no estaba confundido con esa parte), pero "canónico" es la palabra para describirlo. –

5

Creo que es utilizado principalmente por las consolas de administración de Web J2EE, cuando se muestran las estadísticas, etc.

6

El servlet-name se utiliza para referirse al servlet en otras etiquetas (como servlet-mapping). Esto podría considerarse como el "nombre interno" del servlet. El display-name es el "nombre externo" del servlet; es lo que debe aparecer en las consolas de administración de los contenedores de servlets. Por lo general, las aplicaciones web se administran como una unidad: se implementan/anulan/reinician/etc. en su conjunto, no gestiona servlets individuales, por lo que no hay un lugar donde normalmente se vea este nombre para mostrar.

0

El elemento <display-name> es un elemento secundario de <servlet>. Estos son elementos utilizados en los archivos del descriptor de despliegue web.xml. El <display-name> es opcional y permite asociar un nombre corto con el servlet, que las herramientas de la GUI (como un navegador web) pueden leer potencialmente para mostrar literalmente el nombre del servlet al cliente si es necesario. Sin embargo, en la práctica, casi nunca se usa, por lo que puede descartarse de forma segura.