24

The <display-name> element appears to be a valid sub-element of the <servlet> element as per the Servlet 2.5 deployment descriptor XSD. That is, according to Eclipse's XML validator, this:

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

is a valid servlet-mapping, while this:

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

is not (which seems reasonable enough).

What's the display-name actually used for? I haven't been able to dig up anything informative on it.

BalusC
  • 1,082,665
  • 372
  • 3,610
  • 3,555
Matt Ball
  • 354,903
  • 100
  • 647
  • 710

5 Answers5

20

The <servlet-name> is the canonical, internal name of the servlet, and is used as the key linking things like url-patterns to servlets. <display-name> is for use by admin tools and the like.

This perhaps makes more sense when you consider that the XML Schema permits multiple <display-name> elements, for various languages, e.g.

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

Boris Schegolev
  • 3,601
  • 5
  • 21
  • 34
skaffman
  • 398,947
  • 96
  • 818
  • 769
7

The servlet-name is used to refer to the servlet in other tags (like servlet-mapping). This could be thought of as the "internal name" of the servlet. The display-name is the "external name" of the servlet - it's what should show up on a management consoles of servlet containers. Usually, web apps are managed as a unit - they are deployed/undeployed/restarted/etc. as a whole, not managing individual servlets - so there's not a place where you would usually see this display name used.

Nate
  • 16,748
  • 5
  • 45
  • 59
5

I believe it's used primarily by J2EE web-management consoles, when displaying statistics, etc.

bosmacs
  • 7,341
  • 4
  • 31
  • 31
1

The <display-name> element is a child element of <servlet>. These are elements used within web.xml deployment descriptor files. The <display-name> is optional and allows for a short name to be associated with the servlet which can be potentially read by GUI tools (such as a web browser) to literally display the name of the servlet to the client if that is required. However, in practice, it is almost never used so can be safely disregarded.

IqbalHamid
  • 2,324
  • 1
  • 18
  • 24