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.
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.(pardon my Frenglais)